diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..3bd7d56 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,20 @@ +Copyright: + Most code is: + Copyright (c) 1995-2007, Hewlett-Packard Development Company, L.P. + + fake-xterm is: + Copyright (c) 2003, Matthew Chapman and Ian Wienand + +Ski Contributors: + Michael Morrell -- original author + Stephane Eranian -- corrections and cleanup + Dan Magenheimer -- corrections and cleanup + David Mosberger -- majority of changes for ia64 + Laurent Morichetti -- corrections and cleanup + Al Stone -- Debian packaging + Peter Chubb -- all sorts of contributions + +Fake-xterm: + Original idea by Matthew Chapman + Implementation by Ian Wienand + diff --git a/BUGS b/BUGS new file mode 100644 index 0000000..87dd1fa --- /dev/null +++ b/BUGS @@ -0,0 +1,8 @@ +BUGS: +----- + +Open +---- +20050223-00: running "hello, world", I get an unexpected report of -- + doSyscall: unimplemented system call 1236 + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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) + + 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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) year 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 Lesser General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..277402f --- /dev/null +++ b/ChangeLog @@ -0,0 +1,738 @@ +2007-08-12 Al Stone + + * Incorporated several changes from Peter Chubb that allow the + package to compile properly. + * src/memory.c: trivial patch to silence output about unaligned + copies (David Mosberger) + * release 1.1.3-gplv2 to SourceForge + +2007-04-19 Al Stone + + * many files: cleaned up source in order to open up the code. + * many files: stopped building nasty old X11 bits that didn't work, + leaving ncurses interface only. Dependency on Motif was no longer + tenable. All the code is still there, just disabled. + * many files: incorporated all known patches (about 99.9% of which + are from Dan Magenheimer). + * configure.ac: set default PAGER to less, as it is the only one + that seems to work properly with Ski. + +2004-11-15 David Mosberger + + Based on patch Konstantin Belochapka: + * src/linux/syscall-linux.c (slave): Change to char *. + (SLAVE_ID): Delete. + (getPty): Use getpt()/grantpt()/unlockpt() API instead of open + code. + (initConsole): Pass last two characters of slave tty-name to + xterm. This may be wrong, but xterm doesn't seem to care about + the pty-name much. The important part is the file-descriptor + number and that we get right. + +2004-05-07 David Mosberger + + * src/ui.c (regwtbl): Change height of System Registers info from + 43 to 64 lines. (srLine): Adapt to make room for 64 PMC and PMD + registers (man, this code is in need of a rewrite!!). + + * src/ssDSym.c: Add include of "state.h" so we get NPMS defined. + (isymInit): For PMCs/PMDs, call isymIns2() with -NPMS instead of + -16. + + * src/libcore.h (NPMS): Increase from 16 to 64 so we get 64 PMCs + and PMDs (like on Montecito). + + * src/state.h (NPMS): Likewise. + +2004-05-07 David Mosberger + + * src/state.c: Change family from 7 (Merced) to 0x1f + (McKinley/Madison). + +2004-05-07 David Mosberger + + * src/write.c (cfmWrt): Restore the original value of "sof" before + calling rse_new_frame(). That call may longjmp() if a data-debug + breakpoint is hit and when that happens, the simulator state must + be consistent. Once rse_new_frame() returns successfully, + re-establish the new "sof" value. + +2004-01-22 David Mosberger + + * src/tlb.h (DBGREGS): Define to enable debug registers support. + + * src/ssDSym.c (isymInit): Define ar.csd as an ia64 register + instead of an ia32 register. + + * src/main.c (main): Allow environment variable SKI_PAGE_SIZE to + override simulated page-size. This is a bit of a kludge to work + around the data-breakpoint limit, which are limited to covering + a single (simulated) page. + + * configure.ac: Check for XtRealloc instead of XtMalloc. + (CFLAGS): Compiled with -fno-strict-aliasing to avoid + potential bad code (Ski isn't strict-aliasing safe). + +2003-12-10 David Mosberger + + * src/ssDBT.c (struct dbpt): Add members "loaded" and "padr". + (ibptLoad): Make it return the number of to-be-loaded breakpoints. + (dbptDisplay): Re-enable to print P for physical, V for virtual + data-breakpoints. + (dbptSet): Don't allow data-breakpoints to cross a page-boundary. + Set "realmode" based on PSR.dt and clear "loaded" member. If + anything goes wrong once breakpoint is allocated, branch to "fail" + label and clear the "inuse" flag. + (dbptDelete): In addition to "inuse" flag, also clear + dbpts[b].loaded flag. + + * src/tlb.h (dbptLookup): Declare. + + * src/tlb.c (dbptLookup): New function. + +2003-12-08 David Mosberger + + * src/ssDBT.c (ibptLoad): Avoid infinite recursion that could + occur when ibptLoad() got invoked via tlbInsert() and the + memMIRd() call caused a TLB translation to be inserted from the + VHPT, which would then cause the recursive call to tlbInsert(). + The solution is to clear numBptsToLoad at the beginning and then + to count the number of failed memMIRd()s in a local variable, + which get stored to the global numBptsToLoad only at the end. + Besides avoiding infinite recursion, this also should correct the + counting of the number of pending breakpoints. + + * src/ssDDM.c (get_dyn_info_list_addr): Update call to + _Uia64_find_dyn_list() to match API change introduced + by libunwind v0.95. + +2003-07-08 David Mosberger + + * src/ssDDM.c (rbs_overflow_area): New variable. + (wrap): New function (copied from exec_hd.c). + (unwind_flush): New function. Flushes dirty partition + to rbs_overflow_area without affecting visible machine state. + (access_mem): Access memory in range [ar.bspstore, ar.bsp) + via rbs_overflow_area. + (cstkDisplay): Call unwind_flush() instead of unwindFlush(). + The latter fails if ar.bspstore is invalid and also needlessly + changes the visibile machine state. + +2003-07-08 David Mosberger + + * src/ssDDM.c (get_unwind_table): Ensure that the unwind table + info spans _all_ text segments. With the Linux kernel, the + unwind table covers both .text and .text.init, so this is + important. Also, fix two minor debug printing issues. + + * src/linux/syscall-linux.c (_FILE_OFFSET_BITS): Define as 64 + to ensure that file system calls use 64-bit file offsets. This + makes it possible to run ski on 32-bit platforms with simulated + disks that are bigger than 2 GBytes. + (_LARGEFILE_SOURCE): Ditto. + +2002-11-19 David Mosberger + + * src/load.c (elf64_symbols): If symbol with same name and value + exists already, don't reinsert it again. Also, do not ignore + symbols of type STT_COMMON and STT_NOTYPE. The latter case is + common because all code labels on ia64 linux have this type + (STT_NOFUNC is not correct here, because STT_NOFUNC has special + significance, according to the ELF System V ABI). + +2003-03-03 David Mosberger + + * src/ui.c (scrnInit): Print an error message when X_INTERFACE is + selected but Motif is not available. + + * configure.ac: When Xm.h exists, autoconf for -lpthread, -lXt, + and -lXp, since -lXm may need those. + +2003-02-27 Laurent Morichetti + + * src/tlb.c: added dtcs_head and itcs_head for the head + of the translation cache linked list. when inserting a new + entry in the translation cache evict the LRU entry instead + of the oldest one. + (searchDTLB) added 2 level cache for fast lookup + (searchITLB) ditto. + + * src/tlb.h: added next field to struct TlbEntry, making + TlbEntry a linklist element. + + * src/sys_exec.c: (rfiEx) should return ST_CHECK if + cfle is set. + + * src/state.c: getIcp now returns an INSTINFO*. + + * src/sim.h: shrunk the size of INSTINFO by removing + redundant/unnecessary fields. added a new status bit (ST_CHECK) + to break the simulator loop. got rid of IC struct. + + * src/sim.c: complete rewrite of iCycleSysLoop. removed NEXT2 + and ADD_CTRS code. lastInstComb is not required anymore. + + * src/read.c: changes to pgrr2,pgrr3,pgrtgt. ct replaces ic. + (callRd) use IPTR instead of retIP + (calliRd) ditto. + + * src/predecode.awk: pgrtgt is now a BYTE containing the + register number + 1 (0 means statictgt is false). Same + for pgrr2 & pgrr3. + + * src/opcode.awk: removed lastInstCombFP. + + * src/libtrace.h: renamed qpred as it conflics with + the extrainfo qpred. + + * src/instinfo.h: qp is now extrainfo[0]. shifted all + other extrainfo fields by one. removed statictgt & retIP + as they are not used anymore. tag13 is now a word starting + at &extrainfo[4]. + + * src/fp_exec.c: ct replaces ic in INSTINFO. + + * src/exec.c: + (brReEx) add ST_CHECK to status if cfle. + (breakEx) propagate ST_CHECK from doSSC to status. + + * src/combfns.awk: Added new Status st variable to allow + comb functions to modify their return status. + +2003-02-25 David Mosberger-Tang + + * src/linux/syscall-linux.c (struct lia64_stat): Change member + prefix from "st_" to "St_". The former is reserved name-space for + and stuff like st_atime may actually be a macro. + (struct lia64_old_stat): Ditto. + + src/ssDDM.c: Also pass global-pointer to _Uia64_find_dyn_list. + +2003-02-20 Laurent Morichetti + + * src/memory.c (Repository): PmemHash optimization to use >> and & + instead of / and % (fix for performance regression). Inline if + possible static pmem_* funcs. + + * src/main.c (Repository): Assert if page_size is not a power of 2 + and compute log2_page_size. + + * src/libcore.h (Repository): Added extern log2_page_size. + + * configure.ac (Repository): Added tests for inline & const keywords. + +2003-02-19 David Mosberger + + * configure.ac: Add AC_DEFINE_UNQUOTED for SKI_RELEASE. + + * Makefile.am (.PHONY): Mention pubdist. + (pubdist): New target to create public binary-only release of ski. + + * src/version.c: Append SKI_RELEASE to version number if it's + defined. + + * src/Makefile.am (ski_LDFLAGS): Use -all-static instead of + -static (libtool seems to need that for producing static + programs). + + * doc/ski.man: New file. This is mostly what Stephane wrote + for the original Ski RPM, updated with the -forcesystem + option. + +2003-02-19 David Mosberger + + * src/Makefile.am (libskiui_la_LIBADD): Move $(DWARF_LIBS) to... + (libski_la_LIBADD): ...here. + +2003-02-14 David Mosberger + + * src/linux/osload-linux.c (os_elf64_abi): Use force_system and + force_user to influence "userland" choice. + + * src/linux/dwarf-linux.c (find_in_section): Initialize last_line + to avoid spurious compiler warning. Ditto for line_len. Replace + test against "true" and "false" (BFD no longer defines these). + + * src/version.c (VERSION): Remove duplicate macro. + + * src/ui.c (productInfo): Print slightly different info + for public version (!HP_INTERNAL). + + * src/ssDDM.c: Include "config.h". + (HAVE_UNWIND_SUPPORT): Define if HAVE_LIBUNWIND_IA64 is defined. + Rename HAVE_LIBUNWIND to HAVE_LIBUNWIND_IA64. + (acquire_unwind_info): Remove. + (get_unwind_table): New function. + (get_unwind_info): Ditto. + (put_unwind_info): Ditto. + (get_dyn_info_list_addr): Ditto. + (find_proc_info): Ditto. + (ia64_rse_skip_regs): Ditto. + (access_mem): Adjust for updated libunwind API. + (access_reg): Ditto. + (access_fpreg): Ditto. + (cstkDisplay): Ditto. + + * src/main.c: Declare "force_system". + (argsInit): Handle "-forcesystem". + + * src/load.c (force_system): New variable. + (elfSymLoad): Initialize unwind_base to zero to avoid spurious + compiler warning. Remove debug printf(). + (elfLoad): When encountering PT_INTERP, check "abi", not + unixABI. + + * configure.ac: Check for libunwind-ia64 via AC_CHECK_LIB. + Look for -lbfd and -liberty instead of -lbfd-ia64 and + -liberty-ia64. + +2002-12-11 Laurent Morichetti + + * (Repository): Moved os specific files to subdirectories. + +2002-06-06 Laurent Morichetti + + * src/main.c (Repository): Moved command line options functions. + + * src/exportui.h (Repository): Moved command line options functions. + + * src/ski.c (Repository): Moved command line options functions. + + * src/memory.c (Repository): segfaults if we try to map page 0. + + * src/sim.c (Repository): instDecode should return NO if the specified + the given address is invalid and YES if it succeeds. During state + reset, also invalidates the instruction cache tags. + + * src/std.h (Repository): Added endianness warning. + + * src/state.c (Repository): Added frSet & frGet. + + * src/libcore.h (Repository): Added frSet & frGet. + + * ski.spec.in (Repository): Back to sub-release 1. + + * configure.ac (Repository): Increased release number. + +2002-05-30 Laurent Morichetti + + * configure.ac (Repository): Only build ilp32 on HPUX/IPF. + + * src/ssX.c (Repository): Enabled to repeat previous command. + + * src/Makefile.am (Repository): Export libui. + + * ski.spec.in (Repository): Added support for bfd. + + * ski-config.in (Repository): Added --ldflags. + + * XSki.linux (Repository): Added BackSpace binding & default + background color to gray. + +2002-05-24 Laurent Morichetti + + * src/decoder/instID.awk (Repository): Do not use 'short enum' when + using ICC. + + * src/bits.h (Repository): Only use bad_bitfx.. when compiling + with GNUC. (ICC gets unsats). + + * src/make_asm (Repository): const on return type is meaningless. + + * src/asm.h (Repository): const on return type is meaningless. + + * configure.ac (Repository): Do not build shared library by default. + To enable shared library add --enable-shared to the configure flags. + + * ski.spec.in (Repository): Added --enable-shared to build the shared + library. + + * src/tlb.c (Repository): Warning fixes for ICC. + + * src/ia_exec.c (Repository): Warning fixes for ICC. + + * src/syscall-linux.c (Repository): Warning fixes for ICC. + +2002-05-23 Laurent Morichetti + + * src/memory.c (Repository): Added inlined assembly for LDCWS for gcc. + + * src/load.c (Repository): lp64 and unixABI should not be static + as they are declared extern in the headers. + + * src/eparse.y (Repository): Changed the type of str to char* to + incompatible type assignment warnings. + + * src/bits.h (Repository): On HPUX, HP cc warns about shifts + exeeding 31 bits (for vars <= int in size). BitfX8, BitfX16, + BitfX32 and BitfX64 should now be used instead of the generic BitfX. + To limitate the number of changes in the code BitfX will map + to BitfX64. + + * macros/Makefile.am (Repository): Added compilers.m4. + + * macros/compilers.m4 (Repository): Support to automatically detect + HP cc and Intel icc compilers. We can now set compiler specific + CFLAGS by testing the value of HPCC or ICC against "yes". + + * ski.spec.in (Repository): Ifdefs linux specific commands. + + * Makefile.am (Repository): cleandist should remove XSki. Do not + move the generated rpms as we do not know for sure the name of + the build architecture (e.g. for hppa2.0w build arch name is hppa1.1) + + * src/decoder/instID.awk (Repository): The type short should be + omitted for gcc (not just linux). + + * src/syscall.c (Repository): Changed generic BitfX macro to the one + specialized on the type. Fixed some pointer to int conversion + warnings. + + * src/decoder/_decoder.h (Repository): The size of InstID should be + 16 bit to match exactly with unsigned short opIndex. + + * src/float.h (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/float.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/exec_hd.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/ui.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/tlb.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/read.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + + * src/mm_exec.c (Repository): Changed generic BitfX macro to the one + specialized on the type. + +2002-05-23 Laurent Morichetti + + * src/decoder/instID.awk (Repository): HPUX build fixes. + + * src/syscall.c (Repository): HPUX build fixes. + + * src/ssDDM.c (Repository): HPUX build fixes. + + * src/ssDBT.c (Repository): HPUX build fixes. + + * src/main.c (Repository): HPUX build fixes. + + * src/load.c (Repository): HPUX build fixes. + + * src/cur.c (Repository): HPUX build fixes. + + * src/dwarf-linux.c (Repository): getSrcLines when bfd is not + available should always set *count to 0. + + * src/make_asm (Repository): Added a test for gperf. + + * src/bits.h (Repository): Now that we are using BitfX for most + field operations, the macro that tests the size of the data is + required. + + * configure.ac (Repository): Bug fixes and added AC_PROG_LN_S, + AC_FUNC_ALLOCA and AC_CHECK_PROG for gperf (required to build ski). + +2002-05-22 Laurent Morichetti + + * all: Merged with ski v0.977. Added autoconf/automake/libtool. + +2002-02-27 David Mosberger + + * syscall-linux.c (doSyscall.getresgid): Copy host gids to lia64 + gids before copying them to user-space. + (doSyscall.getresuid): Ditto for uids. + + * ssDDM.c [HAVE_LIBUNWIND]: Move from here... + * GNUmakefile (CPPFLAGS): ...to here. + + * load.c (mmapSyms): Also register symbols found in dynamic symbol + table sections. + +2002-02-26 David Mosberger + + * syscall-linux.c (offsetof): New macro. + (dirent_name_off): Ditto. + (dirent64_name_off): Ditto. + (getdents): Replace _syscall3() macro with a call to syscall(). + (getdents64): Ditto. + (doSyscall.getdents): Instead of hardcoding dirent-size difference, + calculate it as 18 (IA-64 Linux size) minus the host-size. + (doSyscall.getdents64): Ditto. + + * version.c (VERSION): Increase version number to 0.943l2. + + * load.c (mmapSyms): Call addLM(). + (interp): Ditto. + (elfSymLoad): Ditto. + (elfLoad): Ditto. + + * ssDDM.c [__linux__]: Define HAVE_LIBUNWIND. + [HAVE_LIBUNWIND]: Include . + (struct load_module): New type to track loaded modules. + (addLM): New function for libunwind support. + (acquire_unwind_info): Ditto. + (ia64_rse_slot_num): Ditto. + (ia64_rse_num_regs): Ditto. + (access_mem): Ditto. + (access_reg): Ditto. + (access_fpreg): Ditto. + (cstkDisplay): Ditto. + + * main.c (main): Initialize page_size and page_mask. + + * load.c (segload): Round length according to host's page size. + (elfLoad): Set AT_PAGESZ to host's pagesize. + + * libcore.h (page_size): New variable to hold the host's page size. + (page_mask): New variable. + + * dwarf-linux.c (initDwUnitTbl): Fix comment. + +2001-05-08 David Mosberger + + * syscall-linux.c (get_unmapped_area): Use memIsMapped() instead + of dummy memMRd1(). + (doSyscall): Ditto. + + * memory.h: (memIsMapped): Declare. + * memory.c (memIsMapped): New function. + +2001-03-08 David Mosberger + + * Released version 0.943l0. + + * syscall-linux.c (doSyscall): Handle SHM_LOCK and SHM_UNLOCK + commands for LIA64_shmctl. + (doSyscall): Handle GETALL, SETALL, GETVAL, GETPID, GETNCNT, and + SETVAL commands for LIA64_semctl. + +2001-03-07 David Mosberger + + * syscall-linux.c (doSyscall): Unmap any old mappings for mmap() + with the MAP_FIXED flag set. + (doSyscall): For LIA64_mmap, preserve file pointer around call to + mmapSyms(). + +2001-02-17 David Mosberger + + * ssDBT.c (ibptLoad): Use itlbMLookup() instead of itlbLookup(). + This fixes a bug where Ski failed to remove some instruction + breakpoints upon hitting that breakpoint. + +2001-02-16 David Mosberger + + * XSki.Linux: Rename to . With this, + it's possible to resize the height of the various windows. + Add "defaultVirtualBindings". This FINALLY gets "Page Down" etc. + to work in the various windows. + +2001-02-15 root + + * syscall-linux.c (doSyscall): When execve()ing an IA-64 program, + do so via bskinc instead of "bski -noconsole". + +2001-02-14 David Mosberger + + * main.c (main): Check for program name "bskinc" and, if so, + turn on force_user and noConsole. We used to do this via + a script, but that doesn't work because it doesn't preserve + the argv vector (e.g., try "make menuconfig"). + + * syscall-linux.c (doSyscall): Do proper emulation of getdents64() + by falling back on stat(). Slow, but better to be slow and + accurate than fast and wrong. + (doSyscall): Make sysctl() fail silently. + + * load.c (elfLoad): Also allow ET_DYN as an executable file + (under Linux at least, /lib/ld-linux-ia64.so.2 is executable and + used by ldd). + + * dwarf-linux.c (load_symbols): Don't fatal_error() if file + doesn't have symbols. + + * syscall-linux.c (doSyscall): Fake v2.4.0 for uname(). glibc-2.2 + otherwise refuses to work (see + sysdeps/unix/sysv/linux/dl-osinfo.h). + + * load.c (LINUX_ULD_TADDR): New macro. + (interp): Set uld_taddr to LINUX_ULD_TADDR if linuxABI is in + effect. + + * syscall-linux.c (doSyscall): Replace LIA64_getpagesize by 1171 + as the former is a system call that is deprecated. + (doSyscall): Rename LIA64_stat to LIA64_old_stat, LIA64_lstat to + LIA64_old_lstat, and LIA64_fstat to LIA64_old_fstat. + (old_stat_host2lia64): Rename from stat_host2lia64. + (struct lia64_old_stat): Rename from lia64_stat. + (struct lia64_stat): New structure. + (stat_host2lia64): New function. + (doSyscall): Implement new versions of LIA64_stat, LIA64_lstat, + and LIA64_fstat. + (doSyscall): Treat clone2() same way as clone(): ordinary fork() + or vfork() is supported, anything else fails. + (doSyscall): Implement getdents64(). The d_type field is always + set to DT_UNKNOWN for now (see linux/include/fs.h). Once + getdents64() is supported on most hosts, we can fix this. + (doSyscall): Mention LIA64_pivot_root, LIA64_mincore, and + LIA64_madvise, but treat them as unimplemented system calls for + now. + + * syscall-linux.h: Update based on latest version. + + * syscall-linux.c (doSyscall): Remove ioperm() support; IA-64 + programs implement this at the user level. + +2001-02-13 David Mosberger + + * load.c (elfLoad): Define AT_PAGESZ unconditionally. Add + AT_CLKTCK. If libc doesn't define AT_CLKTCK, define it here as 17 + (we can get rid of this once glibc-2.2 with kernel v2.4 is + widespread enough). + + * Sync up with Mike's v0.943. + +2000-12-21 David Mosberger + + * data.c: Print ASCII data in correct order for little-endian + machines. + + * version.c (VERSION): Change version to 0.873l4beta2. + +2000-09-13 David Mosberger + + * syscall-linux.c (LIA64_shmat): If shmid is not a known shmseg + id, try to look up the segment's size via shmctl() and if that + succeeds, create a new shmseg descriptor. This should make it + possible to inherit shmids between processes. + (shmseg_new): Return pointer to newly created shmseg descriptor. + +2000-09-12 David Mosberger + + * sim.c (preInstStuff): Update icp by calling setIcp() after + creating a signal handler frame (signal_invoke_handler()) or + returning from one (signal_return()). + (iCycleAppLoop): Check for NULL icp before doing operations that + depend on non-NULL value. + +2000-09-11 David Mosberger + + * syscall-linux.c (signal_invoke_handler): Clear "info" before + using it to avoid random pointers being used by the combfns + routines. Force update of cached instruction pointer by clearing + icp to NULL. Can't do setIcp() here because in the case of + getting a signal while in sigsuspend(), icp will get updated in + the return path from the break system call emulation. + (signal_return): Ditto. Don't set icp here, do it in sim.c instead. + +2000-07-28 David Mosberger + + * Released version 0.873l3. + +2000-07-24 David Mosberger + + * syscall-linux.c (LIA64_shmget): If we didn't create the shared + memory segment, obtain the segment size via shmctl(IPC_STAT) and + ignore the size that was passed in on entry (the shmget() call + already verifies that arg1 <= segment size). + +2000-07-13 David Mosberger + + * syscall-linux.c (struct shmseg): New structure. + (shmseg_list): New global variable to track list of + attached shared memory segments. + (cmsg_host2lia64): Remove unused variable "lia64_fd". + (shmseg_new): New function. + (shmseg_lookup_id): Ditto. + (shmseg_lookup_addr): Ditto. + (shmseg_free): Ditto. + (LIA64_semctl): Implement IPC_RMID (only). + (LIA64_msgctl): Ditto. + (LIA64_shmctl): Ditto. + (LIA64_shmget): Fix emulation. + (LIA64_shmat): Ditto. + (LIA64_shmdt): Ditto. + +2000-07-06 David Mosberger + + * memory.h (swapd): Make it host byte-order dependent. This fixes + a bug reported by Hiroshi Furukawa. + +2000-06-09 David Mosberger + + * memory.c (memXchgAdd): Handle access to unallocated page by + calling unallocPageRd() and unallocPageWrt(). + (memXchgCond): Ditto. + +2000-06-06 David Mosberger + + * sim.c (iCycleSysLoop): Add back check & support for taken-branch + and single-step faults. + +2000-05-29 David Mosberger + + * syscall-linux.c (doSyscall): Fix typo in readlink emulation: + first argument to readlink must be buf, not malargbuf. + +2000-05-15 David Mosberger + + * Released version 0.873l2. + + * syscall-linux.c (doSyscall): Fix getsockopt call. arg4 is a + _pointer_ to an int (socklen_t to be precise), not an int. Also, + fix size checking logic and use malargbuf/ENSURE_SIZE instead of + the fixed size buffer (BUF). Also fix setsockopt to use + malargbuf/ENSURE_SIZE. + +2000-05-11 David Mosberger + + * syscall-linux.c (doSSC): Handle SSC_STOP. + * ssc.h (SSC_STOP): Ditto. + +2000-04-28 David Mosberger + + * syscall-linux.c (initConsole): Fix error message ("to" was + missing in "Unable to create console window"). + +2000-04-27 David Mosberger + + * dwarf-linux.c (load_symbols): Don't fail if symbol count is + zero. Stripped binaries are quite fine. + + * load.c: Include "exportui.h" and "coreui.h". + (elfSymLoad): Call initDwUnitTBL only if not running in batch mode. + (elfLoad): Ditto. + +2000-04-13 David Mosberger + + * syscall-linux.c (doSyscall): Fix truncate and ftruncate: LENGTH + argument is arg1, not arg2! (Fixes emacs crash during undump.) + Fixed bind, connect, accept, getsockname, sendto, recvfrom to let + them handle arbitrary-sized socket addresses (fixes bug reported + by Zeus). + +1999-04-05 David Mosberger + + * GNUmakefile (CFLAGS): Remove bogus warning about getting bad + code with -O on x86. + +1999-04-30 Stephane Eranian + + * Incorporated the network support into ski + + * modified syscall-linux.c to support networking in both + user/kernel modes + + * syscall-linux.c: fix a bug in readConsole + +1999-02-04 David Mosberger + + * syscall-linux.c: Remove __NR_time (use __NR_gettimeofday instead). + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..297948a --- /dev/null +++ b/INSTALL @@ -0,0 +1,53 @@ +Simple install procedure +======================== + + % gzip -cd ski-1.1.1.tar.gz | tar xvf - # unpack the sources + % cd ski-1.1.1 # change to the toplevel directory + % ./configure # run the `configure' script + % make # build + + [ Become root if necessary ] + % make install # install + +The Nitty-Gritty +================ + +The 'configure' script can be given a number of options to enable +and disable various features. For a complete list, type: + + ./configure --help + +A few of the more important ones: + +* --prefix=PREFIX install architecture-independent files in PREFIX + [ Defaults to /usr/local ] + +* --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [ Defaults to the value given to --prefix ] + +Options can be given to the compiler and linker by setting +environment variables before running configure. A few of the more +important ones: + + CC : The C compiler to use + CPPFLAGS : Flags for the C preprocesser such as -I and -D + CFLAGS : C compiler flags + +The most important use of this is to set the +optimization/debugging flags. For instance, to compile with no +debugging information at all, run configure as: + + CFLAGS=-O2 ./configure # Bourne compatible shells (sh/bash/zsh) + +or, + + setenv CFLAGS -O2 ; ./configure # csh and variants + + +Installation directories +======================== + +The location of the installed files is determined by the --prefix +and --exec-prefix options given to configure. There are also more +detailed flags to control individual directories. However, the +use of these flags is not tested. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7220330 --- /dev/null +++ b/Makefile @@ -0,0 +1,776 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/ski-config.in $(srcdir)/ski.spec.in \ + $(top_srcdir)/configure $(top_srcdir)/src/missing/ski_elf.h \ + AUTHORS COPYING ChangeLog INSTALL NEWS TODO config.guess \ + config.sub depcomp install-sh ltmain.sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ski.spec ski-config +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultsdir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +appdefaultsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appdefaults_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS = libltdl macros src doc testsuite +appdefaultsdir = $(libdir)/X11/app-defaults +appdefaults_DATA = XSki +bin_SCRIPTS = ski-config +BUILT_SOURCES = ski-config +EXTRA_DIST = ski.spec.in XSki.freebsd XSki.hpux XSki.linux +all: $(BUILT_SOURCES) config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ski.spec: $(top_builddir)/config.status $(srcdir)/ski.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ski-config: $(top_builddir)/config.status $(srcdir)/ski-config.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-appdefaultsDATA: $(appdefaults_DATA) + @$(NORMAL_INSTALL) + test -z "$(appdefaultsdir)" || $(mkdir_p) "$(DESTDIR)$(appdefaultsdir)" + @list='$(appdefaults_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(appdefaultsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appdefaultsdir)/$$f'"; \ + $(appdefaultsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appdefaultsdir)/$$f"; \ + done + +uninstall-appdefaultsDATA: + @$(NORMAL_UNINSTALL) + @list='$(appdefaults_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appdefaultsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(appdefaultsdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/. $(distdir)/macros $(distdir)/src/missing + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(SCRIPTS) $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultsdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-appdefaultsDATA + +install-exec-am: install-binSCRIPTS + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-appdefaultsDATA uninstall-binSCRIPTS \ + uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-appdefaultsDATA install-binSCRIPTS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-appdefaultsDATA uninstall-binSCRIPTS \ + uninstall-info-am + + +XSki: + @$(LN_S) $(srcdir)/XSki.$(HOST_OS) $@ + +.PHONY: files release sanity snapshot pubdist + +glib-config: glib-config.in + +files: + @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \ + echo $$p; \ + done + +release: + $(MAKE) distcheck + +snapshot: + $(MAKE) dist distdir=$(PACKAGE)-`date +"%Y%m%d"` + +distclean-hook: + rm -f XSki + +dist-hook: ski.spec + cp ski.spec $(distdir) + +rpm: $(PACKAGE).spec dist + build_dir=`cd .; pwd` ; \ + rpm --define "_topdir $$build_dir" --define "_sourcedir $$build_dir" \ + --define "_srcrpmdir $$build_dir" --define "_builddir $$build_dir" \ + --define "_rpmdir $$build_dir" --define "_target_cpu i686" \ + -ba --clean $(PACKAGE).spec + +pubdist: src/ski + mkdir -p usr/bin usr/man/man1 usr/X11R6/lib/X11/app-defaults; \ + cp ../../XSki usr/X11R6/lib/X11/app-defaults; \ + ln -s ski.1 usr/man/man1/xski.1; \ + ln -s ski.1 usr/man/man1/bskinc.1; \ + objcopy --strip-all ../../src/ski usr/bin/ski; \ + ln -s ski usr/bin/xski; \ + ln -s ski usr/bin/bski; \ + ln -s ski usr/bin/bskinc; \ + cd ..; \ + tar czf \ + ../$(PACKAGE)-$(SKI_VERSION)-$(SKI_RELEASE)-`uname -m`.tar.gz . +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..c0958e9 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,75 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + +SUBDIRS=libltdl macros src doc testsuite + +appdefaultsdir=$(libdir)/X11/app-defaults +appdefaults_DATA=XSki + +bin_SCRIPTS=ski-config + +BUILT_SOURCES=ski-config + +EXTRA_DIST=ski.spec.in XSki.freebsd XSki.hpux XSki.linux + +XSki: + @$(LN_S) $(srcdir)/XSki.$(HOST_OS) $@ + +.PHONY: files release sanity snapshot pubdist + +glib-config: glib-config.in + +files: + @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \ + echo $$p; \ + done + +release: + $(MAKE) distcheck + +snapshot: + $(MAKE) dist distdir=$(PACKAGE)-`date +"%Y%m%d"` + +distclean-hook: + rm -f XSki + +dist-hook: ski.spec + cp ski.spec $(distdir) + +rpm: $(PACKAGE).spec dist + build_dir=`cd .; pwd` ; \ + rpm --define "_topdir $$build_dir" --define "_sourcedir $$build_dir" \ + --define "_srcrpmdir $$build_dir" --define "_builddir $$build_dir" \ + --define "_rpmdir $$build_dir" --define "_target_cpu @host_cpu@" \ + -ba --clean $(PACKAGE).spec + +pubdist: src/ski + mkdir -p usr/bin usr/man/man1 usr/X11R6/lib/X11/app-defaults; \ + cp ../../XSki usr/X11R6/lib/X11/app-defaults; \ + ln -s ski.1 usr/man/man1/xski.1; \ + ln -s ski.1 usr/man/man1/bskinc.1; \ + objcopy --strip-all ../../src/ski usr/bin/ski; \ + ln -s ski usr/bin/xski; \ + ln -s ski usr/bin/bski; \ + ln -s ski usr/bin/bskinc; \ + cd ..; \ + tar czf \ + ../$(PACKAGE)-$(SKI_VERSION)-$(SKI_RELEASE)-`uname -m`.tar.gz . diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..9ea01bd --- /dev/null +++ b/Makefile.in @@ -0,0 +1,776 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/ski-config.in $(srcdir)/ski.spec.in \ + $(top_srcdir)/configure $(top_srcdir)/src/missing/ski_elf.h \ + AUTHORS COPYING ChangeLog INSTALL NEWS TODO config.guess \ + config.sub depcomp install-sh ltmain.sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ski.spec ski-config +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultsdir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +appdefaultsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appdefaults_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = libltdl macros src doc testsuite +appdefaultsdir = $(libdir)/X11/app-defaults +appdefaults_DATA = XSki +bin_SCRIPTS = ski-config +BUILT_SOURCES = ski-config +EXTRA_DIST = ski.spec.in XSki.freebsd XSki.hpux XSki.linux +all: $(BUILT_SOURCES) config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ski.spec: $(top_builddir)/config.status $(srcdir)/ski.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ski-config: $(top_builddir)/config.status $(srcdir)/ski-config.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-appdefaultsDATA: $(appdefaults_DATA) + @$(NORMAL_INSTALL) + test -z "$(appdefaultsdir)" || $(mkdir_p) "$(DESTDIR)$(appdefaultsdir)" + @list='$(appdefaults_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(appdefaultsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appdefaultsdir)/$$f'"; \ + $(appdefaultsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appdefaultsdir)/$$f"; \ + done + +uninstall-appdefaultsDATA: + @$(NORMAL_UNINSTALL) + @list='$(appdefaults_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appdefaultsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(appdefaultsdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/. $(distdir)/macros $(distdir)/src/missing + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(SCRIPTS) $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultsdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-appdefaultsDATA + +install-exec-am: install-binSCRIPTS + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-appdefaultsDATA uninstall-binSCRIPTS \ + uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-appdefaultsDATA install-binSCRIPTS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-appdefaultsDATA uninstall-binSCRIPTS \ + uninstall-info-am + + +XSki: + @$(LN_S) $(srcdir)/XSki.$(HOST_OS) $@ + +.PHONY: files release sanity snapshot pubdist + +glib-config: glib-config.in + +files: + @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \ + echo $$p; \ + done + +release: + $(MAKE) distcheck + +snapshot: + $(MAKE) dist distdir=$(PACKAGE)-`date +"%Y%m%d"` + +distclean-hook: + rm -f XSki + +dist-hook: ski.spec + cp ski.spec $(distdir) + +rpm: $(PACKAGE).spec dist + build_dir=`cd .; pwd` ; \ + rpm --define "_topdir $$build_dir" --define "_sourcedir $$build_dir" \ + --define "_srcrpmdir $$build_dir" --define "_builddir $$build_dir" \ + --define "_rpmdir $$build_dir" --define "_target_cpu @host_cpu@" \ + -ba --clean $(PACKAGE).spec + +pubdist: src/ski + mkdir -p usr/bin usr/man/man1 usr/X11R6/lib/X11/app-defaults; \ + cp ../../XSki usr/X11R6/lib/X11/app-defaults; \ + ln -s ski.1 usr/man/man1/xski.1; \ + ln -s ski.1 usr/man/man1/bskinc.1; \ + objcopy --strip-all ../../src/ski usr/bin/ski; \ + ln -s ski usr/bin/xski; \ + ln -s ski usr/bin/bski; \ + ln -s ski usr/bin/bskinc; \ + cd ..; \ + tar czf \ + ../$(PACKAGE)-$(SKI_VERSION)-$(SKI_RELEASE)-`uname -m`.tar.gz . +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..6c5ac04 --- /dev/null +++ b/NEWS @@ -0,0 +1,94 @@ +* What's New with Ski 1.1.0 + +** Version numbers have been changed to reflect the old Linux +kernel practice -- x.y.z, where 'x' is major changes, 'y' is +even for stable versions, odd for development/unstable versions, +and 'z' is a patch level. There will also be x.y.z-d numbers +here and there, for example on the Debian packages; when 'd' +changes, there's been a change to the way ski is packaged, but +not how it functions. + +** Ski has been updated for the latest IA-64 architecture revision +(SDM 2.2). + +* What's New With Ski v0.9.81-1 + +** Ski has been updated for the latest IA-64 architecture +revision (SDM v2.1). In particular, support for the 16-byte atomic +operations has been added. + +** The cstack command now works and displays a backtrace of the current +call-stack. + +** Ski now additionally picks up symbol information from the dynamic +symbol table section, if it exists. + +** The auto-detection of user- vs. system-mode should now be +more reliable. If a program is linked for region 0 (as is the case +for the Linux bootloader, for example), system-mode is assumed +by default. Auto-detection can be overridden with command line +options -forceuser and -forcesystem. + +** The Linux version of the X11 app-defaults file (XSki) has been +updated to add a binding for the backspace key and to default +the background color to gray. + +** An IA-64 binary of Ski is now available + +* What's New With Ski v0.9.77-1 + +** Merged ski v0943l3 from David Mosberger with +ski 0.977. Added new autoconf/automake build environment. + +* What's New With Ski v0.943l2 + +** The "cstack" command is now fully supported and can be used to +show a backtrace. + +** Ski now reads the dynamic symbol section of shared libraries. This +simplifies the debugging of stripped shared libraries, such as glibc, +because the symbolic names for all entry points will be available. + +** Ski has been ported to IA-64. The system call emulation support is +still somewhat preliminary, but already good enough for a wide variety +of applications. Kernel simulation should work as well as on any other +platform. + +* What's New With Ski v0.943l0 + +** The shmctl() system call now implements SHM_LOCK and SHM_UNLOCK and +semctl() now implements GETALL, SETALL, GETVAL, GETPID, GETNCNT, and +SETVAL in addition to the previously supported commands. + +** The X windows accelerator keys now work under Linux. Specifically, +"Page Up", "Page Down", "Down" and "Up" can be used to scroll around +in the various Ski windows when running under X11. + +** The curses interface no longer has the cursor positioning problems +that used to show after commands such as "pf". This problem was due +to a bug in the Linux ncurses library which has been fixed in +ncurses-5.1. + +** Ski is now compatible with the latest stable GNU toolchain (aka, +"Nov 17, 2000" snapshot) and with glibc-2.2. In particular, Ski now +passes the AT_PAGESZ and AT_CLKTCK auxiliary tags required by +applications linked against glibc-2.2. + +** A bug has been fixed in Ski which prevented the kernel "make menuconfig" +from working. + +** The system call emulation in Ski has been brought in sync with +Linux v2.4.1. In particular, Ski now implements the new versions of +stat(), fstat(), lstat() and getdents(). The system calls +pivot_root(), mincore(), and madvise() are not supported under Ski +(they will result in a warning message of the form "unimplemented +system call"). + +** The Ski simulator has been updated to v0.943 which contains various +bug fixes. + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: diff --git a/README b/README new file mode 100644 index 0000000..a292a07 --- /dev/null +++ b/README @@ -0,0 +1,13 @@ +General Information +=================== + +This is ski version 1.1.1 + +The official Ski web site is: + http://ski.sourceforge.net + + +Installation +============ + +See the file 'INSTALL' diff --git a/TODO b/TODO new file mode 100644 index 0000000..3532d35 --- /dev/null +++ b/TODO @@ -0,0 +1,49 @@ +TODO: + +-- Glue the test suite back together + +-- aclocal-1.10 is called out explicitly in autogen.sh, but automake 1.9 + is used elswhere??? + +-- Are all of the bugs cleaned up? + +-- The X version seems to have suffered from major bit-rot, likely + related to using Motif, instead of something out of this century. + All votes seem to be for just removing the X version completely -- + which has been done in such a way it can be turned back on later: + -- the build no longer requires X11 to build -- xski is no longer + created by default. + -- see configure.ac for notes on how to re-enable xski when someone + is ready to port it to something other than Motif. + +-- check BitfR usage (replace everything w/ BitfX and fix the errors...) + +-- think about making the trcread program available + +-- /etc/init.d/ia64fmt may need to do "modprobe binfmt_misc" before trying + to register the simlautor; at least, this seems to be necessary on RH7.2 + -- in Debian, use update-binfmt, instead + +-- convert the GUI to GTK or something more common than Motif + +-- make sure latest instruction set (SDM2.2) is supported + +-- redo the documentation + +-- add some HOWTOs (e.g., HOWTO use ski with xen) + +-- integrate into qemu somehow? + +-- graft ski and gdb together? + + +DONE: + +-- Update the debian packaging so it works properly. (Peter) + +-- Is the gperf package _really_ needed? Yes, it is. (Peter) + +-- Start up ski, type 'help'. Paging is completely busticated and + completely unreadable. (seems to work -- Al) + + diff --git a/XSki b/XSki new file mode 120000 index 0000000..7f1dde1 --- /dev/null +++ b/XSki @@ -0,0 +1 @@ +./XSki.linux \ No newline at end of file diff --git a/XSki.freebsd b/XSki.freebsd new file mode 100644 index 0000000..7de0f4c --- /dev/null +++ b/XSki.freebsd @@ -0,0 +1,476 @@ +! +! Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +! +! 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., +! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +! + +! *XmText.fontList: + +*background: rgb:C0/C0/C0 +main.geometry: +0+0 + +*showUrs: True +*showGrs: True +*showFrs: True +*showSrs: True +*showIArs: True + +*regwUrs.rows: 7 +*regwGrs.rows: 7 +*regwFrs.rows: 4 +*regwSrs.rows: 2 +*regwIArs.rows: 4 + +*viewProgram: True +*viewData: True +*viewvga: False +*viewRegisters: True + +*help.sensitive: False +*bb4.sensitive: False +*bb5.sensitive: False +*prgwRC.goto.sensitive: False +*datwRC.goto.sensitive: False + +*File.mnemonic: F +*View.mnemonic: V +*Configure.mnemonic: C +*Help.mnemonic: H + +*load.labelString: Open... +*load.mnemonic: O +*save.labelString: Save... +*save.mnemonic: S +*trace.labelString: Trace... +*trace.mnemonic: T +*traceOn.labelString: Enable Trace +*traceOff.labelString: Disable Trace +*read.labelString: Read... +*read.mnemonic: R +*quit.labelString: Quit +*quit.mnemonic: Q + +*LoadFSD.fileTypeMask: FILE_REGULAR +*LoadFSD.textColumns: 50 +*load_syms.labelString: Load all symbols +*load_syms.alignment: ALIGNMENT_BEGINNING + +*program.labelString: Program +*program.mnemonic: P +*data.labelString: Data +*data.mnemonic: D +*registers.labelString: Registers +*registers.mnemonic: R +*cache.labelString: Cache +*cache.mnemonic: C +*tlb.labelString: TLB +*tlb.mnemonic: T +*callstack.labelString: Call Stack +*breakpoints.labelString: Breakpoints +*breakpoints.mnemonic: B +*symbols.labelString: Symbols +*symbols.mnemonic: S + +*context.labelString: Context-Sensitive Help +*context.mnemonic: C +*overview.labelString: Overview +*overview.mnemonic: O +*commands.labelString: Commands +*product.labelString: Product Information +*product.mnemonic: P + +*loadFSD_popup.title: Open File +*prodInfo_popup.title: Help -- Product Information + +! Processor Selection +*p0.labelString: 0 +*p1.labelString: 1 +*p2.labelString: 2 +*procOption.labelString: Processor + +! Button Box +*bbox.orientation: HORIZONTAL +*bbox.packing: PACK_TIGHT +*bb0.labelString: Step +*bb0.translations: Shift: SimCmd("step 10")\n\ + : SimCmd("step 1") +*bb1.labelString: Run +*bb1.translations: : SimCmd("run") +*bb2.labelString: Prog +*bb2.translations: : SimCmd("pj") +*bb3.labelString: Data +*bb3.translations: : SimCmd("dj") +*bb4.labelString: Regs +*bb5.labelString: Cache +*bb6.labelString: TLB +*bb6.translations: : SimCmd("sdt") +*bb7.labelString: Quit +*bb7.translations: : SimCmd("quit") + +*cmd.promptString: Command: +*cmd.historyVisibleItemCount: 5 +*cmd.textColumns: 45 + +*msgs.editMode: MULTI_LINE_EDIT +*msgs.editable: False +*msgs.cursorPositionVisible: False +*msgs.rows: 10 + +! Generic Pushbutton resources +*ok.labelString: OK +*apply.labelString: Apply +*cancel.labelString: Cancel +*close.labelString: Close +*config.labelString: Configure +*goto.labelString: Goto +*help.labelString: Help + +*real.labelString: Real +*virtual.labelString: Virtual + +! Program Window +! These 3 are not currently used +*prgw.cancelLabelString: Cancel +*prgw.helpLabelString: Help +*prgw.okLabelString: OK + +*prgw_popup.title: Program Window +*prgw_popup.geometry: 550-0+0 +*prgw.defaultPosition: False + +*prgwH.alignment: ALIGNMENT_BEGINNING +*prgwH.leftAttachment: ATTACH_FORM +*prgwH.rightAttachment: ATTACH_FORM +*prgwH.topAttachment: ATTACH_FORM + +*prgwT.rows: 21 +*prgwT.editMode: MULTI_LINE_EDIT +*prgwT.editable: False +*prgwT.autoShowCursorPosition: False +*prgwT.cursorPositionVisible: False +*prgwT.resizeHeight: False +*prgwT.resizeWidth: False +! *prgwT.resizeWidth: True +*prgwT.leftAttachment: ATTACH_FORM +*prgwT.rightAttachment: ATTACH_FORM +*prgwT.topAttachment: ATTACH_WIDGET +*prgwT.topWidget: prgwH +*prgwT.bottomAttachment: ATTACH_WIDGET +*prgwT.bottomWidget: prgwS +*prgwT.translations: #override\n\ + : pwResize()\n\ + osfPageDown: SimCmd(pf)\n\ + osfPageUp: SimCmd(pb)\n\ + osfDown: SimCmd("pf 1")\n\ + osfUp: SimCmd("pb 1") + +*prgwS.leftAttachment: ATTACH_FORM +*prgwS.rightAttachment: ATTACH_FORM +*prgwS.bottomAttachment: ATTACH_WIDGET +*prgwS.bottomWidget: prgwRC + +*prgwRC.adjustLast: False +*prgwRC.orientation: HORIZONTAL +*prgwRC.spacing: 10 +*prgwRC.leftAttachment: ATTACH_FORM +*prgwRC.rightAttachment: ATTACH_FORM +*prgwRC.bottomAttachment: ATTACH_FORM + +! Program Window Configure Dialog +*pwConf_popup.title: Program Window Configuration + +*pwConfRC.adjustLast: False +*pwConfRC.orientation: HORIZONTAL +*pwConfRC.spacing: 10 +*pwConfRC.leftAttachment: ATTACH_FORM +*pwConfRC.rightAttachment: ATTACH_FORM +*pwConfRC.bottomAttachment: ATTACH_FORM + +*pwConfS.leftAttachment: ATTACH_FORM +*pwConfS.rightAttachment: ATTACH_FORM +*pwConfS.bottomAttachment: ATTACH_WIDGET +*pwConfS.bottomWidget: pwConfRC + +*iofs.labelString: Instruction Offset Format: +*iofs.rightAttachment: ATTACH_WIDGET +*iofs.rightWidget: iofsrb +*iofs.topAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.topWidget: iofsrb +*iofs.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.bottomWidget: iofsrb + +*iofsrb.orientation: HORIZONTAL +*iofsrb.bottomAttachment: ATTACH_WIDGET +*iofsrb.bottomWidget: instrb +*iofsrb.bottomOffset: 2 +*iofsrb.rightAttachment: ATTACH_FORM + +*iofshex.labelString: Hexadecimal + +*iofssym.labelString: Symbolic + +*iofsboth.labelString: Both + +*inst.labelString: Instruction Format: +*inst.rightAttachment: ATTACH_WIDGET +*inst.rightWidget: instrb +*inst.topAttachment: ATTACH_OPPOSITE_WIDGET +*inst.topWidget: instrb +*inst.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*inst.bottomWidget: instrb + +*instrb.orientation: HORIZONTAL +*instrb.bottomAttachment: ATTACH_WIDGET +*instrb.bottomWidget: pwConfS +*instrb.bottomOffset: 2 +*instrb.rightAttachment: ATTACH_FORM + +*insthex.labelString: Hexadecimal + +*instsym.labelString: Disassembled + +*instboth.labelString: Both + +! Program Window Goto Dialog +*pwGoto_popup.title: Program Window Goto + +*pwGotoRC.adjustLast: False +*pwGotoRC.orientation: HORIZONTAL +*pwGotoRC.spacing: 10 +*pwGotoRC.leftAttachment: ATTACH_FORM +*pwGotoRC.rightAttachment: ATTACH_FORM +*pwGotoRC.bottomAttachment: ATTACH_FORM + +*pwGotoS.leftAttachment: ATTACH_FORM +*pwGotoS.rightAttachment: ATTACH_FORM +*pwGotoS.bottomAttachment: ATTACH_WIDGET +*pwGotoS.bottomWidget: pwGotoRC + +*pwOffset.rightAttachment: ATTACH_FORM +*pwOffset.bottomAttachment: ATTACH_WIDGET +*pwOffset.bottomWidget: pwGotoS + +*pwOffsetL.labelString: Offset: +*pwOffsetL.rightAttachment: ATTACH_WIDGET +*pwOffsetL.rightWidget: pwOffset +*pwOffsetL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.topWidget: pwOffset +*pwOffsetL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.bottomWidget: pwOffset + +*pwSpace.rightAttachment: ATTACH_FORM +*pwSpace.bottomAttachment: ATTACH_WIDGET +*pwSpace.bottomWidget: pwOffset + +*pwSpaceL.labelString: Space: +*pwSpaceL.rightAttachment: ATTACH_WIDGET +*pwSpaceL.rightWidget: pwSpace +*pwSpaceL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.topWidget: pwSpace +*pwSpaceL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.bottomWidget: pwSpace + +*pwAddr.orientation: HORIZONTAL +*pwAddr.leftAttachment: ATTACH_FORM +*pwAddr.topAttachment: ATTACH_FORM +*pwAddr.bottomAttachment: ATTACH_WIDGET +*pwAddr.bottomWidget: pwSpace + +! Data Window +*datw_popup.title: Data Window +*datw_popup.geometry: x225+0-0 +*datw.defaultPosition: False + +*datwH.alignment: ALIGNMENT_BEGINNING +*datwH.leftAttachment: ATTACH_FORM +*datwH.rightAttachment: ATTACH_FORM +*datwH.topAttachment: ATTACH_FORM + +*datwT.rows: 12 +*datwT.editMode: MULTI_LINE_EDIT +*datwT.editable: False +*datwT.autoShowCursorPosition: False +*datwT.cursorPositionVisible: False +*datwT.resizeWidth: True +*datwT.leftAttachment: ATTACH_FORM +*datwT.rightAttachment: ATTACH_FORM +*datwT.topAttachment: ATTACH_WIDGET +*datwT.topWidget: datwH +*datwT.bottomAttachment: ATTACH_WIDGET +*datwT.bottomWidget: datwS +*datwT.translations: #override \n\ + : dwResize()\n\ + osfPageDown: SimCmd(df)\n\ + osfPageUp: SimCmd(db)\n\ + osfDown: SimCmd("df 1")\n\ + osfUp: SimCmd("db 1") + +*datwS.leftAttachment: ATTACH_FORM +*datwS.rightAttachment: ATTACH_FORM +*datwS.bottomAttachment: ATTACH_WIDGET +*datwS.bottomWidget: datwRC + +*datwRC.adjustLast: False +*datwRC.orientation: HORIZONTAL +*datwRC.spacing: 10 +*datwRC.leftAttachment: ATTACH_FORM +*datwRC.rightAttachment: ATTACH_FORM +*datwRC.bottomAttachment: ATTACH_FORM + +! VGA Window +*vga_popup.title: VGA Window +*vga_popup.geometry: 640x480+0-0 +*vga.defaultPosition: False + +*vgaH.alignment: ALIGNMENT_BEGINNING +*vgaH.leftAttachment: ATTACH_FORM +*vgaH.rightAttachment: ATTACH_FORM +*vgaH.topAttachment: ATTACH_FORM + +*vgaT.rows: 24 +*vgaT.editMode: MULTI_LINE_EDIT +*vgaT.editable: False +*vgaT.autoShowCursorPosition: False +*vgaT.cursorPositionVisible: False +*vgaT.resizeWidth: True +*vgaT.leftAttachment: ATTACH_FORM +*vgaT.rightAttachment: ATTACH_FORM +*vgaT.topAttachment: ATTACH_WIDGET +*vgaT.topWidget: vgaH +*vgaT.bottomAttachment: ATTACH_WIDGET +*vgaT.bottomWidget: vgaS +*vgaT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(vf)\n\ + osfPageUp: SimCmd(vb)\n\ + osfDown: SimCmd("vf 1")\n\ + osfUp: SimCmd("vb 1") + +*vgaS.leftAttachment: ATTACH_FORM +*vgaS.rightAttachment: ATTACH_FORM +*vgaS.bottomAttachment: ATTACH_WIDGET +*vgaS.bottomWidget: vgaRC + +*vgaRC.adjustLast: False +*vgaRC.orientation: HORIZONTAL +*vgaRC.spacing: 10 +*vgaRC.leftAttachment: ATTACH_FORM +*vgaRC.rightAttachment: ATTACH_FORM +*vgaRC.bottomAttachment: ATTACH_FORM +*vgaRC.goto.sensitive: False + +! Registers Window +*regw_popup.title: Registers Window +*regw.noResize: False +*regw_popup.geometry: 520x475-0-0 +*regw.defaultPosition: False + +!*regwP.marginHeight: 5 +!*regwP.marginWidth: 10 +!*regwP.refigureMode: False +!*regwP.sashHeight: 20 +!*regwP.sashWidth: 15 +!*regwP.sashIdent: -20 +!*regwP.separatorOn: False +!*regwP.spacing: 2 +!*regwP.shadowThickness: 5 + +*regwP.leftAttachment: ATTACH_FORM +*regwP.rightAttachment: ATTACH_FORM +*regwP.topAttachment: ATTACH_FORM +*regwP.bottomAttachment: ATTACH_WIDGET +*regwP.bottomWidget: regwS + +*regwS.leftAttachment: ATTACH_FORM +*regwS.rightAttachment: ATTACH_FORM +*regwS.bottomAttachment: ATTACH_WIDGET +*regwS.bottomWidget: regwRC + +*regwRC.adjustLast: False +*regwRC.orientation: HORIZONTAL +*regwRC.spacing: 10 +*regwRC.leftAttachment: ATTACH_FORM +*regwRC.rightAttachment: ATTACH_FORM +*regwRC.bottomAttachment: ATTACH_FORM + +! Registers Window Configure Dialog +*rwConf_popup.title: Registers Window Configuration + +*rwConfRC.adjustLast: False +*rwConfRC.orientation: HORIZONTAL +*rwConfRC.spacing: 10 +*rwConfRC.leftAttachment: ATTACH_FORM +*rwConfRC.rightAttachment: ATTACH_FORM +*rwConfRC.bottomAttachment: ATTACH_FORM + +*rwConfS.leftAttachment: ATTACH_FORM +*rwConfS.rightAttachment: ATTACH_FORM +*rwConfS.bottomAttachment: ATTACH_WIDGET +*rwConfS.bottomWidget: rwConfRC + +*rwConfT.orientation: HORIZONTAL +*rwConfT.numColumns: 2 +*rwConfT.packing: PACK_COLUMN +*rwConfT.leftAttachment: ATTACH_FORM +*rwConfT.rightAttachment: ATTACH_FORM +*rwConfT.bottomAttachment: ATTACH_WIDGET +*rwConfT.bottomWidget: rwConfS + +*rwConfT.urs.labelString: URs +*rwConfT.grs.labelString: GRs +*rwConfT.frs.labelString: FRs +*rwConfT.srs.labelString: SRs + +! Symlist Window +*symlist_popup.title: Symbols +*symlist_popup.geometry: +300+100 + +! Cmdhelp Window +*cmdhelp_popup.title: Commands +*cmdhelp_popup.geometry: +400+150 + +! Callstack Window +*callstack_popup.title: Call Stack +*callstack_popup.geometry: +500+200 + +! Breakpoint Window +*breakpoints_popup.title: Breakpoints +*breakpoints_popup.geometry: +600+250 + +! Register Dump Window +*regdump_popup.title: Register Dump +*regdump_popup.geometry: +700+300 + +! Program Dump Window +*progdump_popup.title: Program Dump +*progdump_popup.geometry: +800+350 + +! Data Dump Window +*datadump_popup.title: Data Dump +*datadump_popup.geometry: +900+400 + +! Instruction TLB Dump Window +*itlblist_popup.title: Instruction TLB + +! Data TLB Dump Window +*dtlblist_popup.title: Data TLB + +! See man-page for VirtualBindings(3) (included in OpenMotif): +*defaultVirtualBindings: \ + osfBackSpace: BackSpace\n\ + osfPageDown: Next\n\ + osfPageUp: Prior\n\ + osfDown: Down\n\ + osfUp: Up\n diff --git a/XSki.hpux b/XSki.hpux new file mode 100644 index 0000000..09ee9ec --- /dev/null +++ b/XSki.hpux @@ -0,0 +1,467 @@ +! +! Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +! +! 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., +! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +! + +! *XmText.fontList: + +main.geometry: +0+0 + +*showUrs: True +*showGrs: True +*showFrs: True +*showSrs: True +*showIArs: True + +*regwUrs.rows: 7 +*regwGrs.rows: 7 +*regwFrs.rows: 4 +*regwSrs.rows: 2 +*regwIArs.rows: 4 + +*viewProgram: True +*viewData: True +*viewvga: False +*viewRegisters: True + +*help.sensitive: False +*bb4.sensitive: False +*bb5.sensitive: False +*prgwRC.goto.sensitive: False +*datwRC.goto.sensitive: False + +*File.mnemonic: F +*View.mnemonic: V +*Configure.mnemonic: C +*Help.mnemonic: H + +*load.labelString: Open... +*load.mnemonic: O +*save.labelString: Save... +*save.mnemonic: S +*trace.labelString: Trace... +*trace.mnemonic: T +*traceOn.labelString: Enable Trace +*traceOff.labelString: Disable Trace +*read.labelString: Read... +*read.mnemonic: R +*quit.labelString: Quit +*quit.mnemonic: Q + +*LoadFSD.fileTypeMask: FILE_REGULAR +*LoadFSD.textColumns: 50 +*load_syms.labelString: Load all symbols +*load_syms.alignment: ALIGNMENT_BEGINNING + +*program.labelString: Program +*program.mnemonic: P +*data.labelString: Data +*data.mnemonic: D +*registers.labelString: Registers +*registers.mnemonic: R +*cache.labelString: Cache +*cache.mnemonic: C +*tlb.labelString: TLB +*tlb.mnemonic: T +*callstack.labelString: Call Stack +*breakpoints.labelString: Breakpoints +*breakpoints.mnemonic: B +*symbols.labelString: Symbols +*symbols.mnemonic: S + +*context.labelString: Context-Sensitive Help +*context.mnemonic: C +*overview.labelString: Overview +*overview.mnemonic: O +*commands.labelString: Commands +*product.labelString: Product Information +*product.mnemonic: P + +*loadFSD_popup.title: Open File +*prodInfo_popup.title: Help -- Product Information + +! Processor Selection +*p0.labelString: 0 +*p1.labelString: 1 +*p2.labelString: 2 +*procOption.labelString: Processor + +! Button Box +*bbox.orientation: HORIZONTAL +*bbox.packing: PACK_TIGHT +*bb0.labelString: Step +*bb0.translations: Shift: SimCmd("step 10")\n\ + : SimCmd("step 1") +*bb1.labelString: Run +*bb1.translations: : SimCmd("run") +*bb2.labelString: Prog +*bb2.translations: : SimCmd("pj") +*bb3.labelString: Data +*bb3.translations: : SimCmd("dj") +*bb4.labelString: Regs +*bb5.labelString: Cache +*bb6.labelString: TLB +*bb6.translations: : SimCmd("sdt") +*bb7.labelString: Quit +*bb7.translations: : SimCmd("quit") + +*cmd.promptString: Command: +*cmd.historyVisibleItemCount: 5 +*cmd.textColumns: 45 + +*msgs.editMode: MULTI_LINE_EDIT +*msgs.editable: False +*msgs.cursorPositionVisible: False +*msgs.rows: 10 + +! Generic Pushbutton resources +*ok.labelString: OK +*apply.labelString: Apply +*cancel.labelString: Cancel +*close.labelString: Close +*config.labelString: Configure +*goto.labelString: Goto +*help.labelString: Help + +*real.labelString: Real +*virtual.labelString: Virtual + +! Program Window +! These 3 are not currently used +*prgw.cancelLabelString: Cancel +*prgw.helpLabelString: Help +*prgw.okLabelString: OK + +*prgw_popup.title: Program Window +*prgw_popup.geometry: -0+0 +*prgw.defaultPosition: False + +*prgwH.alignment: ALIGNMENT_BEGINNING +*prgwH.leftAttachment: ATTACH_FORM +*prgwH.rightAttachment: ATTACH_FORM +*prgwH.topAttachment: ATTACH_FORM + +*prgwT.rows: 21 +*prgwT.editMode: MULTI_LINE_EDIT +*prgwT.editable: False +*prgwT.autoShowCursorPosition: False +*prgwT.cursorPositionVisible: False +*prgwT.resizeHeight: False +*prgwT.resizeWidth: False +! *prgwT.resizeWidth: True +*prgwT.leftAttachment: ATTACH_FORM +*prgwT.rightAttachment: ATTACH_FORM +*prgwT.topAttachment: ATTACH_WIDGET +*prgwT.topWidget: prgwH +*prgwT.bottomAttachment: ATTACH_WIDGET +*prgwT.bottomWidget: prgwS +*prgwT.translations: #override\n\ + : pwResize()\n\ + osfPageDown: SimCmd(pf)\n\ + osfPageUp: SimCmd(pb)\n\ + osfDown: SimCmd("pf 1")\n\ + osfUp: SimCmd("pb 1") + +*prgwS.leftAttachment: ATTACH_FORM +*prgwS.rightAttachment: ATTACH_FORM +*prgwS.bottomAttachment: ATTACH_WIDGET +*prgwS.bottomWidget: prgwRC + +*prgwRC.adjustLast: False +*prgwRC.orientation: HORIZONTAL +*prgwRC.spacing: 10 +*prgwRC.leftAttachment: ATTACH_FORM +*prgwRC.rightAttachment: ATTACH_FORM +*prgwRC.bottomAttachment: ATTACH_FORM + +! Program Window Configure Dialog +*pwConf_popup.title: Program Window Configuration + +*pwConfRC.adjustLast: False +*pwConfRC.orientation: HORIZONTAL +*pwConfRC.spacing: 10 +*pwConfRC.leftAttachment: ATTACH_FORM +*pwConfRC.rightAttachment: ATTACH_FORM +*pwConfRC.bottomAttachment: ATTACH_FORM + +*pwConfS.leftAttachment: ATTACH_FORM +*pwConfS.rightAttachment: ATTACH_FORM +*pwConfS.bottomAttachment: ATTACH_WIDGET +*pwConfS.bottomWidget: pwConfRC + +*iofs.labelString: Instruction Offset Format: +*iofs.rightAttachment: ATTACH_WIDGET +*iofs.rightWidget: iofsrb +*iofs.topAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.topWidget: iofsrb +*iofs.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.bottomWidget: iofsrb + +*iofsrb.orientation: HORIZONTAL +*iofsrb.bottomAttachment: ATTACH_WIDGET +*iofsrb.bottomWidget: instrb +*iofsrb.bottomOffset: 2 +*iofsrb.rightAttachment: ATTACH_FORM + +*iofshex.labelString: Hexadecimal + +*iofssym.labelString: Symbolic + +*iofsboth.labelString: Both + +*inst.labelString: Instruction Format: +*inst.rightAttachment: ATTACH_WIDGET +*inst.rightWidget: instrb +*inst.topAttachment: ATTACH_OPPOSITE_WIDGET +*inst.topWidget: instrb +*inst.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*inst.bottomWidget: instrb + +*instrb.orientation: HORIZONTAL +*instrb.bottomAttachment: ATTACH_WIDGET +*instrb.bottomWidget: pwConfS +*instrb.bottomOffset: 2 +*instrb.rightAttachment: ATTACH_FORM + +*insthex.labelString: Hexadecimal + +*instsym.labelString: Disassembled + +*instboth.labelString: Both + +! Program Window Goto Dialog +*pwGoto_popup.title: Program Window Goto + +*pwGotoRC.adjustLast: False +*pwGotoRC.orientation: HORIZONTAL +*pwGotoRC.spacing: 10 +*pwGotoRC.leftAttachment: ATTACH_FORM +*pwGotoRC.rightAttachment: ATTACH_FORM +*pwGotoRC.bottomAttachment: ATTACH_FORM + +*pwGotoS.leftAttachment: ATTACH_FORM +*pwGotoS.rightAttachment: ATTACH_FORM +*pwGotoS.bottomAttachment: ATTACH_WIDGET +*pwGotoS.bottomWidget: pwGotoRC + +*pwOffset.rightAttachment: ATTACH_FORM +*pwOffset.bottomAttachment: ATTACH_WIDGET +*pwOffset.bottomWidget: pwGotoS + +*pwOffsetL.labelString: Offset: +*pwOffsetL.rightAttachment: ATTACH_WIDGET +*pwOffsetL.rightWidget: pwOffset +*pwOffsetL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.topWidget: pwOffset +*pwOffsetL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.bottomWidget: pwOffset + +*pwSpace.rightAttachment: ATTACH_FORM +*pwSpace.bottomAttachment: ATTACH_WIDGET +*pwSpace.bottomWidget: pwOffset + +*pwSpaceL.labelString: Space: +*pwSpaceL.rightAttachment: ATTACH_WIDGET +*pwSpaceL.rightWidget: pwSpace +*pwSpaceL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.topWidget: pwSpace +*pwSpaceL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.bottomWidget: pwSpace + +*pwAddr.orientation: HORIZONTAL +*pwAddr.leftAttachment: ATTACH_FORM +*pwAddr.topAttachment: ATTACH_FORM +*pwAddr.bottomAttachment: ATTACH_WIDGET +*pwAddr.bottomWidget: pwSpace + +! Data Window +*datw_popup.title: Data Window +*datw_popup.geometry: +0-0 +*datw.defaultPosition: False + +*datwH.alignment: ALIGNMENT_BEGINNING +*datwH.leftAttachment: ATTACH_FORM +*datwH.rightAttachment: ATTACH_FORM +*datwH.topAttachment: ATTACH_FORM + +*datwT.rows: 12 +*datwT.editMode: MULTI_LINE_EDIT +*datwT.editable: False +*datwT.autoShowCursorPosition: False +*datwT.cursorPositionVisible: False +*datwT.resizeWidth: True +*datwT.leftAttachment: ATTACH_FORM +*datwT.rightAttachment: ATTACH_FORM +*datwT.topAttachment: ATTACH_WIDGET +*datwT.topWidget: datwH +*datwT.bottomAttachment: ATTACH_WIDGET +*datwT.bottomWidget: datwS +*datwT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(df)\n\ + osfPageUp: SimCmd(db)\n\ + osfDown: SimCmd("df 1")\n\ + osfUp: SimCmd("db 1") + +*datwS.leftAttachment: ATTACH_FORM +*datwS.rightAttachment: ATTACH_FORM +*datwS.bottomAttachment: ATTACH_WIDGET +*datwS.bottomWidget: datwRC + +*datwRC.adjustLast: False +*datwRC.orientation: HORIZONTAL +*datwRC.spacing: 10 +*datwRC.leftAttachment: ATTACH_FORM +*datwRC.rightAttachment: ATTACH_FORM +*datwRC.bottomAttachment: ATTACH_FORM + +! VGA Window +*vga_popup.title: VGA Window +*vga_popup.geometry: +0-0 +*vga.defaultPosition: False + +*vgaH.alignment: ALIGNMENT_BEGINNING +*vgaH.leftAttachment: ATTACH_FORM +*vgaH.rightAttachment: ATTACH_FORM +*vgaH.topAttachment: ATTACH_FORM + +*vgaT.rows: 24 +*vgaT.editMode: MULTI_LINE_EDIT +*vgaT.editable: False +*vgaT.autoShowCursorPosition: False +*vgaT.cursorPositionVisible: False +*vgaT.resizeWidth: True +*vgaT.leftAttachment: ATTACH_FORM +*vgaT.rightAttachment: ATTACH_FORM +*vgaT.topAttachment: ATTACH_WIDGET +*vgaT.topWidget: vgaH +*vgaT.bottomAttachment: ATTACH_WIDGET +*vgaT.bottomWidget: vgaS +*vgaT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(vf)\n\ + osfPageUp: SimCmd(vb)\n\ + osfDown: SimCmd("vf 1")\n\ + osfUp: SimCmd("vb 1") + +*vgaS.leftAttachment: ATTACH_FORM +*vgaS.rightAttachment: ATTACH_FORM +*vgaS.bottomAttachment: ATTACH_WIDGET +*vgaS.bottomWidget: vgaRC + +*vgaRC.adjustLast: False +*vgaRC.orientation: HORIZONTAL +*vgaRC.spacing: 10 +*vgaRC.leftAttachment: ATTACH_FORM +*vgaRC.rightAttachment: ATTACH_FORM +*vgaRC.bottomAttachment: ATTACH_FORM +*vgaRC.goto.sensitive: False + +! Registers Window +*regw_popup.title: Registers Window +*regw.noResize: False +*regw_popup.geometry: -0-0 +*regw.defaultPosition: False + +!*regwP.marginHeight: 5 +!*regwP.marginWidth: 10 +!*regwP.refigureMode: False +!*regwP.sashHeight: 20 +!*regwP.sashWidth: 15 +!*regwP.sashIdent: -20 +!*regwP.separatorOn: False +!*regwP.spacing: 2 +!*regwP.shadowThickness: 5 + +*regwP.leftAttachment: ATTACH_FORM +*regwP.rightAttachment: ATTACH_FORM +*regwP.topAttachment: ATTACH_FORM +*regwP.bottomAttachment: ATTACH_WIDGET +*regwP.bottomWidget: regwS + +*regwS.leftAttachment: ATTACH_FORM +*regwS.rightAttachment: ATTACH_FORM +*regwS.bottomAttachment: ATTACH_WIDGET +*regwS.bottomWidget: regwRC + +*regwRC.adjustLast: False +*regwRC.orientation: HORIZONTAL +*regwRC.spacing: 10 +*regwRC.leftAttachment: ATTACH_FORM +*regwRC.rightAttachment: ATTACH_FORM +*regwRC.bottomAttachment: ATTACH_FORM + +! Registers Window Configure Dialog +*rwConf_popup.title: Registers Window Configuration + +*rwConfRC.adjustLast: False +*rwConfRC.orientation: HORIZONTAL +*rwConfRC.spacing: 10 +*rwConfRC.leftAttachment: ATTACH_FORM +*rwConfRC.rightAttachment: ATTACH_FORM +*rwConfRC.bottomAttachment: ATTACH_FORM + +*rwConfS.leftAttachment: ATTACH_FORM +*rwConfS.rightAttachment: ATTACH_FORM +*rwConfS.bottomAttachment: ATTACH_WIDGET +*rwConfS.bottomWidget: rwConfRC + +*rwConfT.orientation: HORIZONTAL +*rwConfT.numColumns: 2 +*rwConfT.packing: PACK_COLUMN +*rwConfT.leftAttachment: ATTACH_FORM +*rwConfT.rightAttachment: ATTACH_FORM +*rwConfT.bottomAttachment: ATTACH_WIDGET +*rwConfT.bottomWidget: rwConfS + +*rwConfT.urs.labelString: URs +*rwConfT.grs.labelString: GRs +*rwConfT.frs.labelString: FRs +*rwConfT.srs.labelString: SRs + +! Symlist Window +*symlist_popup.title: Symbols +*symlist_popup.geometry: +300+100 + +! Cmdhelp Window +*cmdhelp_popup.title: Commands +*cmdhelp_popup.geometry: +400+150 + +! Callstack Window +*callstack_popup.title: Call Stack +*callstack_popup.geometry: +500+200 + +! Breakpoint Window +*breakpoints_popup.title: Breakpoints +*breakpoints_popup.geometry: +600+250 + +! Register Dump Window +*regdump_popup.title: Register Dump +*regdump_popup.geometry: +700+300 + +! Program Dump Window +*progdump_popup.title: Program Dump +*progdump_popup.geometry: +800+350 + +! Data Dump Window +*datadump_popup.title: Data Dump +*datadump_popup.geometry: +900+400 + +! Instruction TLB Dump Window +*itlblist_popup.title: Instruction TLB + +! Data TLB Dump Window +*dtlblist_popup.title: Data TLB diff --git a/XSki.linux b/XSki.linux new file mode 100644 index 0000000..7de0f4c --- /dev/null +++ b/XSki.linux @@ -0,0 +1,476 @@ +! +! Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +! +! 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., +! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +! + +! *XmText.fontList: + +*background: rgb:C0/C0/C0 +main.geometry: +0+0 + +*showUrs: True +*showGrs: True +*showFrs: True +*showSrs: True +*showIArs: True + +*regwUrs.rows: 7 +*regwGrs.rows: 7 +*regwFrs.rows: 4 +*regwSrs.rows: 2 +*regwIArs.rows: 4 + +*viewProgram: True +*viewData: True +*viewvga: False +*viewRegisters: True + +*help.sensitive: False +*bb4.sensitive: False +*bb5.sensitive: False +*prgwRC.goto.sensitive: False +*datwRC.goto.sensitive: False + +*File.mnemonic: F +*View.mnemonic: V +*Configure.mnemonic: C +*Help.mnemonic: H + +*load.labelString: Open... +*load.mnemonic: O +*save.labelString: Save... +*save.mnemonic: S +*trace.labelString: Trace... +*trace.mnemonic: T +*traceOn.labelString: Enable Trace +*traceOff.labelString: Disable Trace +*read.labelString: Read... +*read.mnemonic: R +*quit.labelString: Quit +*quit.mnemonic: Q + +*LoadFSD.fileTypeMask: FILE_REGULAR +*LoadFSD.textColumns: 50 +*load_syms.labelString: Load all symbols +*load_syms.alignment: ALIGNMENT_BEGINNING + +*program.labelString: Program +*program.mnemonic: P +*data.labelString: Data +*data.mnemonic: D +*registers.labelString: Registers +*registers.mnemonic: R +*cache.labelString: Cache +*cache.mnemonic: C +*tlb.labelString: TLB +*tlb.mnemonic: T +*callstack.labelString: Call Stack +*breakpoints.labelString: Breakpoints +*breakpoints.mnemonic: B +*symbols.labelString: Symbols +*symbols.mnemonic: S + +*context.labelString: Context-Sensitive Help +*context.mnemonic: C +*overview.labelString: Overview +*overview.mnemonic: O +*commands.labelString: Commands +*product.labelString: Product Information +*product.mnemonic: P + +*loadFSD_popup.title: Open File +*prodInfo_popup.title: Help -- Product Information + +! Processor Selection +*p0.labelString: 0 +*p1.labelString: 1 +*p2.labelString: 2 +*procOption.labelString: Processor + +! Button Box +*bbox.orientation: HORIZONTAL +*bbox.packing: PACK_TIGHT +*bb0.labelString: Step +*bb0.translations: Shift: SimCmd("step 10")\n\ + : SimCmd("step 1") +*bb1.labelString: Run +*bb1.translations: : SimCmd("run") +*bb2.labelString: Prog +*bb2.translations: : SimCmd("pj") +*bb3.labelString: Data +*bb3.translations: : SimCmd("dj") +*bb4.labelString: Regs +*bb5.labelString: Cache +*bb6.labelString: TLB +*bb6.translations: : SimCmd("sdt") +*bb7.labelString: Quit +*bb7.translations: : SimCmd("quit") + +*cmd.promptString: Command: +*cmd.historyVisibleItemCount: 5 +*cmd.textColumns: 45 + +*msgs.editMode: MULTI_LINE_EDIT +*msgs.editable: False +*msgs.cursorPositionVisible: False +*msgs.rows: 10 + +! Generic Pushbutton resources +*ok.labelString: OK +*apply.labelString: Apply +*cancel.labelString: Cancel +*close.labelString: Close +*config.labelString: Configure +*goto.labelString: Goto +*help.labelString: Help + +*real.labelString: Real +*virtual.labelString: Virtual + +! Program Window +! These 3 are not currently used +*prgw.cancelLabelString: Cancel +*prgw.helpLabelString: Help +*prgw.okLabelString: OK + +*prgw_popup.title: Program Window +*prgw_popup.geometry: 550-0+0 +*prgw.defaultPosition: False + +*prgwH.alignment: ALIGNMENT_BEGINNING +*prgwH.leftAttachment: ATTACH_FORM +*prgwH.rightAttachment: ATTACH_FORM +*prgwH.topAttachment: ATTACH_FORM + +*prgwT.rows: 21 +*prgwT.editMode: MULTI_LINE_EDIT +*prgwT.editable: False +*prgwT.autoShowCursorPosition: False +*prgwT.cursorPositionVisible: False +*prgwT.resizeHeight: False +*prgwT.resizeWidth: False +! *prgwT.resizeWidth: True +*prgwT.leftAttachment: ATTACH_FORM +*prgwT.rightAttachment: ATTACH_FORM +*prgwT.topAttachment: ATTACH_WIDGET +*prgwT.topWidget: prgwH +*prgwT.bottomAttachment: ATTACH_WIDGET +*prgwT.bottomWidget: prgwS +*prgwT.translations: #override\n\ + : pwResize()\n\ + osfPageDown: SimCmd(pf)\n\ + osfPageUp: SimCmd(pb)\n\ + osfDown: SimCmd("pf 1")\n\ + osfUp: SimCmd("pb 1") + +*prgwS.leftAttachment: ATTACH_FORM +*prgwS.rightAttachment: ATTACH_FORM +*prgwS.bottomAttachment: ATTACH_WIDGET +*prgwS.bottomWidget: prgwRC + +*prgwRC.adjustLast: False +*prgwRC.orientation: HORIZONTAL +*prgwRC.spacing: 10 +*prgwRC.leftAttachment: ATTACH_FORM +*prgwRC.rightAttachment: ATTACH_FORM +*prgwRC.bottomAttachment: ATTACH_FORM + +! Program Window Configure Dialog +*pwConf_popup.title: Program Window Configuration + +*pwConfRC.adjustLast: False +*pwConfRC.orientation: HORIZONTAL +*pwConfRC.spacing: 10 +*pwConfRC.leftAttachment: ATTACH_FORM +*pwConfRC.rightAttachment: ATTACH_FORM +*pwConfRC.bottomAttachment: ATTACH_FORM + +*pwConfS.leftAttachment: ATTACH_FORM +*pwConfS.rightAttachment: ATTACH_FORM +*pwConfS.bottomAttachment: ATTACH_WIDGET +*pwConfS.bottomWidget: pwConfRC + +*iofs.labelString: Instruction Offset Format: +*iofs.rightAttachment: ATTACH_WIDGET +*iofs.rightWidget: iofsrb +*iofs.topAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.topWidget: iofsrb +*iofs.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.bottomWidget: iofsrb + +*iofsrb.orientation: HORIZONTAL +*iofsrb.bottomAttachment: ATTACH_WIDGET +*iofsrb.bottomWidget: instrb +*iofsrb.bottomOffset: 2 +*iofsrb.rightAttachment: ATTACH_FORM + +*iofshex.labelString: Hexadecimal + +*iofssym.labelString: Symbolic + +*iofsboth.labelString: Both + +*inst.labelString: Instruction Format: +*inst.rightAttachment: ATTACH_WIDGET +*inst.rightWidget: instrb +*inst.topAttachment: ATTACH_OPPOSITE_WIDGET +*inst.topWidget: instrb +*inst.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*inst.bottomWidget: instrb + +*instrb.orientation: HORIZONTAL +*instrb.bottomAttachment: ATTACH_WIDGET +*instrb.bottomWidget: pwConfS +*instrb.bottomOffset: 2 +*instrb.rightAttachment: ATTACH_FORM + +*insthex.labelString: Hexadecimal + +*instsym.labelString: Disassembled + +*instboth.labelString: Both + +! Program Window Goto Dialog +*pwGoto_popup.title: Program Window Goto + +*pwGotoRC.adjustLast: False +*pwGotoRC.orientation: HORIZONTAL +*pwGotoRC.spacing: 10 +*pwGotoRC.leftAttachment: ATTACH_FORM +*pwGotoRC.rightAttachment: ATTACH_FORM +*pwGotoRC.bottomAttachment: ATTACH_FORM + +*pwGotoS.leftAttachment: ATTACH_FORM +*pwGotoS.rightAttachment: ATTACH_FORM +*pwGotoS.bottomAttachment: ATTACH_WIDGET +*pwGotoS.bottomWidget: pwGotoRC + +*pwOffset.rightAttachment: ATTACH_FORM +*pwOffset.bottomAttachment: ATTACH_WIDGET +*pwOffset.bottomWidget: pwGotoS + +*pwOffsetL.labelString: Offset: +*pwOffsetL.rightAttachment: ATTACH_WIDGET +*pwOffsetL.rightWidget: pwOffset +*pwOffsetL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.topWidget: pwOffset +*pwOffsetL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.bottomWidget: pwOffset + +*pwSpace.rightAttachment: ATTACH_FORM +*pwSpace.bottomAttachment: ATTACH_WIDGET +*pwSpace.bottomWidget: pwOffset + +*pwSpaceL.labelString: Space: +*pwSpaceL.rightAttachment: ATTACH_WIDGET +*pwSpaceL.rightWidget: pwSpace +*pwSpaceL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.topWidget: pwSpace +*pwSpaceL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.bottomWidget: pwSpace + +*pwAddr.orientation: HORIZONTAL +*pwAddr.leftAttachment: ATTACH_FORM +*pwAddr.topAttachment: ATTACH_FORM +*pwAddr.bottomAttachment: ATTACH_WIDGET +*pwAddr.bottomWidget: pwSpace + +! Data Window +*datw_popup.title: Data Window +*datw_popup.geometry: x225+0-0 +*datw.defaultPosition: False + +*datwH.alignment: ALIGNMENT_BEGINNING +*datwH.leftAttachment: ATTACH_FORM +*datwH.rightAttachment: ATTACH_FORM +*datwH.topAttachment: ATTACH_FORM + +*datwT.rows: 12 +*datwT.editMode: MULTI_LINE_EDIT +*datwT.editable: False +*datwT.autoShowCursorPosition: False +*datwT.cursorPositionVisible: False +*datwT.resizeWidth: True +*datwT.leftAttachment: ATTACH_FORM +*datwT.rightAttachment: ATTACH_FORM +*datwT.topAttachment: ATTACH_WIDGET +*datwT.topWidget: datwH +*datwT.bottomAttachment: ATTACH_WIDGET +*datwT.bottomWidget: datwS +*datwT.translations: #override \n\ + : dwResize()\n\ + osfPageDown: SimCmd(df)\n\ + osfPageUp: SimCmd(db)\n\ + osfDown: SimCmd("df 1")\n\ + osfUp: SimCmd("db 1") + +*datwS.leftAttachment: ATTACH_FORM +*datwS.rightAttachment: ATTACH_FORM +*datwS.bottomAttachment: ATTACH_WIDGET +*datwS.bottomWidget: datwRC + +*datwRC.adjustLast: False +*datwRC.orientation: HORIZONTAL +*datwRC.spacing: 10 +*datwRC.leftAttachment: ATTACH_FORM +*datwRC.rightAttachment: ATTACH_FORM +*datwRC.bottomAttachment: ATTACH_FORM + +! VGA Window +*vga_popup.title: VGA Window +*vga_popup.geometry: 640x480+0-0 +*vga.defaultPosition: False + +*vgaH.alignment: ALIGNMENT_BEGINNING +*vgaH.leftAttachment: ATTACH_FORM +*vgaH.rightAttachment: ATTACH_FORM +*vgaH.topAttachment: ATTACH_FORM + +*vgaT.rows: 24 +*vgaT.editMode: MULTI_LINE_EDIT +*vgaT.editable: False +*vgaT.autoShowCursorPosition: False +*vgaT.cursorPositionVisible: False +*vgaT.resizeWidth: True +*vgaT.leftAttachment: ATTACH_FORM +*vgaT.rightAttachment: ATTACH_FORM +*vgaT.topAttachment: ATTACH_WIDGET +*vgaT.topWidget: vgaH +*vgaT.bottomAttachment: ATTACH_WIDGET +*vgaT.bottomWidget: vgaS +*vgaT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(vf)\n\ + osfPageUp: SimCmd(vb)\n\ + osfDown: SimCmd("vf 1")\n\ + osfUp: SimCmd("vb 1") + +*vgaS.leftAttachment: ATTACH_FORM +*vgaS.rightAttachment: ATTACH_FORM +*vgaS.bottomAttachment: ATTACH_WIDGET +*vgaS.bottomWidget: vgaRC + +*vgaRC.adjustLast: False +*vgaRC.orientation: HORIZONTAL +*vgaRC.spacing: 10 +*vgaRC.leftAttachment: ATTACH_FORM +*vgaRC.rightAttachment: ATTACH_FORM +*vgaRC.bottomAttachment: ATTACH_FORM +*vgaRC.goto.sensitive: False + +! Registers Window +*regw_popup.title: Registers Window +*regw.noResize: False +*regw_popup.geometry: 520x475-0-0 +*regw.defaultPosition: False + +!*regwP.marginHeight: 5 +!*regwP.marginWidth: 10 +!*regwP.refigureMode: False +!*regwP.sashHeight: 20 +!*regwP.sashWidth: 15 +!*regwP.sashIdent: -20 +!*regwP.separatorOn: False +!*regwP.spacing: 2 +!*regwP.shadowThickness: 5 + +*regwP.leftAttachment: ATTACH_FORM +*regwP.rightAttachment: ATTACH_FORM +*regwP.topAttachment: ATTACH_FORM +*regwP.bottomAttachment: ATTACH_WIDGET +*regwP.bottomWidget: regwS + +*regwS.leftAttachment: ATTACH_FORM +*regwS.rightAttachment: ATTACH_FORM +*regwS.bottomAttachment: ATTACH_WIDGET +*regwS.bottomWidget: regwRC + +*regwRC.adjustLast: False +*regwRC.orientation: HORIZONTAL +*regwRC.spacing: 10 +*regwRC.leftAttachment: ATTACH_FORM +*regwRC.rightAttachment: ATTACH_FORM +*regwRC.bottomAttachment: ATTACH_FORM + +! Registers Window Configure Dialog +*rwConf_popup.title: Registers Window Configuration + +*rwConfRC.adjustLast: False +*rwConfRC.orientation: HORIZONTAL +*rwConfRC.spacing: 10 +*rwConfRC.leftAttachment: ATTACH_FORM +*rwConfRC.rightAttachment: ATTACH_FORM +*rwConfRC.bottomAttachment: ATTACH_FORM + +*rwConfS.leftAttachment: ATTACH_FORM +*rwConfS.rightAttachment: ATTACH_FORM +*rwConfS.bottomAttachment: ATTACH_WIDGET +*rwConfS.bottomWidget: rwConfRC + +*rwConfT.orientation: HORIZONTAL +*rwConfT.numColumns: 2 +*rwConfT.packing: PACK_COLUMN +*rwConfT.leftAttachment: ATTACH_FORM +*rwConfT.rightAttachment: ATTACH_FORM +*rwConfT.bottomAttachment: ATTACH_WIDGET +*rwConfT.bottomWidget: rwConfS + +*rwConfT.urs.labelString: URs +*rwConfT.grs.labelString: GRs +*rwConfT.frs.labelString: FRs +*rwConfT.srs.labelString: SRs + +! Symlist Window +*symlist_popup.title: Symbols +*symlist_popup.geometry: +300+100 + +! Cmdhelp Window +*cmdhelp_popup.title: Commands +*cmdhelp_popup.geometry: +400+150 + +! Callstack Window +*callstack_popup.title: Call Stack +*callstack_popup.geometry: +500+200 + +! Breakpoint Window +*breakpoints_popup.title: Breakpoints +*breakpoints_popup.geometry: +600+250 + +! Register Dump Window +*regdump_popup.title: Register Dump +*regdump_popup.geometry: +700+300 + +! Program Dump Window +*progdump_popup.title: Program Dump +*progdump_popup.geometry: +800+350 + +! Data Dump Window +*datadump_popup.title: Data Dump +*datadump_popup.geometry: +900+400 + +! Instruction TLB Dump Window +*itlblist_popup.title: Instruction TLB + +! Data TLB Dump Window +*dtlblist_popup.title: Data TLB + +! See man-page for VirtualBindings(3) (included in OpenMotif): +*defaultVirtualBindings: \ + osfBackSpace: BackSpace\n\ + osfPageDown: Next\n\ + osfPageUp: Prior\n\ + osfDown: Down\n\ + osfUp: Up\n diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..2361563 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,7540 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognize shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognize a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# ------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + + +# Cheap backport of AS_EXECUTABLE_P and required macros +# from Autoconf 2.59; we should not use $as_executable_p directly. + +# _AS_TEST_PREPARE +# ---------------- +m4_ifndef([_AS_TEST_PREPARE], +[m4_defun([_AS_TEST_PREPARE], +[if test -x / >/dev/null 2>&1; then + as_executable_p='test -x' +else + as_executable_p='test -f' +fi +])])# _AS_TEST_PREPARE + +# AS_EXECUTABLE_P +# --------------- +# Check whether a file is executable. +m4_ifndef([AS_EXECUTABLE_P], +[m4_defun([AS_EXECUTABLE_P], +[AS_REQUIRE([_AS_TEST_PREPARE])dnl +$as_executable_p $1[]dnl +])])# AS_EXECUTABLE_P + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +]) + +m4_include([macros/aclocal-include.m4]) +m4_include([macros/compilers.m4]) +m4_include([macros/sed.m4]) +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.6])]) + +# Figure out how to run the assembler. -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_PROG_AS +# ---------- +AC_DEFUN([AM_PROG_AS], +[# By default we simply use the C compiler to build assembly code. +AC_REQUIRE([AC_PROG_CC]) +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS +AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) +AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) +]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + + +# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# This was merged into AC_PROG_CC in Autoconf. + +AU_DEFUN([AM_PROG_CC_STDC], +[AC_PROG_CC +AC_DIAGNOSE([obsolete], [$0: + your code should no longer depend upon `am_cv_prog_cc_stdc', but upon + `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when + you adjust the code. You can also remove the above call to + AC_PROG_CC if you already called it elsewhere.]) +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +]) +AU_DEFUN([fp_PROG_CC_STDC]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_PROG_LEX +# ----------- +# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a +# "missing" invocation, for better error output. +AC_DEFUN([AM_PROG_LEX], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AM_MISSING_HAS_RUN])dnl +AC_REQUIRE([AC_PROG_LEX])dnl +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..836a94a --- /dev/null +++ b/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# +# Run this to generate all the initial makefiles, etc. +# + +srcdir=`dirname $0` +test -z "${srcdir}" && srcdir=. + +PKG_NAME="ski" + +(test -f ${srcdir}/configure.ac) || { + echo "**Error**: Directory "\`${srcdir}\'" does not look like the"\ + "top-level ${PKG_NAME} directory" + exit 1 +} + +# Deal with the GNUism or Linuxism of always including /usr/local. +# This is not done on FreeBSD, because /usr/local is not dictated +# or enforced by FreeBSD and system administrators are free to +# pick a different tree like /opt for there add-on bits. As such, +# they are responsible for telling the compiler where the add-on +# bits are. By default things are put under /usr/local though, so +# that's our default as well... +if [ `uname` = FreeBSD ]; then + _BASE=${LOCALBASE:=/usr/local} + export CPPFLAGS=-I${_BASE}/include + export LDFLAGS=-L${_BASE}/lib +fi + +. ${srcdir}/macros/autogen.sh diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 new file mode 100644 index 0000000..a82962a --- /dev/null +++ b/autom4te.cache/output.0 @@ -0,0 +1,24556 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61. +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="src/ski.h" +ac_default_prefix=/usr/local +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +HOST_OS +LINUX_TRUE +LINUX_FALSE +HPUX_TRUE +HPUX_FALSE +FREEBSD_TRUE +FREEBSD_FALSE +SKI_MAJOR_VERSION +SKI_MINOR_VERSION +SKI_MICRO_VERSION +SKI_VERSION +SKI_INTERFACE_AGE +SKI_BINARY_AGE +SKI_RELEASE +LT_RELEASE +LT_CURRENT +LT_REVISION +LT_AGE +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +INSIDE_GNOME_COMMON_TRUE +INSIDE_GNOME_COMMON_FALSE +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +CCAS +CCASFLAGS +LN_S +SED +YACC +YFLAGS +LEX +LEX_OUTPUT_ROOT +LEXLIB +GPERF +PAGER +subdirs +GREP +EGREP +ECHO +AR +RANLIB +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBLTDL +INCLTDL +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +WITH_X_INTERFACE_TRUE +WITH_X_INTERFACE_FALSE +ALLOCA +WITH_NETDEV_TRUE +WITH_NETDEV_FALSE +DWARF_CFLAGS +DWARF_LIBS +encdir +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCAS +CCASFLAGS +YACC +YFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' +ac_subdirs_all='libltdl' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/PACKAGE@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=no@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-bigendian the target is big endian default=no + --disable-netdev disable netdev support + --enable-compile-warnings=no/minimum/yes + Turn on compiler warnings. + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-tags@<:@=TAGS@:>@ include additional configurations @<:@automatic@:>@ + --with-bfd-includes specify location of bfd headers + --with-bfd-libs specify location of bfd libraries + --with-bfd use the bfd library + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) + YACC The `Yet Another C Compiler' implementation to use. Defaults to + the first program found out of: `bison -y', `byacc', `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +host_alias=$host +case $host_os in + linux*) HOST_OS=linux;; + hpux*) HOST_OS=hpux;; + freebsd*) HOST_OS=freebsd;; + *) HOST_OS=unknown;; +esac + + + +if test "$HOST_OS" = linux; then + LINUX_TRUE= + LINUX_FALSE='#' +else + LINUX_TRUE='#' + LINUX_FALSE= +fi + + + +if test "$HOST_OS" = hpux; then + HPUX_TRUE= + HPUX_FALSE='#' +else + HPUX_TRUE='#' + HPUX_FALSE= +fi + + + +if test "$HOST_OS" = freebsd; then + FREEBSD_TRUE= + FREEBSD_FALSE='#' +else + FREEBSD_TRUE='#' + FREEBSD_FALSE= +fi + + +# Version number definitions +# +SKI_MAJOR_VERSION=1 +SKI_MINOR_VERSION=1 +SKI_MICRO_VERSION=3 +SKI_INTERFACE_AGE=0 +SKI_BINARY_AGE=0 +SKI_RELEASE=gplv2 + +SKI_VERSION=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION.$SKI_MICRO_VERSION + + + + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define SKI_RELEASE "$SKI_RELEASE" +_ACEOF + + +# libtool versioning +LT_RELEASE=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION +LT_CURRENT=`expr $SKI_MICRO_VERSION - $SKI_INTERFACE_AGE` +LT_REVISION=$SKI_INTERFACE_AGE +LT_AGE=`expr $SKI_BINARY_AGE - $SKI_INTERFACE_AGE` + + + + + +# Package information +PACKAGE=ski +VERSION=$SKI_VERSION + +# Specify the default install prefix + + +# Initialize automake +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=$PACKAGE + VERSION=$VERSION + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +# Specify a configuration file +ac_config_headers="$ac_config_headers config.h" + + + + +if test x = y; then + INSIDE_GNOME_COMMON_TRUE= + INSIDE_GNOME_COMMON_FALSE='#' +else + INSIDE_GNOME_COMMON_TRUE='#' + INSIDE_GNOME_COMMON_FALSE= +fi + + + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for k in macros ; do ACLOCAL="$ACLOCAL -I $k" ; done + + +# Checks for programs. +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 + for ac_prog in icc ecc gcc3 cc gcc + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in icc ecc gcc3 cc gcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc + +# By default we simply use the C compiler to build assembly code. + +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + + + # Extract the first word of "sed", so it can be a program name with args. +set dummy sed; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$SED"; then + ac_cv_prog_SED="$SED" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_SED="sed" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_SED" && ac_cv_prog_SED="/bin/sed" +fi +fi +SED=$ac_cv_prog_SED +if test -n "$SED"; then + { echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_YACC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_YACC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { echo "$as_me:$LINENO: result: $YACC" >&5 +echo "${ECHO_T}$YACC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + +for ac_prog in flex lex +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LEX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LEX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LEX=$ac_cv_prog_LEX +if test -n "$LEX"; then + { echo "$as_me:$LINENO: result: $LEX" >&5 +echo "${ECHO_T}$LEX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$LEX" && break +done +test -n "$LEX" || LEX=":" + +if test "x$LEX" != "x:"; then + cat >conftest.l <<_ACEOF +%% +a { ECHO; } +b { REJECT; } +c { yymore (); } +d { yyless (1); } +e { yyless (input () != 0); } +f { unput (yytext[0]); } +. { BEGIN INITIAL; } +%% +#ifdef YYTEXT_POINTER +extern char *yytext; +#endif +int +main (void) +{ + return ! yylex () + ! yywrap (); +} +_ACEOF +{ (ac_try="$LEX conftest.l" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$LEX conftest.l") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ echo "$as_me:$LINENO: checking lex output file root" >&5 +echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_root+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +if test -f lex.yy.c; then + ac_cv_prog_lex_root=lex.yy +elif test -f lexyy.c; then + ac_cv_prog_lex_root=lexyy +else + { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 +echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} + { (exit 1); exit 1; }; } +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; } +LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root + +if test -z "${LEXLIB+set}"; then + { echo "$as_me:$LINENO: checking lex library" >&5 +echo $ECHO_N "checking lex library... $ECHO_C" >&6; } +if test "${ac_cv_lib_lex+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_save_LIBS=$LIBS + ac_cv_lib_lex='none needed' + for ac_lib in '' -lfl -ll; do + LIBS="$ac_lib $ac_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_lex=$ac_lib +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + test "$ac_cv_lib_lex" != 'none needed' && break + done + LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5 +echo "${ECHO_T}$ac_cv_lib_lex" >&6; } + test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex +fi + + +{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 +echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +ac_save_LIBS=$LIBS +LIBS="$LEXLIB $ac_save_LIBS" +cat >conftest.$ac_ext <<_ACEOF +#define YYTEXT_POINTER 1 +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_prog_lex_yytext_pointer=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; } +if test $ac_cv_prog_lex_yytext_pointer = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define YYTEXT_POINTER 1 +_ACEOF + +fi +rm -f conftest.l $LEX_OUTPUT_ROOT.c + +fi +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +@%:@define const +_ACEOF + +fi + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=no +fi + + + + + +# Check for Intel & HP's C compilers +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking whether we are using Intel C compiler" >&5 +echo $ECHO_N "checking whether we are using Intel C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_intel+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __INTEL_COMPILER + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_intel=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_intel=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_intel=$ac_compiler_intel + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_intel" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_intel" >&6; } +ICC=`test $ac_compiler_intel = yes && echo yes` +{ echo "$as_me:$LINENO: checking whether we are using HP C compiler" >&5 +echo $ECHO_N "checking whether we are using HP C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_hp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#if ( !defined( __cplusplus ) && (!defined(__hpux) || defined(__GNUC__) ) ) \ + || ( defined( __cplusplus ) && !defined( __HP_aCC ) ) + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_hp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_hp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_hp=$ac_compiler_hp + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_hp" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_hp" >&6; } +HPCC=`test $ac_compiler_hp = yes && echo yes` +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 + + +# Extract the first word of "gperf", so it can be a program name with args. +set dummy gperf; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_GPERF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$GPERF"; then + ac_cv_prog_GPERF="$GPERF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_GPERF="gperf" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +GPERF=$ac_cv_prog_GPERF +if test -n "$GPERF"; then + { echo "$as_me:$LINENO: result: $GPERF" >&5 +echo "${ECHO_T}$GPERF" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +test -z "$GPERF" && GPERF='$(top_srcdir)/missing gperf' + +for ac_prog in less +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PAGER+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PAGER"; then + ac_cv_prog_PAGER="$PAGER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PAGER="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +PAGER=$ac_cv_prog_PAGER +if test -n "$PAGER"; then + { echo "$as_me:$LINENO: result: $PAGER" >&5 +echo "${ECHO_T}$PAGER" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$PAGER" && break +done + + +cat >>confdefs.h <<_ACEOF +@%:@define PAGER "$PAGER" +_ACEOF + + +YFLAGS=-d + + +subdirs="$subdirs libltdl" + + + + case $enable_ltdl_convenience in + no) { { echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5 +echo "$as_me: error: this package needs a convenience libltdl" >&2;} + { (exit 1); exit 1; }; } ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/''libltdl'/libltdlc.la + LTDLINCL='-I${top_srcdir}/''libltdl' + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=yes +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LESSTIF 0 +_ACEOF + + + +if 0; then + WITH_X_INTERFACE_TRUE= + WITH_X_INTERFACE_FALSE='#' +else + WITH_X_INTERFACE_TRUE='#' + WITH_X_INTERFACE_FALSE= +fi + + + +# Check whether --enable-bigendian was given. +if test "${enable_bigendian+set}" = set; then + enableval=$enable_bigendian; ski_cv_c_target_bigendian=${enableval} +else + ski_cv_c_target_bigendian=no +fi + + +{ echo "$as_me:$LINENO: checking whether host byte ordering is defined in sys/param.h" >&5 +echo $ECHO_N "checking whether host byte ordering is defined in sys/param.h... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian_compile+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +#error bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ski_cv_c_bigendian_compile=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ski_cv_c_bigendian_compile=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian_compile" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian_compile" >&6; } + +if test "x$ski_cv_c_bigendian_compile" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define ENDIANESS_IN_SYS_PARAM_H 1 +_ACEOF + +else +{ echo "$as_me:$LINENO: checking whether host byte ordering is big endian" >&5 +echo $ECHO_N "checking whether host byte ordering is big endian... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot detect host endianness" >&5 +echo "$as_me: error: cannot detect host endianness" >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int main () { + union { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + return (u.c[sizeof (long) - 1] == 1); +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ski_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ski_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian" >&6; } + + +cat >>confdefs.h <<\_ACEOF +@%:@define BIG_ENDIAN 4321 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +@%:@define LITTLE_ENDIAN 1234 +_ACEOF + +if test "x$ski_cv_c_bigendian" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define BYTE_ORDER 4321 +_ACEOF + +else + +cat >>confdefs.h <<\_ACEOF +@%:@define BYTE_ORDER 1234 +_ACEOF + +fi +fi + + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_working_alloca_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_ALLOCA_H 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_alloca_works=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_alloca_works=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_ALLOCA 1 +_ACEOF + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +@%:@define C_ALLOCA 1 +_ACEOF + + +{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + +cat >>confdefs.h <<_ACEOF +@%:@define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_stack_direction=1 +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } + +cat >>confdefs.h <<_ACEOF +@%:@define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + +vars="" +funcs="strtoull __strtoull" + +# These are neither executed nor required, but they help keep +# autoheader happy. +if test "yes" = "no"; then + + +for ac_func in strtoull __strtoull +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SYS_SIGLIST 1 +_ACEOF + +fi +# Check for $vars +for var in $vars; do + { echo "$as_me:$LINENO: checking for $var" >&5 +echo $ECHO_N "checking for $var... $ECHO_C" >&6; } + if { as_var=ski_cv_var_$var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int *p; +int +main () +{ +extern int $var; p = &$var; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "ski_cv_var_$var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "ski_cv_var_$var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + if eval "test \"`echo '$ski_cv_var_'$var`\" = yes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + n=HAVE_`echo $var | tr 'abcdefghijklmnopqrstuvwxyz' \ + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >>confdefs.h <<_ACEOF +@%:@define $n 1 +_ACEOF + + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi +done +# Check for $funcs + +for ac_func in $funcs +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +if test "${ac_cv_header_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf.h usability" >&5 +echo $ECHO_N "checking libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf.h presence" >&5 +echo $ECHO_N "checking libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_h = yes; then + : +else + if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf/libelf.h usability" >&5 +echo $ECHO_N "checking libelf/libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf/libelf.h presence" >&5 +echo $ECHO_N "checking libelf/libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf/libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf/libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_libelf_h = yes; then + have_libelf_libelf_h=yes +else + { { echo "$as_me:$LINENO: error: Required libelf.h header not found." >&5 +echo "$as_me: error: Required libelf.h header not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +fi + + +if test "x$have_libelf_libelf_h" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBELF_LIBELF_H 1 +_ACEOF + +fi + +if test "$HOST_OS" = linux; then +# Check whether --enable-netdev was given. +if test "${enable_netdev+set}" = set; then + enableval=$enable_netdev; +fi + +if test "x$enable_netdev" != xno; then + +cat >>confdefs.h <<\_ACEOF +@%:@define SKINET_ENABLE 1 +_ACEOF + + with_netdev=yes +fi +fi + + + +if test "x$with_netdev" = xyes; then + WITH_NETDEV_TRUE= + WITH_NETDEV_FALSE='#' +else + WITH_NETDEV_TRUE='#' + WITH_NETDEV_FALSE= +fi + + +if test "$HOST_OS" = freebsd; then + LDFLAGS="$LDFLAGS -lutil" +fi + + +{ echo "$as_me:$LINENO: checking for _Uia64_get_proc_name in -lunwind-ia64" >&5 +echo $ECHO_N "checking for _Uia64_get_proc_name in -lunwind-ia64... $ECHO_C" >&6; } +if test "${ac_cv_lib_unwind_ia64__Uia64_get_proc_name+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lunwind-ia64 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char _Uia64_get_proc_name (); +int +main () +{ +return _Uia64_get_proc_name (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&5 +echo "${ECHO_T}$ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&6; } +if test $ac_cv_lib_unwind_ia64__Uia64_get_proc_name = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBUNWIND_IA64 1 +_ACEOF + + LIBS="-lunwind-ia64 $LIBS" + +fi + + +# Test for IA-64 libbfd + + +# Check whether --with-bfd-includes was given. +if test "${with_bfd_includes+set}" = set; then + withval=$with_bfd_includes; + BFD_CFLAGS="-I$withval" + +fi + + + +# Check whether --with-bfd-libs was given. +if test "${with_bfd_libs+set}" = set; then + withval=$with_bfd_libs; + BFD_LDFLAGS="-L$withval" + +fi + + +{ echo "$as_me:$LINENO: checking for bfd support" >&5 +echo $ECHO_N "checking for bfd support... $ECHO_C" >&6; } + +# Check whether --with-bfd was given. +if test "${with_bfd+set}" = set; then + withval=$with_bfd; +fi + + +if test "x$with_bfd" = xno; then + have_bfd=disabled +else + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LIBS=$LIBS + CFLAGS="$CFLAGS $BFD_CFLAGS" + LDFLAGS="$LDFLAGS $BFD_LDFLAGS" + LIBS="$LIBS -lbfd -liberty" + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + int main() { + bfd_init (); + return bfd_set_default_target ("elf64-ia64-little") == 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + have_bfd=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_bfd=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS +fi + +if test "x$have_bfd" = xyes; then + DWARF_CFLAGS="$BFD_CFLAGS" + DWARF_LIBS="$BFD_LDFLAGS -lbfd -liberty" +fi +{ echo "$as_me:$LINENO: result: $have_bfd" >&5 +echo "${ECHO_T}$have_bfd" >&6; } + +if test "x$have_bfd" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DWARF_SUPPORT 1 +_ACEOF + +fi + + + + + +if test "${ac_cv_header_ski_elf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking ski_elf.h usability" >&5 +echo $ECHO_N "checking ski_elf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking ski_elf.h presence" >&5 +echo $ECHO_N "checking ski_elf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: ski_elf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: ski_elf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: ski_elf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_ski_elf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } + +fi +if test $ac_cv_header_ski_elf_h = yes; then + : +else + ske_elf_h_is_missing=yes +fi + + +if test "x$ske_elf_h_is_missing" = xyes; then + ac_config_links="$ac_config_links src/ski_elf.h:src/missing/ski_elf.h" + +fi + + + +{ echo "$as_me:$LINENO: checking for ldexp in -lm" >&5 +echo $ECHO_N "checking for ldexp in -lm... $ECHO_C" >&6; } +if test "${ac_cv_lib_m_ldexp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ldexp (); +int +main () +{ +return ldexp (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_m_ldexp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_m_ldexp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ldexp" >&5 +echo "${ECHO_T}$ac_cv_lib_m_ldexp" >&6; } +if test $ac_cv_lib_m_ldexp = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libm not found." >&5 +echo "$as_me: error: Required library libm not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +if test "$HOST_OS" = hpux; then + # HPUX prefers libHcurses. + { echo "$as_me:$LINENO: checking for tgetent in -lHcurses" >&5 +echo $ECHO_N "checking for tgetent in -lHcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_Hcurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lHcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_Hcurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_Hcurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_Hcurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_Hcurses_tgetent" >&6; } +if test $ac_cv_lib_Hcurses_tgetent = yes; then + + +cat >>confdefs.h <<\_ACEOF +@%:@define __HP_CURSES 1 +_ACEOF + + LIBS="-lHcurses $LIBS" + check_curses=no +fi + +fi + +if test "x$check_curses" != xno; then + +{ echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5 +echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_curses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_curses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_curses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6; } +if test $ac_cv_lib_curses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBCURSES 1 +_ACEOF + + LIBS="-lcurses $LIBS" + +else + +{ echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 +echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ncurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ncurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6; } +if test $ac_cv_lib_ncurses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBNCURSES 1 +_ACEOF + + LIBS="-lncurses $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required curses library not found." >&5 +echo "$as_me: error: Required curses library not found." >&2;} + { (exit 1); exit 1; }; } +fi + +fi + +fi + + +{ echo "$as_me:$LINENO: checking for elf_begin in -lelf" >&5 +echo $ECHO_N "checking for elf_begin in -lelf... $ECHO_C" >&6; } +if test "${ac_cv_lib_elf_elf_begin+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lelf $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char elf_begin (); +int +main () +{ +return elf_begin (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_elf_elf_begin=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_elf_elf_begin=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_elf_begin" >&5 +echo "${ECHO_T}$ac_cv_lib_elf_elf_begin" >&6; } +if test $ac_cv_lib_elf_elf_begin = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBELF 1 +_ACEOF + + LIBS="-lelf $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libelf not found." >&5 +echo "$as_me: error: Required library libelf not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +case $host_os in + linux*) CFLAGS="$CFLAGS -DLINUX -D_GNU_SOURCE";; + hpux9*) CFLAGS="$CFLAGS -DHPUX9";; + hpux10*) CFLAGS="$CFLAGS -DHPUX1020";; + hpux11*) CFLAGS="$CFLAGS -DHPUX1100";; + freebsd*) CFLAGS="$CFLAGS -DFREEBSD -D__linux__";; +esac + +echo "$CFLAGS" | grep "\-g" > /dev/null && cc_dash_g=yes +if test "x$HPCC" = xyes; then + # if -g is specified add +ESdbgasm for _asm inlined assembly + test "x$cc_dash_g" = xyes && CFLAGS="$CFLAGS +ESdbgasm" + # Add architecture flags + case $host_cpu in + hppa2.0*) CFLAGS="$CFLAGS +DA20 +DS20"; + LDFLAGS="-Wl,+vnocompatwarnings";; + hppa1.1*) CFLAGS="$CFLAGS +DA11 +DS11";; + esac +elif test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -D__norcsid -fno-strict-aliasing"; +fi + +# Check whether --enable-compile-warnings was given. +if test "${enable_compile_warnings+set}" = set; then + enableval=$enable_compile_warnings; +else + enable_compile_warnings=minimum +fi + + +if test "x$enable_compile_warnings" != xno; then + if test "x$GCC" = xyes; then + # CC is GNU cc + CFLAGS="$CFLAGS -Wall -Wunused" + if test "x$enable_compile_warnings" = xnot_ready_for_yes; then + CFLAGS="$CFLAGS -Wmissing-prototypes -Wmissing-declarations" + fi + elif test "x$ICC" = xyes; then + # CC is Intel icc + CFLAGS="$CFLAGS -w1" + elif test "x$HPCC" = xyes; then + # CC is HP ansic + CFLAGS="$CFLAGS +w3" + fi +fi + +encdir='$(top_srcdir)'/src/encodings + + +#AC_CONFIG_LINKS([src/syscall-hpux.c:src/syscall.c]) +#AC_CONFIG_LINKS([src/dwarf-hpux.c:src/dwarf.c]) + +ac_config_files="$ac_config_files ski.spec" + +ac_config_files="$ac_config_files ski-config" + +ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files macros/Makefile" + +ac_config_files="$ac_config_files src/Makefile src/decoder/Makefile src/encoder/Makefile" + +ac_config_files="$ac_config_files src/fake-xterm/Makefile" + +ac_config_files="$ac_config_files doc/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HPUX_TRUE}" && test -z "${HPUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FREEBSD_TRUE}" && test -z "${FREEBSD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSIDE_GNOME_COMMON_TRUE}" && test -z "${INSIDE_GNOME_COMMON_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_X_INTERFACE_TRUE}" && test -z "${WITH_X_INTERFACE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_NETDEV_TRUE}" && test -z "${WITH_NETDEV_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "src/ski_elf.h") CONFIG_LINKS="$CONFIG_LINKS src/ski_elf.h:src/missing/ski_elf.h" ;; + "ski.spec") CONFIG_FILES="$CONFIG_FILES ski.spec" ;; + "ski-config") CONFIG_FILES="$CONFIG_FILES ski-config" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "macros/Makefile") CONFIG_FILES="$CONFIG_FILES macros/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/decoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/decoder/Makefile" ;; + "src/encoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/encoder/Makefile" ;; + "src/fake-xterm/Makefile") CONFIG_FILES="$CONFIG_FILES src/fake-xterm/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +HOST_OS!$HOST_OS$ac_delim +LINUX_TRUE!$LINUX_TRUE$ac_delim +LINUX_FALSE!$LINUX_FALSE$ac_delim +HPUX_TRUE!$HPUX_TRUE$ac_delim +HPUX_FALSE!$HPUX_FALSE$ac_delim +FREEBSD_TRUE!$FREEBSD_TRUE$ac_delim +FREEBSD_FALSE!$FREEBSD_FALSE$ac_delim +SKI_MAJOR_VERSION!$SKI_MAJOR_VERSION$ac_delim +SKI_MINOR_VERSION!$SKI_MINOR_VERSION$ac_delim +SKI_MICRO_VERSION!$SKI_MICRO_VERSION$ac_delim +SKI_VERSION!$SKI_VERSION$ac_delim +SKI_INTERFACE_AGE!$SKI_INTERFACE_AGE$ac_delim +SKI_BINARY_AGE!$SKI_BINARY_AGE$ac_delim +SKI_RELEASE!$SKI_RELEASE$ac_delim +LT_RELEASE!$LT_RELEASE$ac_delim +LT_CURRENT!$LT_CURRENT$ac_delim +LT_REVISION!$LT_REVISION$ac_delim +LT_AGE!$LT_AGE$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +INSIDE_GNOME_COMMON_TRUE!$INSIDE_GNOME_COMMON_TRUE$ac_delim +INSIDE_GNOME_COMMON_FALSE!$INSIDE_GNOME_COMMON_FALSE$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +CCAS!$CCAS$ac_delim +CCASFLAGS!$CCASFLAGS$ac_delim +LN_S!$LN_S$ac_delim +SED!$SED$ac_delim +YACC!$YACC$ac_delim +YFLAGS!$YFLAGS$ac_delim +LEX!$LEX$ac_delim +LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim +LEXLIB!$LEXLIB$ac_delim +GPERF!$GPERF$ac_delim +PAGER!$PAGER$ac_delim +subdirs!$subdirs$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBLTDL!$LIBLTDL$ac_delim +INCLTDL!$INCLTDL$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +WITH_X_INTERFACE_TRUE!$WITH_X_INTERFACE_TRUE$ac_delim +WITH_X_INTERFACE_FALSE!$WITH_X_INTERFACE_FALSE$ac_delim +ALLOCA!$ALLOCA$ac_delim +WITH_NETDEV_TRUE!$WITH_NETDEV_TRUE$ac_delim +WITH_NETDEV_FALSE!$WITH_NETDEV_FALSE$ac_delim +DWARF_CFLAGS!$DWARF_CFLAGS$ac_delim +DWARF_LIBS!$DWARF_LIBS$ac_delim +encdir!$encdir$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 49; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: linking $srcdir/$ac_source to $ac_file" >&6;} + + if test ! -r "$srcdir/$ac_source"; then + { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 +echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $srcdir in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null || + cp -p "$srcdir/$ac_source" "$ac_file" || + { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "ski-config":F) chmod +x ski-config ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + +# +# CONFIG_SUBDIRS section. +# +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + eval "set x $ac_configure_args" + shift + for ac_arg + do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case $ac_arg in + -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=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; + *) + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ac_arg="--prefix=$prefix" + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" + + # Pass --silent + if test "$silent" = yes; then + ac_sub_configure_args="--silent $ac_sub_configure_args" + fi + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + test -d "$srcdir/$ac_dir" || continue + + ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" + echo "$as_me:$LINENO: $ac_msg" >&5 + echo "$ac_msg" >&6 + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + cd "$ac_dir" + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f "$ac_srcdir/configure.gnu"; then + ac_sub_configure=$ac_srcdir/configure.gnu + elif test -f "$ac_srcdir/configure"; then + ac_sub_configure=$ac_srcdir/configure + elif test -f "$ac_srcdir/configure.in"; then + # This should be Cygnus configure. + ac_sub_configure=$ac_aux_dir/configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 +echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; + *) # Relative name. + ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; + esac + + { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. + eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ + --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 +echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + + cd "$ac_popdir" + done +fi + diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1 new file mode 100644 index 0000000..48ec3f0 --- /dev/null +++ b/autom4te.cache/output.1 @@ -0,0 +1,24544 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61. +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="src/ski.h" +ac_default_prefix=/usr/local +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +HOST_OS +LINUX_TRUE +LINUX_FALSE +HPUX_TRUE +HPUX_FALSE +FREEBSD_TRUE +FREEBSD_FALSE +SKI_MAJOR_VERSION +SKI_MINOR_VERSION +SKI_MICRO_VERSION +SKI_VERSION +SKI_INTERFACE_AGE +SKI_BINARY_AGE +SKI_RELEASE +LT_RELEASE +LT_CURRENT +LT_REVISION +LT_AGE +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +INSIDE_GNOME_COMMON_TRUE +INSIDE_GNOME_COMMON_FALSE +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +CCAS +CCASFLAGS +LN_S +SED +YACC +YFLAGS +LEX +LEX_OUTPUT_ROOT +LEXLIB +GPERF +PAGER +subdirs +GREP +EGREP +ECHO +AR +RANLIB +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBLTDL +INCLTDL +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +WITH_X_INTERFACE_TRUE +WITH_X_INTERFACE_FALSE +ALLOCA +WITH_NETDEV_TRUE +WITH_NETDEV_FALSE +DWARF_CFLAGS +DWARF_LIBS +encdir +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCAS +CCASFLAGS +YACC +YFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' +ac_subdirs_all='libltdl' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/PACKAGE@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=no@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-bigendian the target is big endian default=no + --disable-netdev disable netdev support + --enable-compile-warnings=no/minimum/yes + Turn on compiler warnings. + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-tags@<:@=TAGS@:>@ include additional configurations @<:@automatic@:>@ + --with-bfd-includes specify location of bfd headers + --with-bfd-libs specify location of bfd libraries + --with-bfd use the bfd library + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) + YACC The `Yet Another C Compiler' implementation to use. Defaults to + the first program found out of: `bison -y', `byacc', `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +host_alias=$host +case $host_os in + linux*) HOST_OS=linux;; + hpux*) HOST_OS=hpux;; + freebsd*) HOST_OS=freebsd;; + *) HOST_OS=unknown;; +esac + + + +if test "$HOST_OS" = linux; then + LINUX_TRUE= + LINUX_FALSE='#' +else + LINUX_TRUE='#' + LINUX_FALSE= +fi + + + +if test "$HOST_OS" = hpux; then + HPUX_TRUE= + HPUX_FALSE='#' +else + HPUX_TRUE='#' + HPUX_FALSE= +fi + + + +if test "$HOST_OS" = freebsd; then + FREEBSD_TRUE= + FREEBSD_FALSE='#' +else + FREEBSD_TRUE='#' + FREEBSD_FALSE= +fi + + +# Version number definitions +# +SKI_MAJOR_VERSION=1 +SKI_MINOR_VERSION=1 +SKI_MICRO_VERSION=3 +SKI_INTERFACE_AGE=0 +SKI_BINARY_AGE=0 +SKI_RELEASE=gplv2 + +SKI_VERSION=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION.$SKI_MICRO_VERSION + + + + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define SKI_RELEASE "$SKI_RELEASE" +_ACEOF + + +# libtool versioning +LT_RELEASE=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION +LT_CURRENT=`expr $SKI_MICRO_VERSION - $SKI_INTERFACE_AGE` +LT_REVISION=$SKI_INTERFACE_AGE +LT_AGE=`expr $SKI_BINARY_AGE - $SKI_INTERFACE_AGE` + + + + + +# Package information +PACKAGE=ski +VERSION=$SKI_VERSION + +# Specify the default install prefix + + +# Initialize automake +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=$PACKAGE + VERSION=$VERSION + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +# Specify a configuration file +ac_config_headers="$ac_config_headers config.h" + + + + +if test x = y; then + INSIDE_GNOME_COMMON_TRUE= + INSIDE_GNOME_COMMON_FALSE='#' +else + INSIDE_GNOME_COMMON_TRUE='#' + INSIDE_GNOME_COMMON_FALSE= +fi + + + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for k in macros ; do ACLOCAL="$ACLOCAL -I $k" ; done + + +# Checks for programs. +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 + for ac_prog in icc ecc gcc3 cc gcc + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in icc ecc gcc3 cc gcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc + +# By default we simply use the C compiler to build assembly code. + +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + + + # Extract the first word of "sed", so it can be a program name with args. +set dummy sed; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$SED"; then + ac_cv_prog_SED="$SED" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_SED="sed" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_SED" && ac_cv_prog_SED="/bin/sed" +fi +fi +SED=$ac_cv_prog_SED +if test -n "$SED"; then + { echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_YACC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_YACC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { echo "$as_me:$LINENO: result: $YACC" >&5 +echo "${ECHO_T}$YACC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + +for ac_prog in flex lex +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LEX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LEX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LEX=$ac_cv_prog_LEX +if test -n "$LEX"; then + { echo "$as_me:$LINENO: result: $LEX" >&5 +echo "${ECHO_T}$LEX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$LEX" && break +done +test -n "$LEX" || LEX=":" + +if test "x$LEX" != "x:"; then + cat >conftest.l <<_ACEOF +%% +a { ECHO; } +b { REJECT; } +c { yymore (); } +d { yyless (1); } +e { yyless (input () != 0); } +f { unput (yytext[0]); } +. { BEGIN INITIAL; } +%% +#ifdef YYTEXT_POINTER +extern char *yytext; +#endif +int +main (void) +{ + return ! yylex () + ! yywrap (); +} +_ACEOF +{ (ac_try="$LEX conftest.l" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$LEX conftest.l") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ echo "$as_me:$LINENO: checking lex output file root" >&5 +echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_root+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +if test -f lex.yy.c; then + ac_cv_prog_lex_root=lex.yy +elif test -f lexyy.c; then + ac_cv_prog_lex_root=lexyy +else + { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 +echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} + { (exit 1); exit 1; }; } +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; } +LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root + +if test -z "${LEXLIB+set}"; then + { echo "$as_me:$LINENO: checking lex library" >&5 +echo $ECHO_N "checking lex library... $ECHO_C" >&6; } +if test "${ac_cv_lib_lex+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_save_LIBS=$LIBS + ac_cv_lib_lex='none needed' + for ac_lib in '' -lfl -ll; do + LIBS="$ac_lib $ac_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_lex=$ac_lib +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + test "$ac_cv_lib_lex" != 'none needed' && break + done + LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5 +echo "${ECHO_T}$ac_cv_lib_lex" >&6; } + test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex +fi + + +{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 +echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +ac_save_LIBS=$LIBS +LIBS="$LEXLIB $ac_save_LIBS" +cat >conftest.$ac_ext <<_ACEOF +#define YYTEXT_POINTER 1 +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_prog_lex_yytext_pointer=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; } +if test $ac_cv_prog_lex_yytext_pointer = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define YYTEXT_POINTER 1 +_ACEOF + +fi +rm -f conftest.l $LEX_OUTPUT_ROOT.c + +fi +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +@%:@define const +_ACEOF + +fi + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=no +fi + + + + + +# Check for Intel & HP's C compilers +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking whether we are using Intel C compiler" >&5 +echo $ECHO_N "checking whether we are using Intel C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_intel+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __INTEL_COMPILER + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_intel=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_intel=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_intel=$ac_compiler_intel + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_intel" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_intel" >&6; } +ICC=`test $ac_compiler_intel = yes && echo yes` +{ echo "$as_me:$LINENO: checking whether we are using HP C compiler" >&5 +echo $ECHO_N "checking whether we are using HP C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_hp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#if ( !defined( __cplusplus ) && (!defined(__hpux) || defined(__GNUC__) ) ) \ + || ( defined( __cplusplus ) && !defined( __HP_aCC ) ) + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_hp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_hp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_hp=$ac_compiler_hp + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_hp" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_hp" >&6; } +HPCC=`test $ac_compiler_hp = yes && echo yes` +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 + + +# Extract the first word of "gperf", so it can be a program name with args. +set dummy gperf; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_GPERF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$GPERF"; then + ac_cv_prog_GPERF="$GPERF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_GPERF="gperf" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +GPERF=$ac_cv_prog_GPERF +if test -n "$GPERF"; then + { echo "$as_me:$LINENO: result: $GPERF" >&5 +echo "${ECHO_T}$GPERF" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +test -z "$GPERF" && GPERF='$(top_srcdir)/missing gperf' + +for ac_prog in less +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PAGER+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PAGER"; then + ac_cv_prog_PAGER="$PAGER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PAGER="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +PAGER=$ac_cv_prog_PAGER +if test -n "$PAGER"; then + { echo "$as_me:$LINENO: result: $PAGER" >&5 +echo "${ECHO_T}$PAGER" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$PAGER" && break +done + + +cat >>confdefs.h <<_ACEOF +@%:@define PAGER "$PAGER" +_ACEOF + + +YFLAGS=-d + + +subdirs="$subdirs libltdl" + + + + case $enable_ltdl_convenience in + no) { { echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5 +echo "$as_me: error: this package needs a convenience libltdl" >&2;} + { (exit 1); exit 1; }; } ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/''libltdl'/libltdlc.la + LTDLINCL='-I${top_srcdir}/''libltdl' + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=yes +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LESSTIF 0 +_ACEOF + + + +if 0; then + WITH_X_INTERFACE_TRUE= + WITH_X_INTERFACE_FALSE='#' +else + WITH_X_INTERFACE_TRUE='#' + WITH_X_INTERFACE_FALSE= +fi + + + +# Check whether --enable-bigendian was given. +if test "${enable_bigendian+set}" = set; then + enableval=$enable_bigendian; ski_cv_c_target_bigendian=${enableval} +else + ski_cv_c_target_bigendian=no +fi + + +{ echo "$as_me:$LINENO: checking whether host byte ordering is defined in sys/param.h" >&5 +echo $ECHO_N "checking whether host byte ordering is defined in sys/param.h... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian_compile+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +#error bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ski_cv_c_bigendian_compile=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ski_cv_c_bigendian_compile=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian_compile" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian_compile" >&6; } + +if test "x$ski_cv_c_bigendian_compile" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define ENDIANESS_IN_SYS_PARAM_H 1 +_ACEOF + +else +{ echo "$as_me:$LINENO: checking whether host byte ordering is big endian" >&5 +echo $ECHO_N "checking whether host byte ordering is big endian... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot detect host endianness" >&5 +echo "$as_me: error: cannot detect host endianness" >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int main () { + union { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + return (u.c[sizeof (long) - 1] == 1); +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ski_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ski_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian" >&6; } + + +cat >>confdefs.h <<\_ACEOF +@%:@define BIG_ENDIAN 4321 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +@%:@define LITTLE_ENDIAN 1234 +_ACEOF + +if test "x$ski_cv_c_bigendian" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define BYTE_ORDER 4321 +_ACEOF + +else + +cat >>confdefs.h <<\_ACEOF +@%:@define BYTE_ORDER 1234 +_ACEOF + +fi +fi + + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_working_alloca_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_ALLOCA_H 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_alloca_works=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_alloca_works=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_ALLOCA 1 +_ACEOF + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +@%:@define C_ALLOCA 1 +_ACEOF + + +{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + +cat >>confdefs.h <<_ACEOF +@%:@define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_stack_direction=1 +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } + +cat >>confdefs.h <<_ACEOF +@%:@define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + +vars="" +funcs="strtoull __strtoull" + +# These are neither executed nor required, but they help keep +# autoheader happy. +if test "yes" = "no"; then + + +for ac_func in strtoull __strtoull +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SYS_SIGLIST 1 +_ACEOF + +fi +# Check for $vars +for var in $vars; do + { echo "$as_me:$LINENO: checking for $var" >&5 +echo $ECHO_N "checking for $var... $ECHO_C" >&6; } + if { as_var=ski_cv_var_$var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int *p; +int +main () +{ +extern int $var; p = &$var; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "ski_cv_var_$var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "ski_cv_var_$var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + if eval "test \"`echo '$ski_cv_var_'$var`\" = yes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + n=HAVE_`echo $var | tr 'abcdefghijklmnopqrstuvwxyz' \ + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >>confdefs.h <<_ACEOF +@%:@define $n 1 +_ACEOF + + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi +done +# Check for $funcs + +for ac_func in $funcs +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +if test "${ac_cv_header_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf.h usability" >&5 +echo $ECHO_N "checking libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf.h presence" >&5 +echo $ECHO_N "checking libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_h = yes; then + : +else + if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf/libelf.h usability" >&5 +echo $ECHO_N "checking libelf/libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf/libelf.h presence" >&5 +echo $ECHO_N "checking libelf/libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf/libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf/libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_libelf_h = yes; then + have_libelf_libelf_h=yes +else + { { echo "$as_me:$LINENO: error: Required libelf.h header not found." >&5 +echo "$as_me: error: Required libelf.h header not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +fi + + +if test "x$have_libelf_libelf_h" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBELF_LIBELF_H 1 +_ACEOF + +fi + +if test "$HOST_OS" = linux; then +# Check whether --enable-netdev was given. +if test "${enable_netdev+set}" = set; then + enableval=$enable_netdev; +fi + +if test "x$enable_netdev" != xno; then + +cat >>confdefs.h <<\_ACEOF +@%:@define SKINET_ENABLE 1 +_ACEOF + + with_netdev=yes +fi +fi + + + +if test "x$with_netdev" = xyes; then + WITH_NETDEV_TRUE= + WITH_NETDEV_FALSE='#' +else + WITH_NETDEV_TRUE='#' + WITH_NETDEV_FALSE= +fi + + +if test "$HOST_OS" = freebsd; then + LDFLAGS="$LDFLAGS -lutil" +fi + + +{ echo "$as_me:$LINENO: checking for _Uia64_get_proc_name in -lunwind-ia64" >&5 +echo $ECHO_N "checking for _Uia64_get_proc_name in -lunwind-ia64... $ECHO_C" >&6; } +if test "${ac_cv_lib_unwind_ia64__Uia64_get_proc_name+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lunwind-ia64 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char _Uia64_get_proc_name (); +int +main () +{ +return _Uia64_get_proc_name (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&5 +echo "${ECHO_T}$ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&6; } +if test $ac_cv_lib_unwind_ia64__Uia64_get_proc_name = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBUNWIND_IA64 1 +_ACEOF + + LIBS="-lunwind-ia64 $LIBS" + +fi + + +# Test for IA-64 libbfd + + +# Check whether --with-bfd-includes was given. +if test "${with_bfd_includes+set}" = set; then + withval=$with_bfd_includes; + BFD_CFLAGS="-I$withval" + +fi + + + +# Check whether --with-bfd-libs was given. +if test "${with_bfd_libs+set}" = set; then + withval=$with_bfd_libs; + BFD_LDFLAGS="-L$withval" + +fi + + +{ echo "$as_me:$LINENO: checking for bfd support" >&5 +echo $ECHO_N "checking for bfd support... $ECHO_C" >&6; } + +# Check whether --with-bfd was given. +if test "${with_bfd+set}" = set; then + withval=$with_bfd; +fi + + +if test "x$with_bfd" = xno; then + have_bfd=disabled +else + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LIBS=$LIBS + CFLAGS="$CFLAGS $BFD_CFLAGS" + LDFLAGS="$LDFLAGS $BFD_LDFLAGS" + LIBS="$LIBS -lbfd -liberty" + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + int main() { + bfd_init (); + return bfd_set_default_target ("elf64-ia64-little") == 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + have_bfd=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_bfd=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS +fi + +if test "x$have_bfd" = xyes; then + DWARF_CFLAGS="$BFD_CFLAGS" + DWARF_LIBS="$BFD_LDFLAGS -lbfd -liberty" +fi +{ echo "$as_me:$LINENO: result: $have_bfd" >&5 +echo "${ECHO_T}$have_bfd" >&6; } + +if test "x$have_bfd" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DWARF_SUPPORT 1 +_ACEOF + +fi + + + + + +if test "${ac_cv_header_ski_elf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking ski_elf.h usability" >&5 +echo $ECHO_N "checking ski_elf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking ski_elf.h presence" >&5 +echo $ECHO_N "checking ski_elf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: ski_elf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: ski_elf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: ski_elf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_ski_elf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } + +fi +if test $ac_cv_header_ski_elf_h = yes; then + : +else + ske_elf_h_is_missing=yes +fi + + +if test "x$ske_elf_h_is_missing" = xyes; then + ac_config_links="$ac_config_links src/ski_elf.h:src/missing/ski_elf.h" + +fi + + + +{ echo "$as_me:$LINENO: checking for ldexp in -lm" >&5 +echo $ECHO_N "checking for ldexp in -lm... $ECHO_C" >&6; } +if test "${ac_cv_lib_m_ldexp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ldexp (); +int +main () +{ +return ldexp (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_m_ldexp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_m_ldexp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ldexp" >&5 +echo "${ECHO_T}$ac_cv_lib_m_ldexp" >&6; } +if test $ac_cv_lib_m_ldexp = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libm not found." >&5 +echo "$as_me: error: Required library libm not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +if test "$HOST_OS" = hpux; then + # HPUX prefers libHcurses. + { echo "$as_me:$LINENO: checking for tgetent in -lHcurses" >&5 +echo $ECHO_N "checking for tgetent in -lHcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_Hcurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lHcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_Hcurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_Hcurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_Hcurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_Hcurses_tgetent" >&6; } +if test $ac_cv_lib_Hcurses_tgetent = yes; then + + +cat >>confdefs.h <<\_ACEOF +@%:@define __HP_CURSES 1 +_ACEOF + + LIBS="-lHcurses $LIBS" + check_curses=no +fi + +fi + +if test "x$check_curses" != xno; then + +{ echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5 +echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_curses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_curses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_curses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6; } +if test $ac_cv_lib_curses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBCURSES 1 +_ACEOF + + LIBS="-lcurses $LIBS" + +else + +{ echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 +echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ncurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ncurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6; } +if test $ac_cv_lib_ncurses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBNCURSES 1 +_ACEOF + + LIBS="-lncurses $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required curses library not found." >&5 +echo "$as_me: error: Required curses library not found." >&2;} + { (exit 1); exit 1; }; } +fi + +fi + +fi + + +{ echo "$as_me:$LINENO: checking for elf_begin in -lelf" >&5 +echo $ECHO_N "checking for elf_begin in -lelf... $ECHO_C" >&6; } +if test "${ac_cv_lib_elf_elf_begin+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lelf $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char elf_begin (); +int +main () +{ +return elf_begin (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_elf_elf_begin=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_elf_elf_begin=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_elf_begin" >&5 +echo "${ECHO_T}$ac_cv_lib_elf_elf_begin" >&6; } +if test $ac_cv_lib_elf_elf_begin = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_LIBELF 1 +_ACEOF + + LIBS="-lelf $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libelf not found." >&5 +echo "$as_me: error: Required library libelf not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +case $host_os in + linux*) CFLAGS="$CFLAGS -DLINUX -D_GNU_SOURCE";; + hpux9*) CFLAGS="$CFLAGS -DHPUX9";; + hpux10*) CFLAGS="$CFLAGS -DHPUX1020";; + hpux11*) CFLAGS="$CFLAGS -DHPUX1100";; + freebsd*) CFLAGS="$CFLAGS -DFREEBSD -D__linux__";; +esac + +echo "$CFLAGS" | grep "\-g" > /dev/null && cc_dash_g=yes +if test "x$HPCC" = xyes; then + # if -g is specified add +ESdbgasm for _asm inlined assembly + test "x$cc_dash_g" = xyes && CFLAGS="$CFLAGS +ESdbgasm" + # Add architecture flags + case $host_cpu in + hppa2.0*) CFLAGS="$CFLAGS +DA20 +DS20"; + LDFLAGS="-Wl,+vnocompatwarnings";; + hppa1.1*) CFLAGS="$CFLAGS +DA11 +DS11";; + esac +elif test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -D__norcsid -fno-strict-aliasing"; +fi + +# Check whether --enable-compile-warnings was given. +if test "${enable_compile_warnings+set}" = set; then + enableval=$enable_compile_warnings; +else + enable_compile_warnings=minimum +fi + + +if test "x$enable_compile_warnings" != xno; then + if test "x$GCC" = xyes; then + # CC is GNU cc + CFLAGS="$CFLAGS -Wall -Wunused" + if test "x$enable_compile_warnings" = xnot_ready_for_yes; then + CFLAGS="$CFLAGS -Wmissing-prototypes -Wmissing-declarations" + fi + elif test "x$ICC" = xyes; then + # CC is Intel icc + CFLAGS="$CFLAGS -w1" + elif test "x$HPCC" = xyes; then + # CC is HP ansic + CFLAGS="$CFLAGS +w3" + fi +fi + +encdir='$(top_srcdir)'/src/encodings + + +#AC_CONFIG_LINKS([src/syscall-hpux.c:src/syscall.c]) +#AC_CONFIG_LINKS([src/dwarf-hpux.c:src/dwarf.c]) + +ac_config_files="$ac_config_files ski.spec" + +ac_config_files="$ac_config_files ski-config" + +ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files macros/Makefile" + +ac_config_files="$ac_config_files src/Makefile src/decoder/Makefile src/encoder/Makefile" + +ac_config_files="$ac_config_files src/fake-xterm/Makefile" + +ac_config_files="$ac_config_files doc/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HPUX_TRUE}" && test -z "${HPUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FREEBSD_TRUE}" && test -z "${FREEBSD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSIDE_GNOME_COMMON_TRUE}" && test -z "${INSIDE_GNOME_COMMON_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_X_INTERFACE_TRUE}" && test -z "${WITH_X_INTERFACE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_NETDEV_TRUE}" && test -z "${WITH_NETDEV_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "src/ski_elf.h") CONFIG_LINKS="$CONFIG_LINKS src/ski_elf.h:src/missing/ski_elf.h" ;; + "ski.spec") CONFIG_FILES="$CONFIG_FILES ski.spec" ;; + "ski-config") CONFIG_FILES="$CONFIG_FILES ski-config" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "macros/Makefile") CONFIG_FILES="$CONFIG_FILES macros/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/decoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/decoder/Makefile" ;; + "src/encoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/encoder/Makefile" ;; + "src/fake-xterm/Makefile") CONFIG_FILES="$CONFIG_FILES src/fake-xterm/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +HOST_OS!$HOST_OS$ac_delim +LINUX_TRUE!$LINUX_TRUE$ac_delim +LINUX_FALSE!$LINUX_FALSE$ac_delim +HPUX_TRUE!$HPUX_TRUE$ac_delim +HPUX_FALSE!$HPUX_FALSE$ac_delim +FREEBSD_TRUE!$FREEBSD_TRUE$ac_delim +FREEBSD_FALSE!$FREEBSD_FALSE$ac_delim +SKI_MAJOR_VERSION!$SKI_MAJOR_VERSION$ac_delim +SKI_MINOR_VERSION!$SKI_MINOR_VERSION$ac_delim +SKI_MICRO_VERSION!$SKI_MICRO_VERSION$ac_delim +SKI_VERSION!$SKI_VERSION$ac_delim +SKI_INTERFACE_AGE!$SKI_INTERFACE_AGE$ac_delim +SKI_BINARY_AGE!$SKI_BINARY_AGE$ac_delim +SKI_RELEASE!$SKI_RELEASE$ac_delim +LT_RELEASE!$LT_RELEASE$ac_delim +LT_CURRENT!$LT_CURRENT$ac_delim +LT_REVISION!$LT_REVISION$ac_delim +LT_AGE!$LT_AGE$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +INSIDE_GNOME_COMMON_TRUE!$INSIDE_GNOME_COMMON_TRUE$ac_delim +INSIDE_GNOME_COMMON_FALSE!$INSIDE_GNOME_COMMON_FALSE$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +CCAS!$CCAS$ac_delim +CCASFLAGS!$CCASFLAGS$ac_delim +LN_S!$LN_S$ac_delim +SED!$SED$ac_delim +YACC!$YACC$ac_delim +YFLAGS!$YFLAGS$ac_delim +LEX!$LEX$ac_delim +LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim +LEXLIB!$LEXLIB$ac_delim +GPERF!$GPERF$ac_delim +PAGER!$PAGER$ac_delim +subdirs!$subdirs$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBLTDL!$LIBLTDL$ac_delim +INCLTDL!$INCLTDL$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +WITH_X_INTERFACE_TRUE!$WITH_X_INTERFACE_TRUE$ac_delim +WITH_X_INTERFACE_FALSE!$WITH_X_INTERFACE_FALSE$ac_delim +ALLOCA!$ALLOCA$ac_delim +WITH_NETDEV_TRUE!$WITH_NETDEV_TRUE$ac_delim +WITH_NETDEV_FALSE!$WITH_NETDEV_FALSE$ac_delim +DWARF_CFLAGS!$DWARF_CFLAGS$ac_delim +DWARF_LIBS!$DWARF_LIBS$ac_delim +encdir!$encdir$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 49; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: linking $srcdir/$ac_source to $ac_file" >&6;} + + if test ! -r "$srcdir/$ac_source"; then + { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 +echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $srcdir in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null || + cp -p "$srcdir/$ac_source" "$ac_file" || + { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "ski-config":F) chmod +x ski-config ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + +# +# CONFIG_SUBDIRS section. +# +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + eval "set x $ac_configure_args" + shift + for ac_arg + do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case $ac_arg in + -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=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; + *) + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ac_arg="--prefix=$prefix" + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" + + # Pass --silent + if test "$silent" = yes; then + ac_sub_configure_args="--silent $ac_sub_configure_args" + fi + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + test -d "$srcdir/$ac_dir" || continue + + ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" + echo "$as_me:$LINENO: $ac_msg" >&5 + echo "$ac_msg" >&6 + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + cd "$ac_dir" + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f "$ac_srcdir/configure.gnu"; then + ac_sub_configure=$ac_srcdir/configure.gnu + elif test -f "$ac_srcdir/configure"; then + ac_sub_configure=$ac_srcdir/configure + elif test -f "$ac_srcdir/configure.in"; then + # This should be Cygnus configure. + ac_sub_configure=$ac_aux_dir/configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 +echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; + *) # Relative name. + ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; + esac + + { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. + eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ + --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 +echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + + cd "$ac_popdir" + done +fi + diff --git a/autom4te.cache/requests b/autom4te.cache/requests new file mode 100644 index 0000000..08fd8c4 --- /dev/null +++ b/autom4te.cache/requests @@ -0,0 +1,225 @@ +# This file was generated by Autom4te Wed Jan 17 19:57:31 PST 2007. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + '/usr/share/aclocal/libtool.m4', + 'macros/aclocal-include.m4', + 'macros/compilers.m4', + 'macros/sed.m4', + '/usr/share/aclocal-1.9/amversion.m4', + '/usr/share/aclocal-1.9/as.m4', + '/usr/share/aclocal-1.9/auxdir.m4', + '/usr/share/aclocal-1.9/ccstdc.m4', + '/usr/share/aclocal-1.9/cond.m4', + '/usr/share/aclocal-1.9/depend.m4', + '/usr/share/aclocal-1.9/depout.m4', + '/usr/share/aclocal-1.9/header.m4', + '/usr/share/aclocal-1.9/init.m4', + '/usr/share/aclocal-1.9/install-sh.m4', + '/usr/share/aclocal-1.9/lead-dot.m4', + '/usr/share/aclocal-1.9/lex.m4', + '/usr/share/aclocal-1.9/maintainer.m4', + '/usr/share/aclocal-1.9/make.m4', + '/usr/share/aclocal-1.9/missing.m4', + '/usr/share/aclocal-1.9/mkdirp.m4', + '/usr/share/aclocal-1.9/options.m4', + '/usr/share/aclocal-1.9/runlog.m4', + '/usr/share/aclocal-1.9/sanity.m4', + '/usr/share/aclocal-1.9/strip.m4', + '/usr/share/aclocal-1.9/tar.m4', + 'configure.ac' + ], + { + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_forbid' => 1, + 'AM_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + '_LT_AC_SHELL_INIT' => 1, + 'AC_DISABLE_SHARED' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'AC_DEFUN' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'AM_MISSING_PROG' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + '_m4_warn' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AM_SANITY_CHECK' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'LT_AC_PROG_RC' => 1, + 'AC_LIBTOOL_CXX' => 1, + '_AM_PROG_TAR' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'AM_DISABLE_STATIC' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'AM_DEP_TRACK' => 1, + '_AC_PROG_LIBTOOL' => 1, + 'AM_CONFIG_HEADER' => 1, + 'AM_PROG_CC_STDC' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + '_LT_AC_LANG_F77' => 1, + '_AM_IF_OPTION' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + 'm4_pattern_allow' => 1, + 'AC_LIBTOOL_F77' => 1, + 'AM_DISABLE_SHARED' => 1, + 'AM_SET_LEADING_DOT' => 1, + 'AM_PROG_LIBTOOL' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AM_PROG_LD' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + '_AM_DEPENDENCIES' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'AM_PROG_NM' => 1, + 'AU_DEFUN' => 1, + 'AC_PROG_NM' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'AC_PROG_LD' => 1, + 'AC_PROG_LD_GNU' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'jm_MAINTAINER_MODE' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + '_AM_SET_OPTION' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_DISABLE_STATIC' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AC_DEFUN_ONCE' => 1, + 'AM_ACLOCAL_INCLUDE' => 1, + '_LT_AC_LOCK' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'fp_PROG_CC_STDC' => 1, + 'AC_PROG_SED' => 1, + 'AC_LIBTOOL_RC' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'include' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + 'AC_LANG_COMPILER_CHECK' => 1, + 'LT_AC_PROG_SED' => 1, + 'AM_ENABLE_SHARED' => 1, + 'AM_PROG_AS' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + 'AC_ENABLE_SHARED' => 1, + '_AM_SET_OPTIONS' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_RUN_LOG' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'AM_PROG_LEX' => 1, + 'AC_CHECK_LIBM' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + '_LT_AC_TAGVAR' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AM_SET_DEPDIR' => 1, + 'm4_include' => 1, + 'AM_PROG_INSTALL_SH' => 1, + '_LT_CC_BASENAME' => 1, + 'AC_PROG_EGREP' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AC_PATH_MAGIC' => 1, + 'AM_MAKE_INCLUDE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + 'AM_PROG_F77_C_O' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_forbid' => 1, + 'AC_INIT' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_SUBST' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_LINKS' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'm4_sinclude' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + '_m4_warn' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_CONFIG_FILES' => 1, + 'include' => 1, + 'LT_INIT' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_FC_FREEFORM' => 1, + 'AH_OUTPUT' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'm4_pattern_allow' => 1, + 'AM_PROG_CC_C_O' => 1, + 'sinclude' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'm4_include' => 1, + 'AC_SUBST_TRACE' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 new file mode 100644 index 0000000..6a7c19f --- /dev/null +++ b/autom4te.cache/traces.0 @@ -0,0 +1,9488 @@ +m4trace:/usr/share/aclocal/libtool.m4:25: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote AM_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or AM_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])]) +m4trace:/usr/share/aclocal/libtool.m4:60: -1- AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +]) +m4trace:/usr/share/aclocal/libtool.m4:80: -1- AC_DEFUN([AC_LIBTOOL_SETUP], [AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +]) +m4trace:/usr/share/aclocal/libtool.m4:225: -1- AC_DEFUN([_LT_AC_SYS_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +]) +m4trace:/usr/share/aclocal/libtool.m4:242: -1- AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) +m4trace:/usr/share/aclocal/libtool.m4:259: -1- AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +]) +m4trace:/usr/share/aclocal/libtool.m4:273: -1- AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +]) +m4trace:/usr/share/aclocal/libtool.m4:291: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +]) +m4trace:/usr/share/aclocal/libtool.m4:312: -1- AC_DEFUN([_LT_AC_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +]) +m4trace:/usr/share/aclocal/libtool.m4:325: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], [_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])]) +m4trace:/usr/share/aclocal/libtool.m4:479: -1- AC_DEFUN([_LT_AC_LOCK], [AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +]) +m4trace:/usr/share/aclocal/libtool.m4:632: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:677: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:713: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:831: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:839: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +]) +m4trace:/usr/share/aclocal/libtool.m4:929: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1043: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1095: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1121: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +]) +m4trace:/usr/share/aclocal/libtool.m4:1139: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1179: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], [striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1210: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1837: -1- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1943: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1951: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1960: -1- AC_DEFUN([AC_ENABLE_SHARED], [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +]) +m4trace:/usr/share/aclocal/libtool.m4:1989: -1- AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +]) +m4trace:/usr/share/aclocal/libtool.m4:1999: -1- AC_DEFUN([AC_ENABLE_STATIC], [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +]) +m4trace:/usr/share/aclocal/libtool.m4:2028: -1- AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +]) +m4trace:/usr/share/aclocal/libtool.m4:2038: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +]) +m4trace:/usr/share/aclocal/libtool.m4:2067: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +]) +m4trace:/usr/share/aclocal/libtool.m4:2077: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +]) +m4trace:/usr/share/aclocal/libtool.m4:2101: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:2164: -1- AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:2179: -1- AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +]) +m4trace:/usr/share/aclocal/libtool.m4:2501: -1- AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +]) +m4trace:/usr/share/aclocal/libtool.m4:2553: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +]) +m4trace:/usr/share/aclocal/libtool.m4:2582: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) +m4trace:/usr/share/aclocal/libtool.m4:2608: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) +m4trace:/usr/share/aclocal/libtool.m4:2635: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_LT_AC_LANG_CXX]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2642: -1- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2650: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP], [ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:2663: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_REQUIRE([_LT_AC_LANG_F77]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2670: -1- AC_DEFUN([_LT_AC_LANG_F77], [AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2679: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_REQUIRE([_LT_AC_LANG_GCJ]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2686: -1- AC_DEFUN([_LT_AC_LANG_GCJ], [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2700: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2711: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +m4trace:/usr/share/aclocal/libtool.m4:2712: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG], [lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +]) +m4trace:/usr/share/aclocal/libtool.m4:2792: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +m4trace:/usr/share/aclocal/libtool.m4:2793: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +]) +m4trace:/usr/share/aclocal/libtool.m4:3826: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP], [ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +]) +m4trace:/usr/share/aclocal/libtool.m4:4018: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +m4trace:/usr/share/aclocal/libtool.m4:4019: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG], [AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +]) +m4trace:/usr/share/aclocal/libtool.m4:4127: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +m4trace:/usr/share/aclocal/libtool.m4:4128: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], [AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +]) +m4trace:/usr/share/aclocal/libtool.m4:4187: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +m4trace:/usr/share/aclocal/libtool.m4:4188: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG], [AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +]) +m4trace:/usr/share/aclocal/libtool.m4:4232: -1- AC_DEFUN([AC_LIBTOOL_CONFIG], [# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:4723: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:4741: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:4944: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) +m4trace:/usr/share/aclocal/libtool.m4:5503: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +]) +m4trace:/usr/share/aclocal/libtool.m4:6450: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +]) +m4trace:/usr/share/aclocal/libtool.m4:6489: -1- AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) +m4trace:/usr/share/aclocal/libtool.m4:6493: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +m4trace:/usr/share/aclocal/libtool.m4:6494: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/libtool.m4:6495: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/libtool.m4:6496: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/libtool.m4:6497: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/libtool.m4:6498: -1- AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +m4trace:/usr/share/aclocal/libtool.m4:6499: -1- AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) +m4trace:/usr/share/aclocal/libtool.m4:6504: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) +m4trace:/usr/share/aclocal/libtool.m4:6510: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) +]) +m4trace:/usr/share/aclocal/libtool.m4:6548: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +]) +m4trace:macros/aclocal-include.m4:25: -1- AC_DEFUN([AM_ACLOCAL_INCLUDE], [ + AM_CONDITIONAL(INSIDE_GNOME_COMMON, test x = y) + + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done +]) +m4trace:macros/compilers.m4:50: -1- AC_DEFUN([AC_LANG_COMPILER_CHECK], [ +# Check for Intel & HP's C compilers +AC_LANG_PUSH(C)dnl +_AC_LANG_COMPILER_INTEL +ICC=`test $ac_compiler_intel = yes && echo yes` +_AC_LANG_COMPILER_HP +HPCC=`test $ac_compiler_hp = yes && echo yes` +AC_LANG_POP(C)dnl +]) +m4trace:macros/sed.m4:22: -1- AC_DEFUN([AC_PROG_SED], [ + AC_CHECK_PROG(SED, sed, sed, /bin/sed) +]) +m4trace:/usr/share/aclocal-1.9/amversion.m4:13: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) +m4trace:/usr/share/aclocal-1.9/amversion.m4:19: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.9.6])]) +m4trace:/usr/share/aclocal-1.9/as.m4:13: -1- AC_DEFUN([AM_PROG_AS], [# By default we simply use the C compiler to build assembly code. +AC_REQUIRE([AC_PROG_CC]) +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS +AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) +AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) +]) +m4trace:/usr/share/aclocal-1.9/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) +m4trace:/usr/share/aclocal-1.9/ccstdc.m4:17: -1- AU_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC +AC_DIAGNOSE([obsolete], [$0: + your code should no longer depend upon `am_cv_prog_cc_stdc', but upon + `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when + you adjust the code. You can also remove the above call to + AC_PROG_CC if you already called it elsewhere.]) +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +]) +m4trace:/usr/share/aclocal-1.9/ccstdc.m4:17: -1- AC_DEFUN([AM_PROG_CC_STDC], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_CC_STDC' is obsolete. +You should run autoupdate.])dnl +AC_PROG_CC +AC_DIAGNOSE([obsolete], [$0: + your code should no longer depend upon `am_cv_prog_cc_stdc', but upon + `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when + you adjust the code. You can also remove the above call to + AC_PROG_CC if you already called it elsewhere.]) +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +]) +m4trace:/usr/share/aclocal-1.9/ccstdc.m4:26: -1- AU_DEFUN([fp_PROG_CC_STDC]) +m4trace:/usr/share/aclocal-1.9/ccstdc.m4:26: -1- AC_DEFUN([fp_PROG_CC_STDC], [AC_DIAGNOSE([obsolete], [The macro `fp_PROG_CC_STDC' is obsolete. +You should run autoupdate.])dnl +]) +m4trace:/usr/share/aclocal-1.9/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +m4trace:/usr/share/aclocal-1.9/depend.m4:29: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) +m4trace:/usr/share/aclocal-1.9/depend.m4:138: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/usr/share/aclocal-1.9/depend.m4:146: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) +m4trace:/usr/share/aclocal-1.9/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +]) +m4trace:/usr/share/aclocal-1.9/depout.m4:63: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) +m4trace:/usr/share/aclocal-1.9/header.m4:12: -1- AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) +m4trace:/usr/share/aclocal-1.9/header.m4:12: -1- AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.])dnl +AC_CONFIG_HEADERS($@)]) +m4trace:/usr/share/aclocal-1.9/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) +m4trace:/usr/share/aclocal-1.9/init.m4:102: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +m4trace:/usr/share/aclocal-1.9/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) +m4trace:/usr/share/aclocal-1.9/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +m4trace:/usr/share/aclocal-1.9/lex.m4:16: -1- AC_DEFUN([AM_PROG_LEX], [AC_PREREQ(2.50)dnl +AC_REQUIRE([AM_MISSING_HAS_RUN])dnl +AC_REQUIRE([AC_PROG_LEX])dnl +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi]) +m4trace:/usr/share/aclocal-1.9/maintainer.m4:13: -1- AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl + +]) +m4trace:/usr/share/aclocal-1.9/maintainer.m4:28: -1- AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) +m4trace:/usr/share/aclocal-1.9/maintainer.m4:28: -1- AC_DEFUN([jm_MAINTAINER_MODE], [AC_DIAGNOSE([obsolete], [The macro `jm_MAINTAINER_MODE' is obsolete. +You should run autoupdate.])dnl +AM_MAINTAINER_MODE]) +m4trace:/usr/share/aclocal-1.9/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) +m4trace:/usr/share/aclocal-1.9/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/usr/share/aclocal-1.9/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) +m4trace:/usr/share/aclocal-1.9/mkdirp.m4:30: -1- AC_DEFUN([AM_PROG_MKDIR_P], [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) +m4trace:/usr/share/aclocal-1.9/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/usr/share/aclocal-1.9/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +m4trace:/usr/share/aclocal-1.9/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/usr/share/aclocal-1.9/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/usr/share/aclocal-1.9/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/usr/share/aclocal-1.9/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) +m4trace:/usr/share/aclocal-1.9/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +m4trace:/usr/share/aclocal-1.9/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:26: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:38: -1- m4_pattern_allow([^HOST_OS$]) +m4trace:configure.ac:39: -1- AM_CONDITIONAL([LINUX], [test "$HOST_OS" = linux]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^LINUX_TRUE$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^LINUX_FALSE$]) +m4trace:configure.ac:40: -1- AM_CONDITIONAL([HPUX], [test "$HOST_OS" = hpux]) +m4trace:configure.ac:40: -1- m4_pattern_allow([^HPUX_TRUE$]) +m4trace:configure.ac:40: -1- m4_pattern_allow([^HPUX_FALSE$]) +m4trace:configure.ac:41: -1- AM_CONDITIONAL([FREEBSD], [test "$HOST_OS" = freebsd]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^FREEBSD_TRUE$]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^FREEBSD_FALSE$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^SKI_MAJOR_VERSION$]) +m4trace:configure.ac:54: -1- m4_pattern_allow([^SKI_MINOR_VERSION$]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^SKI_MICRO_VERSION$]) +m4trace:configure.ac:56: -1- m4_pattern_allow([^SKI_VERSION$]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^SKI_INTERFACE_AGE$]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^SKI_BINARY_AGE$]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^SKI_RELEASE$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^SKI_RELEASE$]) +m4trace:configure.ac:67: -1- m4_pattern_allow([^LT_RELEASE$]) +m4trace:configure.ac:68: -1- m4_pattern_allow([^LT_CURRENT$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LT_REVISION$]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^LT_AGE$]) +m4trace:configure.ac:80: -1- AM_INIT_AUTOMAKE([$PACKAGE], [$VERSION]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:80: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:80: -1- AM_AUTOMAKE_VERSION([1.9.6]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:80: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) +m4trace:configure.ac:80: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:80: -1- AM_SANITY_CHECK +m4trace:configure.ac:80: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:80: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:80: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:80: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:80: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:80: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:80: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:80: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:80: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:80: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:80: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:80: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:80: -1- AM_PROG_MKDIR_P +m4trace:configure.ac:80: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:80: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:80: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:80: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:80: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:80: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:80: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:80: -1- AM_MISSING_PROG([AMTAR], [tar]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:80: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +m4trace:configure.ac:80: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:83: -1- AM_CONFIG_HEADER([config.h]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.], [/usr/share/aclocal-1.9/header.m4:12: AM_CONFIG_HEADER is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:84: -1- AM_ACLOCAL_INCLUDE([macros]) +m4trace:configure.ac:84: -1- AM_CONDITIONAL([INSIDE_GNOME_COMMON], [test x = y]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^INSIDE_GNOME_COMMON_TRUE$]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^INSIDE_GNOME_COMMON_FALSE$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:87: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:87: -1- AM_SET_DEPDIR +m4trace:configure.ac:87: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:87: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:87: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:87: -1- AM_DEP_TRACK +m4trace:configure.ac:87: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:87: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:88: -1- AM_PROG_CC_STDC +m4trace:configure.ac:88: -1- _m4_warn([obsolete], [The macro `AM_PROG_CC_STDC' is obsolete. +You should run autoupdate.], [/usr/share/aclocal-1.9/ccstdc.m4:17: AM_PROG_CC_STDC is expanded from... +configure.ac:88: the top level]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:88: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:88: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:88: -1- _m4_warn([obsolete], [AM_PROG_CC_STDC: + your code should no longer depend upon `am_cv_prog_cc_stdc', but upon + `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when + you adjust the code. You can also remove the above call to + AC_PROG_CC if you already called it elsewhere.], [/usr/share/aclocal-1.9/ccstdc.m4:17: AM_PROG_CC_STDC is expanded from... +configure.ac:88: the top level]) +m4trace:configure.ac:89: -1- AM_PROG_AS +m4trace:configure.ac:89: -1- m4_pattern_allow([^CCAS$]) +m4trace:configure.ac:89: -1- m4_pattern_allow([^CCASFLAGS$]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:91: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:92: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:93: -1- AC_PROG_SED +m4trace:configure.ac:93: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YACC$]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YACC$]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YFLAGS$]) +m4trace:configure.ac:95: -1- AM_PROG_LEX +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEX$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEXLIB$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^YYTEXT_POINTER$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:101: -1- AM_DISABLE_SHARED +m4trace:configure.ac:101: -1- AC_DISABLE_SHARED([]) +m4trace:configure.ac:101: -1- AC_ENABLE_SHARED([no]) +m4trace:configure.ac:101: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +/usr/share/aclocal/libtool.m4:1960: AC_ENABLE_SHARED is expanded from... +/usr/share/aclocal/libtool.m4:1989: AC_DISABLE_SHARED is expanded from... +/usr/share/aclocal/libtool.m4:6496: AM_DISABLE_SHARED is expanded from... +configure.ac:101: the top level]) +m4trace:configure.ac:104: -1- AC_LANG_COMPILER_CHECK +m4trace:configure.ac:107: -1- m4_pattern_allow([^GPERF$]) +m4trace:configure.ac:111: -1- m4_pattern_allow([^PAGER$]) +m4trace:configure.ac:112: -1- m4_pattern_allow([^PAGER$]) +m4trace:configure.ac:116: -1- m4_pattern_allow([^YFLAGS$]) +m4trace:configure.ac:119: -1- m4_pattern_allow([^subdirs$]) +m4trace:configure.ac:120: -1- AC_LIBTOOL_DLOPEN +m4trace:configure.ac:121: -1- AC_LIBLTDL_CONVENIENCE +m4trace:configure.ac:122: -1- AM_PROG_LIBTOOL +m4trace:configure.ac:122: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:122: -1- _AC_PROG_LIBTOOL +m4trace:configure.ac:122: -1- AC_LIBTOOL_SETUP +m4trace:configure.ac:122: -1- AC_ENABLE_STATIC +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +/usr/share/aclocal/libtool.m4:1999: AC_ENABLE_STATIC is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_ENABLE_FAST_INSTALL +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +/usr/share/aclocal/libtool.m4:2038: AC_ENABLE_FAST_INSTALL is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_PROG_LD +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +/usr/share/aclocal/libtool.m4:2179: AC_PROG_LD is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- LT_AC_PROG_SED +m4trace:configure.ac:122: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:122: -1- AC_PROG_LD_GNU +m4trace:configure.ac:122: -1- AC_PROG_EGREP +m4trace:configure.ac:122: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:122: -1- AC_PROG_LD_RELOAD_FLAG +m4trace:configure.ac:122: -1- AC_PROG_NM +m4trace:configure.ac:122: -1- AC_DEPLIBS_CHECK_METHOD +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_MAX_CMD_LEN +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_OBJDIR +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_AC_PROG_ECHO_BACKSLASH +m4trace:configure.ac:122: -1- _LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ECHO$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- AC_PATH_MAGIC +m4trace:configure.ac:122: -1- AC_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:122: -1- AC_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LANG_C_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_LANG_C_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([objext], []) +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_NO_RTTI([]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_PIC([]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, ) works], [lt_prog_compiler_pic_works], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, )ifelse([],[],[ -DPIC],[ifelse([],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, ) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, )=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, )" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, )= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, )=]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_CC_C_O([]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([]) +m4trace:configure.ac:122: -1- _LT_AC_LOCK +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +/usr/share/aclocal/libtool.m4:479: _LT_AC_LOCK is expanded from... +/usr/share/aclocal/libtool.m4:1095: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +/usr/share/aclocal/libtool.m4:2712: _LT_AC_LANG_C_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:2711: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_SHLIBS([]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([reload_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([runpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_LIB_STRIP +m4trace:configure.ac:122: -1- AC_LIBTOOL_DLOPEN_SELF +m4trace:configure.ac:122: -1- _LT_AC_CHECK_DLFCN +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:122: -1- _LT_AC_TRY_DLOPEN_SELF([lt_cv_dlopen_self=yes], [lt_cv_dlopen_self=yes], [lt_cv_dlopen_self=no], [lt_cv_dlopen_self=cross]) +m4trace:configure.ac:122: -1- _LT_AC_TRY_DLOPEN_SELF([lt_cv_dlopen_self_static=yes], [lt_cv_dlopen_self_static=yes], [lt_cv_dlopen_self_static=no], [lt_cv_dlopen_self_static=cross]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CONFIG([]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([CC], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postinstall_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postuninstall_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:122: -1- _LT_AC_TAGCONFIG +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LANG_CXX_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_LANG_CXX_CONFIG([CXX]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:122: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:122: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:122: -1- _LT_AC_PROG_CXXCPP +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([objext], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:122: -1- AC_PROG_LD +m4trace:configure.ac:122: -1- AC_PROG_LD_GNU +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_POSTDEP_PREDEP([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_PIC([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX) works], [lt_prog_compiler_pic_works_CXX], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)ifelse([CXX],[],[ -DPIC],[ifelse([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, CXX)=]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_CC_C_O([CXX]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_SHLIBS([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([runpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CONFIG([CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([CC], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postinstall_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postuninstall_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [CXX]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LANG_F77_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_LANG_F77_CONFIG([F77]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([objext], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_PIC([F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77) works], [lt_prog_compiler_pic_works_F77], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)ifelse([F77],[],[ -DPIC],[ifelse([F77],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, F77)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, F77)=no]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_F77], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, F77)=]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_CC_C_O([F77]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_SHLIBS([F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([reload_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([runpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CONFIG([F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([CC], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postinstall_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postuninstall_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LANG_GCJ_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_LANG_GCJ_CONFIG([GCJ]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +/usr/share/aclocal/libtool.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([objext], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_NO_RTTI([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_COMPILER_PIC([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ) works], [lt_prog_compiler_pic_works_GCJ], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)ifelse([GCJ],[],[ -DPIC],[ifelse([GCJ],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, GCJ)=no]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_GCJ], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, GCJ)=]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_CC_C_O([GCJ]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_SHLIBS([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([reload_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -2- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([runpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CONFIG([GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([CC], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postinstall_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postuninstall_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +/usr/share/aclocal/libtool.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_LANG_RC_CONFIG +m4trace:configure.ac:122: -1- _LT_AC_LANG_RC_CONFIG([RC]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +/usr/share/aclocal/libtool.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([objext], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:122: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:122: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CONFIG([RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([CC], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postinstall_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postuninstall_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([fix_srcfile_path], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([GCC], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([LD], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predep_objects], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdep_objects], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([predeps], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([postdeps], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([allow_undefined_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([no_undefined_flag], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_action], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_direct], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_minus_L], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([hardcode_automatic], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([link_all_deplibs], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([always_export_symbols], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([exclude_expsyms], [RC]) +m4trace:configure.ac:122: -1- _LT_AC_TAGVAR([include_expsyms], [RC]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +/usr/share/aclocal/libtool.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +/usr/share/aclocal/libtool.m4:1837: _LT_AC_TAGCONFIG is expanded from... +/usr/share/aclocal/libtool.m4:80: AC_LIBTOOL_SETUP is expanded from... +/usr/share/aclocal/libtool.m4:60: _AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:25: AC_PROG_LIBTOOL is expanded from... +/usr/share/aclocal/libtool.m4:6493: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_CXX +m4trace:configure.ac:122: -1- _LT_AC_LANG_CXX +m4trace:configure.ac:122: -1- _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +m4trace:configure.ac:122: -1- AC_LIBTOOL_F77 +m4trace:configure.ac:122: -1- _LT_AC_LANG_F77 +m4trace:configure.ac:122: -1- _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +m4trace:configure.ac:123: -1- m4_pattern_allow([^LIBLTDL$]) +m4trace:configure.ac:124: -1- m4_pattern_allow([^INCLTDL$]) +m4trace:configure.ac:127: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:127: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:194: -1- m4_pattern_allow([^HAVE_LESSTIF$]) +m4trace:configure.ac:195: -1- AM_CONDITIONAL([WITH_X_INTERFACE], [0]) +m4trace:configure.ac:195: -1- m4_pattern_allow([^WITH_X_INTERFACE_TRUE$]) +m4trace:configure.ac:195: -1- m4_pattern_allow([^WITH_X_INTERFACE_FALSE$]) +m4trace:configure.ac:202: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:202: the top level]) +m4trace:configure.ac:207: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2367: AC_TRY_COMPILE is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +configure.ac:207: the top level]) +m4trace:configure.ac:220: -1- m4_pattern_allow([^ENDIANESS_IN_SYS_PARAM_H$]) +m4trace:configure.ac:223: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +configure.ac:223: the top level]) +m4trace:configure.ac:236: -1- m4_pattern_allow([^BIG_ENDIAN$]) +m4trace:configure.ac:237: -1- m4_pattern_allow([^LITTLE_ENDIAN$]) +m4trace:configure.ac:239: -1- m4_pattern_allow([^BYTE_ORDER$]) +m4trace:configure.ac:242: -1- m4_pattern_allow([^BYTE_ORDER$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^HAVE_ALLOCA_H$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^HAVE_ALLOCA$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^ALLOCA$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^C_ALLOCA$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^CRAY_STACKSEG_END$]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^STACK_DIRECTION$]) +m4trace:configure.ac:258: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$]) +m4trace:configure.ac:264: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +configure.ac:264: the top level]) +m4trace:configure.ac:285: -1- m4_pattern_allow([^HAVE_LIBELF_LIBELF_H$]) +m4trace:configure.ac:291: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:291: the top level]) +m4trace:configure.ac:293: -1- m4_pattern_allow([^SKINET_ENABLE$]) +m4trace:configure.ac:298: -1- AM_CONDITIONAL([WITH_NETDEV], [test "x$with_netdev" = xyes]) +m4trace:configure.ac:298: -1- m4_pattern_allow([^WITH_NETDEV_TRUE$]) +m4trace:configure.ac:298: -1- m4_pattern_allow([^WITH_NETDEV_FALSE$]) +m4trace:configure.ac:305: -1- m4_pattern_allow([^HAVE_LIBUNWIND_IA64$]) +m4trace:configure.ac:310: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:310: the top level]) +m4trace:configure.ac:315: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:315: the top level]) +m4trace:configure.ac:320: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:320: the top level]) +m4trace:configure.ac:331: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +configure.ac:331: the top level]) +m4trace:configure.ac:331: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2462: AC_RUN_IFELSE is expanded from... +../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +configure.ac:331: the top level]) +m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_DWARF_SUPPORT$]) +m4trace:configure.ac:354: -1- m4_pattern_allow([^DWARF_CFLAGS$]) +m4trace:configure.ac:355: -1- m4_pattern_allow([^DWARF_LIBS$]) +m4trace:configure.ac:365: -1- m4_pattern_allow([^HAVE_LIBM$]) +m4trace:configure.ac:370: -1- m4_pattern_allow([^__HP_CURSES$]) +m4trace:configure.ac:377: -1- m4_pattern_allow([^HAVE_LIBCURSES$]) +m4trace:configure.ac:377: -1- m4_pattern_allow([^HAVE_LIBNCURSES$]) +m4trace:configure.ac:382: -1- m4_pattern_allow([^HAVE_LIBELF$]) +m4trace:configure.ac:410: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:410: the top level]) +m4trace:configure.ac:431: -1- m4_pattern_allow([^encdir$]) +m4trace:configure.ac:447: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:447: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:447: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file]) +m4trace:configure.ac:447: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1 new file mode 100644 index 0000000..9a996c4 --- /dev/null +++ b/autom4te.cache/traces.1 @@ -0,0 +1,956 @@ +m4trace:aclocal.m4:6595: -1- m4_include([macros/aclocal-include.m4]) +m4trace:aclocal.m4:6596: -1- m4_include([macros/compilers.m4]) +m4trace:aclocal.m4:6597: -1- m4_include([macros/sed.m4]) +m4trace:configure.ac:26: -1- AC_INIT([src/ski.h]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:26: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:26: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:26: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:26: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:26: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:26: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:26: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:26: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:26: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:26: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:26: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:26: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:26: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:26: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:26: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:26: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:26: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:26: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:26: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +#undef PACKAGE_NAME]) +m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME]) +m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +#undef PACKAGE_VERSION]) +m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING]) +m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:26: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:26: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:26: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:26: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:26: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:26: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:26: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:26: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:29: -1- AC_CANONICAL_HOST +m4trace:configure.ac:29: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:29: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:29: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:29: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:29: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:29: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:29: -1- AC_SUBST([build_os]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:29: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:29: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:29: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:29: -1- AC_SUBST([host_os]) +m4trace:configure.ac:29: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:29: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:38: -1- AC_SUBST([HOST_OS]) +m4trace:configure.ac:38: -1- AC_SUBST_TRACE([HOST_OS]) +m4trace:configure.ac:38: -1- m4_pattern_allow([^HOST_OS$]) +m4trace:configure.ac:39: -1- AM_CONDITIONAL([LINUX], [test "$HOST_OS" = linux]) +m4trace:configure.ac:39: -1- AC_SUBST([LINUX_TRUE]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([LINUX_TRUE]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^LINUX_TRUE$]) +m4trace:configure.ac:39: -1- AC_SUBST([LINUX_FALSE]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([LINUX_FALSE]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^LINUX_FALSE$]) +m4trace:configure.ac:40: -1- AM_CONDITIONAL([HPUX], [test "$HOST_OS" = hpux]) +m4trace:configure.ac:40: -1- AC_SUBST([HPUX_TRUE]) +m4trace:configure.ac:40: -1- AC_SUBST_TRACE([HPUX_TRUE]) +m4trace:configure.ac:40: -1- m4_pattern_allow([^HPUX_TRUE$]) +m4trace:configure.ac:40: -1- AC_SUBST([HPUX_FALSE]) +m4trace:configure.ac:40: -1- AC_SUBST_TRACE([HPUX_FALSE]) +m4trace:configure.ac:40: -1- m4_pattern_allow([^HPUX_FALSE$]) +m4trace:configure.ac:41: -1- AM_CONDITIONAL([FREEBSD], [test "$HOST_OS" = freebsd]) +m4trace:configure.ac:41: -1- AC_SUBST([FREEBSD_TRUE]) +m4trace:configure.ac:41: -1- AC_SUBST_TRACE([FREEBSD_TRUE]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^FREEBSD_TRUE$]) +m4trace:configure.ac:41: -1- AC_SUBST([FREEBSD_FALSE]) +m4trace:configure.ac:41: -1- AC_SUBST_TRACE([FREEBSD_FALSE]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^FREEBSD_FALSE$]) +m4trace:configure.ac:53: -1- AC_SUBST([SKI_MAJOR_VERSION]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([SKI_MAJOR_VERSION]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^SKI_MAJOR_VERSION$]) +m4trace:configure.ac:54: -1- AC_SUBST([SKI_MINOR_VERSION]) +m4trace:configure.ac:54: -1- AC_SUBST_TRACE([SKI_MINOR_VERSION]) +m4trace:configure.ac:54: -1- m4_pattern_allow([^SKI_MINOR_VERSION$]) +m4trace:configure.ac:55: -1- AC_SUBST([SKI_MICRO_VERSION]) +m4trace:configure.ac:55: -1- AC_SUBST_TRACE([SKI_MICRO_VERSION]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^SKI_MICRO_VERSION$]) +m4trace:configure.ac:56: -1- AC_SUBST([SKI_VERSION]) +m4trace:configure.ac:56: -1- AC_SUBST_TRACE([SKI_VERSION]) +m4trace:configure.ac:56: -1- m4_pattern_allow([^SKI_VERSION$]) +m4trace:configure.ac:57: -1- AC_SUBST([SKI_INTERFACE_AGE]) +m4trace:configure.ac:57: -1- AC_SUBST_TRACE([SKI_INTERFACE_AGE]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^SKI_INTERFACE_AGE$]) +m4trace:configure.ac:58: -1- AC_SUBST([SKI_BINARY_AGE]) +m4trace:configure.ac:58: -1- AC_SUBST_TRACE([SKI_BINARY_AGE]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^SKI_BINARY_AGE$]) +m4trace:configure.ac:59: -1- AC_SUBST([SKI_RELEASE]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([SKI_RELEASE]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^SKI_RELEASE$]) +m4trace:configure.ac:60: -1- AC_DEFINE_TRACE_LITERAL([SKI_RELEASE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^SKI_RELEASE$]) +m4trace:configure.ac:60: -1- AH_OUTPUT([SKI_RELEASE], [/* Ski release string. */ +#undef SKI_RELEASE]) +m4trace:configure.ac:67: -1- AC_SUBST([LT_RELEASE]) +m4trace:configure.ac:67: -1- AC_SUBST_TRACE([LT_RELEASE]) +m4trace:configure.ac:67: -1- m4_pattern_allow([^LT_RELEASE$]) +m4trace:configure.ac:68: -1- AC_SUBST([LT_CURRENT]) +m4trace:configure.ac:68: -1- AC_SUBST_TRACE([LT_CURRENT]) +m4trace:configure.ac:68: -1- m4_pattern_allow([^LT_CURRENT$]) +m4trace:configure.ac:69: -1- AC_SUBST([LT_REVISION]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LT_REVISION]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LT_REVISION$]) +m4trace:configure.ac:70: -1- AC_SUBST([LT_AGE]) +m4trace:configure.ac:70: -1- AC_SUBST_TRACE([LT_AGE]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^LT_AGE$]) +m4trace:configure.ac:80: -1- AM_INIT_AUTOMAKE([$PACKAGE], [$VERSION]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:80: -1- AM_AUTOMAKE_VERSION([1.9.6]) +m4trace:configure.ac:80: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:80: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:80: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:80: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:80: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:80: -1- AC_SUBST([PACKAGE], [$PACKAGE]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:80: -1- AC_SUBST([VERSION], [$VERSION]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:80: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:80: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +#undef PACKAGE]) +m4trace:configure.ac:80: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:80: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +#undef VERSION]) +m4trace:configure.ac:80: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:80: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:80: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:80: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:80: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:80: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:80: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:80: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:80: -1- AC_SUBST([mkdir_p]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:80: -1- AC_SUBST([AWK]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:80: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:80: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:80: -1- AC_SUBST([AMTAR]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:80: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:80: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:80: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.], [aclocal.m4:6981: AM_CONFIG_HEADER is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- AC_CONFIG_HEADERS([config.h]) +m4trace:configure.ac:84: -1- AM_CONDITIONAL([INSIDE_GNOME_COMMON], [test x = y]) +m4trace:configure.ac:84: -1- AC_SUBST([INSIDE_GNOME_COMMON_TRUE]) +m4trace:configure.ac:84: -1- AC_SUBST_TRACE([INSIDE_GNOME_COMMON_TRUE]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^INSIDE_GNOME_COMMON_TRUE$]) +m4trace:configure.ac:84: -1- AC_SUBST([INSIDE_GNOME_COMMON_FALSE]) +m4trace:configure.ac:84: -1- AC_SUBST_TRACE([INSIDE_GNOME_COMMON_FALSE]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^INSIDE_GNOME_COMMON_FALSE$]) +m4trace:configure.ac:87: -1- AC_SUBST([CC]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:87: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:87: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:87: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:87: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:87: -1- AC_SUBST([CC]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:87: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:87: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:87: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:87: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:87: -1- AC_SUBST([am__include]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:87: -1- AC_SUBST([am__quote]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([am__quote]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:87: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:87: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:87: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:87: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:87: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:87: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:87: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:87: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:87: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:87: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:88: -1- _m4_warn([obsolete], [The macro `AM_PROG_CC_STDC' is obsolete. +You should run autoupdate.], [aclocal.m4:6703: AM_PROG_CC_STDC is expanded from... +configure.ac:88: the top level]) +m4trace:configure.ac:88: -1- AC_SUBST([CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:88: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:88: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:88: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:88: -1- AC_SUBST([CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:88: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:88: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:88: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:88: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:88: -1- _m4_warn([obsolete], [AM_PROG_CC_STDC: + your code should no longer depend upon `am_cv_prog_cc_stdc', but upon + `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when + you adjust the code. You can also remove the above call to + AC_PROG_CC if you already called it elsewhere.], [aclocal.m4:6703: AM_PROG_CC_STDC is expanded from... +configure.ac:88: the top level]) +m4trace:configure.ac:89: -1- AC_SUBST([CCAS]) +m4trace:configure.ac:89: -1- AC_SUBST_TRACE([CCAS]) +m4trace:configure.ac:89: -1- m4_pattern_allow([^CCAS$]) +m4trace:configure.ac:89: -1- AC_SUBST([CCASFLAGS]) +m4trace:configure.ac:89: -1- AC_SUBST_TRACE([CCASFLAGS]) +m4trace:configure.ac:89: -1- m4_pattern_allow([^CCASFLAGS$]) +m4trace:configure.ac:90: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:90: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:90: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:90: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:90: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:90: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:90: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:90: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:91: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:91: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:91: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:92: -1- AC_SUBST([AWK]) +m4trace:configure.ac:92: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:92: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:93: -1- AC_SUBST([SED]) +m4trace:configure.ac:93: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:93: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:94: -1- AC_SUBST([YACC]) +m4trace:configure.ac:94: -1- AC_SUBST_TRACE([YACC]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YACC$]) +m4trace:configure.ac:94: -1- AC_SUBST([YACC]) +m4trace:configure.ac:94: -1- AC_SUBST_TRACE([YACC]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YACC$]) +m4trace:configure.ac:94: -1- AC_SUBST([YFLAGS]) +m4trace:configure.ac:94: -1- AC_SUBST_TRACE([YFLAGS]) +m4trace:configure.ac:94: -1- m4_pattern_allow([^YFLAGS$]) +m4trace:configure.ac:95: -1- AC_SUBST([LEX]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([LEX]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEX$]) +m4trace:configure.ac:95: -1- AC_SUBST([LEX_OUTPUT_ROOT], [$ac_cv_prog_lex_root]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([LEX_OUTPUT_ROOT]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$]) +m4trace:configure.ac:95: -1- AC_SUBST([LEXLIB]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([LEXLIB]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LEXLIB$]) +m4trace:configure.ac:95: -1- AC_DEFINE_TRACE_LITERAL([YYTEXT_POINTER]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^YYTEXT_POINTER$]) +m4trace:configure.ac:95: -1- AH_OUTPUT([YYTEXT_POINTER], [/* Define to 1 if `lex\' declares `yytext\' as a `char *\' by default, not a + `char[]\'. */ +#undef YYTEXT_POINTER]) +m4trace:configure.ac:97: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler + calls it, or to nothing if \'inline\' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif]) +m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([const]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:98: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ +#undef const]) +m4trace:configure.ac:101: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +aclocal.m4:1966: AC_ENABLE_SHARED is expanded from... +aclocal.m4:1995: AC_DISABLE_SHARED is expanded from... +aclocal.m4:6490: AM_DISABLE_SHARED is expanded from... +configure.ac:101: the top level]) +m4trace:configure.ac:107: -1- AC_SUBST([GPERF]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([GPERF]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^GPERF$]) +m4trace:configure.ac:111: -1- AC_SUBST([PAGER]) +m4trace:configure.ac:111: -1- AC_SUBST_TRACE([PAGER]) +m4trace:configure.ac:111: -1- m4_pattern_allow([^PAGER$]) +m4trace:configure.ac:112: -1- AC_DEFINE_TRACE_LITERAL([PAGER]) +m4trace:configure.ac:112: -1- m4_pattern_allow([^PAGER$]) +m4trace:configure.ac:112: -1- AH_OUTPUT([PAGER], [/* Define to the pager program. */ +#undef PAGER]) +m4trace:configure.ac:116: -1- AC_SUBST([YFLAGS]) +m4trace:configure.ac:116: -1- AC_SUBST_TRACE([YFLAGS]) +m4trace:configure.ac:116: -1- m4_pattern_allow([^YFLAGS$]) +m4trace:configure.ac:119: -1- AC_CONFIG_SUBDIRS([libltdl]) +m4trace:configure.ac:119: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([libltdl])"]) +m4trace:configure.ac:119: -1- AC_SUBST_TRACE([subdirs]) +m4trace:configure.ac:119: -1- m4_pattern_allow([^subdirs$]) +m4trace:configure.ac:122: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +aclocal.m4:2005: AC_ENABLE_STATIC is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +aclocal.m4:2044: AC_ENABLE_FAST_INSTALL is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +aclocal.m4:2185: AC_PROG_LD is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_SUBST([SED]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:122: -1- AC_SUBST([GREP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:122: -1- AC_SUBST([GREP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:122: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:122: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:122: -1- AC_SUBST([ECHO]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([ECHO]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ECHO$]) +m4trace:configure.ac:122: -1- AC_SUBST([AR]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:122: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:122: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +aclocal.m4:485: _LT_AC_LOCK is expanded from... +aclocal.m4:1101: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:2718: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:2717: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H]) +m4trace:configure.ac:122: -1- AC_SUBST([CPP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:122: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([CPP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:122: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:122: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H]) +m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.ac:122: -1- _LT_AC_TAGCONFIG +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_SUBST([CXX]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:122: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:122: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([CXX]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:122: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:122: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:122: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:122: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:122: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:122: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:122: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:122: -1- AC_SUBST([F77]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:122: -1- AC_SUBST([FFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([FFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:122: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:122: -1- AC_SUBST([F77]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:122: -1- AC_SUBST([ac_ct_F77]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([ac_ct_F77]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +aclocal.m4:4126: _LT_AC_LANG_GCJ_CONFIG is expanded from... +aclocal.m4:4125: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +aclocal.m4:4126: _LT_AC_LANG_GCJ_CONFIG is expanded from... +aclocal.m4:4125: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +aclocal.m4:4182: _LT_AC_LANG_RC_CONFIG is expanded from... +aclocal.m4:4181: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +aclocal.m4:4182: _LT_AC_LANG_RC_CONFIG is expanded from... +aclocal.m4:4181: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +aclocal.m4:1843: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:31: AC_PROG_LIBTOOL is expanded from... +aclocal.m4:6487: AM_PROG_LIBTOOL is expanded from... +configure.ac:122: the top level]) +m4trace:configure.ac:122: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:123: -1- AC_SUBST([LIBLTDL]) +m4trace:configure.ac:123: -1- AC_SUBST_TRACE([LIBLTDL]) +m4trace:configure.ac:123: -1- m4_pattern_allow([^LIBLTDL$]) +m4trace:configure.ac:124: -1- AC_SUBST([INCLTDL]) +m4trace:configure.ac:124: -1- AC_SUBST_TRACE([INCLTDL]) +m4trace:configure.ac:124: -1- m4_pattern_allow([^INCLTDL$]) +m4trace:configure.ac:127: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:127: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:127: -1- AC_SUBST([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:127: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:127: -1- AC_SUBST([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:127: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:127: -1- AC_SUBST([MAINT]) +m4trace:configure.ac:127: -1- AC_SUBST_TRACE([MAINT]) +m4trace:configure.ac:127: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:194: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LESSTIF]) +m4trace:configure.ac:194: -1- m4_pattern_allow([^HAVE_LESSTIF$]) +m4trace:configure.ac:194: -1- AH_OUTPUT([HAVE_LESSTIF], [/* define if you have lesstif */ +#undef HAVE_LESSTIF]) +m4trace:configure.ac:195: -1- AM_CONDITIONAL([WITH_X_INTERFACE], [0]) +m4trace:configure.ac:195: -1- AC_SUBST([WITH_X_INTERFACE_TRUE]) +m4trace:configure.ac:195: -1- AC_SUBST_TRACE([WITH_X_INTERFACE_TRUE]) +m4trace:configure.ac:195: -1- m4_pattern_allow([^WITH_X_INTERFACE_TRUE$]) +m4trace:configure.ac:195: -1- AC_SUBST([WITH_X_INTERFACE_FALSE]) +m4trace:configure.ac:195: -1- AC_SUBST_TRACE([WITH_X_INTERFACE_FALSE]) +m4trace:configure.ac:195: -1- m4_pattern_allow([^WITH_X_INTERFACE_FALSE$]) +m4trace:configure.ac:202: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:202: the top level]) +m4trace:configure.ac:207: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2367: AC_TRY_COMPILE is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +configure.ac:207: the top level]) +m4trace:configure.ac:220: -1- AC_DEFINE_TRACE_LITERAL([ENDIANESS_IN_SYS_PARAM_H]) +m4trace:configure.ac:220: -1- m4_pattern_allow([^ENDIANESS_IN_SYS_PARAM_H$]) +m4trace:configure.ac:220: -1- AH_OUTPUT([ENDIANESS_IN_SYS_PARAM_H], [/* define if sys/param.h defines the endiness */ +#undef ENDIANESS_IN_SYS_PARAM_H]) +m4trace:configure.ac:223: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +configure.ac:223: the top level]) +m4trace:configure.ac:236: -1- AC_DEFINE_TRACE_LITERAL([BIG_ENDIAN]) +m4trace:configure.ac:236: -1- m4_pattern_allow([^BIG_ENDIAN$]) +m4trace:configure.ac:236: -1- AH_OUTPUT([BIG_ENDIAN], [/* define to 4321 if missing from sys/param.h */ +#undef BIG_ENDIAN]) +m4trace:configure.ac:237: -1- AC_DEFINE_TRACE_LITERAL([LITTLE_ENDIAN]) +m4trace:configure.ac:237: -1- m4_pattern_allow([^LITTLE_ENDIAN$]) +m4trace:configure.ac:237: -1- AH_OUTPUT([LITTLE_ENDIAN], [/* define to 4321 if missing from sys/param.h */ +#undef LITTLE_ENDIAN]) +m4trace:configure.ac:239: -1- AC_DEFINE_TRACE_LITERAL([BYTE_ORDER]) +m4trace:configure.ac:239: -1- m4_pattern_allow([^BYTE_ORDER$]) +m4trace:configure.ac:239: -1- AH_OUTPUT([BYTE_ORDER], [/* define to 4321 if host is big endian, 1234 if little endian */ +#undef BYTE_ORDER]) +m4trace:configure.ac:242: -1- AC_DEFINE_TRACE_LITERAL([BYTE_ORDER]) +m4trace:configure.ac:242: -1- m4_pattern_allow([^BYTE_ORDER$]) +m4trace:configure.ac:242: -1- AH_OUTPUT([BYTE_ORDER], [/* define to 4321 if host is big endian, 1234 if little endian */ +#undef BYTE_ORDER]) +m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^HAVE_ALLOCA_H$]) +m4trace:configure.ac:249: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#undef HAVE_ALLOCA_H]) +m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^HAVE_ALLOCA$]) +m4trace:configure.ac:249: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */ +#undef HAVE_ALLOCA]) +m4trace:configure.ac:249: -1- AC_LIBSOURCE([alloca.c]) +m4trace:configure.ac:249: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext]) +m4trace:configure.ac:249: -1- AC_SUBST_TRACE([ALLOCA]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^ALLOCA$]) +m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^C_ALLOCA$]) +m4trace:configure.ac:249: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */ +#undef C_ALLOCA]) +m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^CRAY_STACKSEG_END$]) +m4trace:configure.ac:249: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c\' support on those systems. + */ +#undef CRAY_STACKSEG_END]) +m4trace:configure.ac:249: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +@%:@undef STACK_DIRECTION]) +m4trace:configure.ac:249: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION]) +m4trace:configure.ac:249: -1- m4_pattern_allow([^STACK_DIRECTION$]) +m4trace:configure.ac:257: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */ +#undef HAVE_STRTOULL]) +m4trace:configure.ac:257: -1- AH_OUTPUT([HAVE___STRTOULL], [/* Define to 1 if you have the `__strtoull\' function. */ +#undef HAVE___STRTOULL]) +m4trace:configure.ac:258: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST]) +m4trace:configure.ac:258: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$]) +m4trace:configure.ac:258: -1- AH_OUTPUT([HAVE_SYS_SIGLIST], [/* Define if you have the sys_siglist variable. */ +#undef HAVE_SYS_SIGLIST]) +m4trace:configure.ac:264: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +configure.ac:264: the top level]) +m4trace:configure.ac:285: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBELF_LIBELF_H]) +m4trace:configure.ac:285: -1- m4_pattern_allow([^HAVE_LIBELF_LIBELF_H$]) +m4trace:configure.ac:285: -1- AH_OUTPUT([HAVE_LIBELF_LIBELF_H], [/* define if you have libelf/libelf.h */ +#undef HAVE_LIBELF_LIBELF_H]) +m4trace:configure.ac:291: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:291: the top level]) +m4trace:configure.ac:293: -1- AC_DEFINE_TRACE_LITERAL([SKINET_ENABLE]) +m4trace:configure.ac:293: -1- m4_pattern_allow([^SKINET_ENABLE$]) +m4trace:configure.ac:293: -1- AH_OUTPUT([SKINET_ENABLE], [/* define if you want netdev support */ +#undef SKINET_ENABLE]) +m4trace:configure.ac:298: -1- AM_CONDITIONAL([WITH_NETDEV], [test "x$with_netdev" = xyes]) +m4trace:configure.ac:298: -1- AC_SUBST([WITH_NETDEV_TRUE]) +m4trace:configure.ac:298: -1- AC_SUBST_TRACE([WITH_NETDEV_TRUE]) +m4trace:configure.ac:298: -1- m4_pattern_allow([^WITH_NETDEV_TRUE$]) +m4trace:configure.ac:298: -1- AC_SUBST([WITH_NETDEV_FALSE]) +m4trace:configure.ac:298: -1- AC_SUBST_TRACE([WITH_NETDEV_FALSE]) +m4trace:configure.ac:298: -1- m4_pattern_allow([^WITH_NETDEV_FALSE$]) +m4trace:configure.ac:305: -1- AH_OUTPUT([HAVE_LIBUNWIND_IA64], [/* Define to 1 if you have the `unwind-ia64\' library (-lunwind-ia64). */ +#undef HAVE_LIBUNWIND_IA64]) +m4trace:configure.ac:305: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBUNWIND_IA64]) +m4trace:configure.ac:305: -1- m4_pattern_allow([^HAVE_LIBUNWIND_IA64$]) +m4trace:configure.ac:310: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:310: the top level]) +m4trace:configure.ac:315: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:315: the top level]) +m4trace:configure.ac:320: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:320: the top level]) +m4trace:configure.ac:331: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +configure.ac:331: the top level]) +m4trace:configure.ac:331: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2462: AC_RUN_IFELSE is expanded from... +../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from... +configure.ac:331: the top level]) +m4trace:configure.ac:350: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DWARF_SUPPORT]) +m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_DWARF_SUPPORT$]) +m4trace:configure.ac:350: -1- AH_OUTPUT([HAVE_DWARF_SUPPORT], [/* define if you have dwarf support */ +#undef HAVE_DWARF_SUPPORT]) +m4trace:configure.ac:354: -1- AC_SUBST([DWARF_CFLAGS]) +m4trace:configure.ac:354: -1- AC_SUBST_TRACE([DWARF_CFLAGS]) +m4trace:configure.ac:354: -1- m4_pattern_allow([^DWARF_CFLAGS$]) +m4trace:configure.ac:355: -1- AC_SUBST([DWARF_LIBS]) +m4trace:configure.ac:355: -1- AC_SUBST_TRACE([DWARF_LIBS]) +m4trace:configure.ac:355: -1- m4_pattern_allow([^DWARF_LIBS$]) +m4trace:configure.ac:360: -1- AC_CONFIG_LINKS([src/ski_elf.h:src/missing/ski_elf.h]) +m4trace:configure.ac:365: -1- AH_OUTPUT([HAVE_LIBM], [/* Define to 1 if you have the `m\' library (-lm). */ +#undef HAVE_LIBM]) +m4trace:configure.ac:365: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBM]) +m4trace:configure.ac:365: -1- m4_pattern_allow([^HAVE_LIBM$]) +m4trace:configure.ac:370: -1- AC_DEFINE_TRACE_LITERAL([__HP_CURSES]) +m4trace:configure.ac:370: -1- m4_pattern_allow([^__HP_CURSES$]) +m4trace:configure.ac:370: -1- AH_OUTPUT([__HP_CURSES], [/* define if you want to use HP curses */ +#undef __HP_CURSES]) +m4trace:configure.ac:377: -1- AH_OUTPUT([HAVE_LIBCURSES], [/* Define to 1 if you have the `curses\' library (-lcurses). */ +#undef HAVE_LIBCURSES]) +m4trace:configure.ac:377: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCURSES]) +m4trace:configure.ac:377: -1- m4_pattern_allow([^HAVE_LIBCURSES$]) +m4trace:configure.ac:377: -1- AH_OUTPUT([HAVE_LIBNCURSES], [/* Define to 1 if you have the `ncurses\' library (-lncurses). */ +#undef HAVE_LIBNCURSES]) +m4trace:configure.ac:377: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNCURSES]) +m4trace:configure.ac:377: -1- m4_pattern_allow([^HAVE_LIBNCURSES$]) +m4trace:configure.ac:382: -1- AH_OUTPUT([HAVE_LIBELF], [/* Define to 1 if you have the `elf\' library (-lelf). */ +#undef HAVE_LIBELF]) +m4trace:configure.ac:382: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBELF]) +m4trace:configure.ac:382: -1- m4_pattern_allow([^HAVE_LIBELF$]) +m4trace:configure.ac:410: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +configure.ac:410: the top level]) +m4trace:configure.ac:431: -1- AC_SUBST([encdir]) +m4trace:configure.ac:431: -1- AC_SUBST_TRACE([encdir]) +m4trace:configure.ac:431: -1- m4_pattern_allow([^encdir$]) +m4trace:configure.ac:438: -1- AC_CONFIG_FILES([ski.spec]) +m4trace:configure.ac:439: -1- AC_CONFIG_FILES([ski-config], [chmod +x ski-config]) +m4trace:configure.ac:440: -1- AC_CONFIG_FILES([Makefile]) +m4trace:configure.ac:441: -1- AC_CONFIG_FILES([macros/Makefile]) +m4trace:configure.ac:442: -1- AC_CONFIG_FILES([src/Makefile src/decoder/Makefile src/encoder/Makefile]) +m4trace:configure.ac:443: -1- AC_CONFIG_FILES([src/fake-xterm/Makefile]) +m4trace:configure.ac:444: -1- AC_CONFIG_FILES([doc/Makefile]) +m4trace:configure.ac:447: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:447: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:447: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:447: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:447: -1- AC_SUBST_TRACE([INSTALL]) diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..0f0fe71 --- /dev/null +++ b/config.guess @@ -0,0 +1,1516 @@ +#! /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 Free Software Foundation, +# Inc. + +timestamp='2007-03-06' + +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# 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 to . Submit a context +# diff and a properly formatted 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. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +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 +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 tupples: *-*-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 __ELF__ >/dev/null + 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'` + exit ;; + 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 ;; + 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:SunOS:5.*:*) + echo i386-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:*:[45]) + 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 __LP64__ >/dev/null + 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:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-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*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-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 ;; + 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 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + 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:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-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 ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + 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 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-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 ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*) + 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 i386. + echo i386-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; } ;; + 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.0*:*) + 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 ;; + 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 + 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 ;; + 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 ;; +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/config.h b/config.h new file mode 100644 index 0000000..89b16ed --- /dev/null +++ b/config.h @@ -0,0 +1,149 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* define to 4321 if missing from sys/param.h */ +/* #undef BIG_ENDIAN */ + +/* define to 4321 if host is big endian, 1234 if little endian */ +/* #undef BYTE_ORDER */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* define if sys/param.h defines the endiness */ +#define ENDIANESS_IN_SYS_PARAM_H 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* define if you have dwarf support */ +/* #undef HAVE_DWARF_SUPPORT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* define if you have lesstif */ +#define HAVE_LESSTIF 0 + +/* Define to 1 if you have the `curses' library (-lcurses). */ +#define HAVE_LIBCURSES 1 + +/* Define to 1 if you have the `elf' library (-lelf). */ +#define HAVE_LIBELF 1 + +/* define if you have libelf/libelf.h */ +/* #undef HAVE_LIBELF_LIBELF_H */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `ncurses' library (-lncurses). */ +/* #undef HAVE_LIBNCURSES */ + +/* Define to 1 if you have the `unwind-ia64' library (-lunwind-ia64). */ +/* #undef HAVE_LIBUNWIND_IA64 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define if you have the sys_siglist variable. */ +/* #undef HAVE_SYS_SIGLIST */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `__strtoull' function. */ +/* #undef HAVE___STRTOULL */ + +/* define to 4321 if missing from sys/param.h */ +/* #undef LITTLE_ENDIAN */ + +/* Name of package */ +#define PACKAGE "ski" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to the pager program. */ +#define PAGER "less" + +/* define if you want netdev support */ +#define SKINET_ENABLE 1 + +/* Ski release string. */ +#define SKI_RELEASE "gplv2" + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.1.3" + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* define if you want to use HP curses */ +/* #undef __HP_CURSES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..eb27b60 --- /dev/null +++ b/config.h.in @@ -0,0 +1,148 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* define to 4321 if missing from sys/param.h */ +#undef BIG_ENDIAN + +/* define to 4321 if host is big endian, 1234 if little endian */ +#undef BYTE_ORDER + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +#undef CRAY_STACKSEG_END + +/* Define to 1 if using `alloca.c'. */ +#undef C_ALLOCA + +/* define if sys/param.h defines the endiness */ +#undef ENDIANESS_IN_SYS_PARAM_H + +/* Define to 1 if you have `alloca', as a function or macro. */ +#undef HAVE_ALLOCA + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#undef HAVE_ALLOCA_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* define if you have dwarf support */ +#undef HAVE_DWARF_SUPPORT + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* define if you have lesstif */ +#undef HAVE_LESSTIF + +/* Define to 1 if you have the `curses' library (-lcurses). */ +#undef HAVE_LIBCURSES + +/* Define to 1 if you have the `elf' library (-lelf). */ +#undef HAVE_LIBELF + +/* define if you have libelf/libelf.h */ +#undef HAVE_LIBELF_LIBELF_H + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `ncurses' library (-lncurses). */ +#undef HAVE_LIBNCURSES + +/* Define to 1 if you have the `unwind-ia64' library (-lunwind-ia64). */ +#undef HAVE_LIBUNWIND_IA64 + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strtoull' function. */ +#undef HAVE_STRTOULL + +/* Define if you have the sys_siglist variable. */ +#undef HAVE_SYS_SIGLIST + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `__strtoull' function. */ +#undef HAVE___STRTOULL + +/* define to 4321 if missing from sys/param.h */ +#undef LITTLE_ENDIAN + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the pager program. */ +#undef PAGER + +/* define if you want netdev support */ +#undef SKINET_ENABLE + +/* Ski release string. */ +#undef SKI_RELEASE + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#undef STACK_DIRECTION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#undef YYTEXT_POINTER + +/* define if you want to use HP curses */ +#undef __HP_CURSES + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif diff --git a/config.log b/config.log new file mode 100644 index 0000000..6c9f049 --- /dev/null +++ b/config.log @@ -0,0 +1,3205 @@ +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.61. Invocation command line was + + $ ./configure --enable-maintainer-mode --enable-compile-warnings --enable-dependency-tracking + +## --------- ## +## Platform. ## +## --------- ## + +hostname = rigel +uname -m = i686 +uname -r = 2.6.22-1-686 +uname -s = Linux +uname -v = #1 SMP Sun Jul 29 14:37:42 UTC 2007 + +/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/ahs3/bin +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /bin +PATH: /usr/games +PATH: /home/ahs3/bin +PATH: /usr/local/maven-1.0.2/bin + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:2021: checking build system type +configure:2039: result: i686-pc-linux-gnu +configure:2061: checking host system type +configure:2076: result: i686-pc-linux-gnu +configure:2192: checking for a BSD-compatible install +configure:2248: result: /usr/bin/install -c +configure:2259: checking whether build environment is sane +configure:2302: result: yes +configure:2367: checking for gawk +configure:2383: found /usr/bin/gawk +configure:2394: result: gawk +configure:2405: checking whether make sets $(MAKE) +configure:2426: result: yes +configure:2686: checking for icc +configure:2716: result: no +configure:2686: checking for ecc +configure:2716: result: no +configure:2686: checking for gcc3 +configure:2716: result: no +configure:2686: checking for cc +configure:2702: found /usr/bin/cc +configure:2713: result: cc +configure:2749: checking for C compiler version +configure:2756: cc --version >&5 +cc (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +Copyright (C) 2006 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:2759: $? = 0 +configure:2766: cc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +configure:2769: $? = 0 +configure:2776: cc -V >&5 +cc: '-V' option must have argument +configure:2779: $? = 1 +configure:2802: checking for C compiler default output file name +configure:2829: cc conftest.c >&5 +configure:2832: $? = 0 +configure:2870: result: a.out +configure:2887: checking whether the C compiler works +configure:2897: ./a.out +configure:2900: $? = 0 +configure:2917: result: yes +configure:2924: checking whether we are cross compiling +configure:2926: result: no +configure:2929: checking for suffix of executables +configure:2936: cc -o conftest conftest.c >&5 +configure:2939: $? = 0 +configure:2963: result: +configure:2969: checking for suffix of object files +configure:2995: cc -c conftest.c >&5 +configure:2998: $? = 0 +configure:3021: result: o +configure:3025: checking whether we are using the GNU C compiler +configure:3054: cc -c conftest.c >&5 +configure:3060: $? = 0 +configure:3077: result: yes +configure:3082: checking whether cc accepts -g +configure:3112: cc -c -g conftest.c >&5 +configure:3118: $? = 0 +configure:3217: result: yes +configure:3234: checking for cc option to accept ISO C89 +configure:3308: cc -c -g -O2 conftest.c >&5 +configure:3314: $? = 0 +configure:3337: result: none needed +configure:3366: checking for style of include used by make +configure:3394: result: GNU +configure:3422: checking dependency style of cc +configure:3512: result: gcc3 +configure:3577: checking for gcc +configure:3604: result: cc +configure:3842: checking for C compiler version +configure:3849: cc --version >&5 +cc (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +Copyright (C) 2006 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:3852: $? = 0 +configure:3859: cc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +configure:3862: $? = 0 +configure:3869: cc -V >&5 +cc: '-V' option must have argument +configure:3872: $? = 1 +configure:3875: checking whether we are using the GNU C compiler +configure:3927: result: yes +configure:3932: checking whether cc accepts -g +configure:4067: result: yes +configure:4084: checking for cc option to accept ISO C89 +configure:4187: result: none needed +configure:4207: checking dependency style of cc +configure:4297: result: gcc3 +configure:4337: checking for a BSD-compatible install +configure:4393: result: /usr/bin/install -c +configure:4404: checking whether ln -s works +configure:4408: result: yes +configure:4419: checking for gawk +configure:4446: result: gawk +configure:4460: checking for sed +configure:4476: found /bin/sed +configure:4488: result: sed +configure:4501: checking for bison +configure:4517: found /usr/bin/bison +configure:4528: result: bison -y +configure:4545: checking for flex +configure:4561: found /usr/bin/flex +configure:4572: result: flex +configure:4609: flex conftest.l +configure:4612: $? = 0 +configure:4614: checking lex output file root +configure:4630: result: lex.yy +configure:4635: checking lex library +configure:4654: cc -o conftest -g -O2 conftest.c >&5 +/tmp/ccHEMDSx.o: In function `input': +/home/ahs3/projects/ski/wip.hg/lex.yy.c:1133: undefined reference to `yywrap' +/tmp/ccHEMDSx.o: In function `yylex': +/home/ahs3/projects/ski/wip.hg/lex.yy.c:840: undefined reference to `yywrap' +/tmp/ccHEMDSx.o: In function `main': +/home/ahs3/projects/ski/wip.hg/conftest.l:17: undefined reference to `yywrap' +collect2: ld returned 1 exit status +configure:4660: $? = 1 +configure: failed program was: +| +| #line 3 "lex.yy.c" +| +| #define YY_INT_ALIGNED short int +| +| /* A lexical scanner generated by flex */ +| +| #define FLEX_SCANNER +| #define YY_FLEX_MAJOR_VERSION 2 +| #define YY_FLEX_MINOR_VERSION 5 +| #define YY_FLEX_SUBMINOR_VERSION 33 +| #if YY_FLEX_SUBMINOR_VERSION > 0 +| #define FLEX_BETA +| #endif +| +| /* First, we deal with platform-specific or compiler-specific issues. */ +| +| /* begin standard C headers. */ +| #include +| #include +| #include +| #include +| +| /* end standard C headers. */ +| +| /* flex integer type definitions */ +| +| #ifndef FLEXINT_H +| #define FLEXINT_H +| +| /* C99 systems have . Non-C99 systems may or may not. */ +| +| #if __STDC_VERSION__ >= 199901L +| +| /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, +| * if you want the limit (max/min) macros for int types. +| */ +| #ifndef __STDC_LIMIT_MACROS +| #define __STDC_LIMIT_MACROS 1 +| #endif +| +| #include +| typedef int8_t flex_int8_t; +| typedef uint8_t flex_uint8_t; +| typedef int16_t flex_int16_t; +| typedef uint16_t flex_uint16_t; +| typedef int32_t flex_int32_t; +| typedef uint32_t flex_uint32_t; +| #else +| typedef signed char flex_int8_t; +| typedef short int flex_int16_t; +| typedef int flex_int32_t; +| typedef unsigned char flex_uint8_t; +| typedef unsigned short int flex_uint16_t; +| typedef unsigned int flex_uint32_t; +| #endif /* ! C99 */ +| +| /* Limits of integral types. */ +| #ifndef INT8_MIN +| #define INT8_MIN (-128) +| #endif +| #ifndef INT16_MIN +| #define INT16_MIN (-32767-1) +| #endif +| #ifndef INT32_MIN +| #define INT32_MIN (-2147483647-1) +| #endif +| #ifndef INT8_MAX +| #define INT8_MAX (127) +| #endif +| #ifndef INT16_MAX +| #define INT16_MAX (32767) +| #endif +| #ifndef INT32_MAX +| #define INT32_MAX (2147483647) +| #endif +| #ifndef UINT8_MAX +| #define UINT8_MAX (255U) +| #endif +| #ifndef UINT16_MAX +| #define UINT16_MAX (65535U) +| #endif +| #ifndef UINT32_MAX +| #define UINT32_MAX (4294967295U) +| #endif +| +| #endif /* ! FLEXINT_H */ +| +| #ifdef __cplusplus +| +| /* The "const" storage-class-modifier is valid. */ +| #define YY_USE_CONST +| +| #else /* ! __cplusplus */ +| +| #if __STDC__ +| +| #define YY_USE_CONST +| +| #endif /* __STDC__ */ +| #endif /* ! __cplusplus */ +| +| #ifdef YY_USE_CONST +| #define yyconst const +| #else +| #define yyconst +| #endif +| +| /* Returned upon end-of-file. */ +| #define YY_NULL 0 +| +| /* Promotes a possibly negative, possibly signed char to an unsigned +| * integer for use as an array index. If the signed char is negative, +| * we want to instead treat it as an 8-bit unsigned char, hence the +| * double cast. +| */ +| #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +| +| /* Enter a start condition. This macro really ought to take a parameter, +| * but we do it the disgusting crufty way forced on us by the ()-less +| * definition of BEGIN. +| */ +| #define BEGIN (yy_start) = 1 + 2 * +| +| /* Translate the current start state into a value that can be later handed +| * to BEGIN to return to the state. The YYSTATE alias is for lex +| * compatibility. +| */ +| #define YY_START (((yy_start) - 1) / 2) +| #define YYSTATE YY_START +| +| /* Action number for EOF rule of a given start state. */ +| #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) +| +| /* Special action meaning "start processing a new file". */ +| #define YY_NEW_FILE yyrestart(yyin ) +| +| #define YY_END_OF_BUFFER_CHAR 0 +| +| /* Size of default input buffer. */ +| #ifndef YY_BUF_SIZE +| #define YY_BUF_SIZE 16384 +| #endif +| +| /* The state buf must be large enough to hold one state per character in the main buffer. +| */ +| #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) +| +| #ifndef YY_TYPEDEF_YY_BUFFER_STATE +| #define YY_TYPEDEF_YY_BUFFER_STATE +| typedef struct yy_buffer_state *YY_BUFFER_STATE; +| #endif +| +| extern int yyleng; +| +| extern FILE *yyin, *yyout; +| +| #define EOB_ACT_CONTINUE_SCAN 0 +| #define EOB_ACT_END_OF_FILE 1 +| #define EOB_ACT_LAST_MATCH 2 +| +| #define YY_LESS_LINENO(n) +| +| /* Return all but the first "n" matched characters back to the input stream. */ +| #define yyless(n) \ +| do \ +| { \ +| /* Undo effects of setting up yytext. */ \ +| int yyless_macro_arg = (n); \ +| YY_LESS_LINENO(yyless_macro_arg);\ +| *yy_cp = (yy_hold_char); \ +| YY_RESTORE_YY_MORE_OFFSET \ +| (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ +| YY_DO_BEFORE_ACTION; /* set up yytext again */ \ +| } \ +| while ( 0 ) +| +| #define unput(c) yyunput( c, (yytext_ptr) ) +| +| /* The following is because we cannot portably get our hands on size_t +| * (without autoconf's help, which isn't available because we want +| * flex-generated scanners to compile on their own). +| */ +| +| #ifndef YY_TYPEDEF_YY_SIZE_T +| #define YY_TYPEDEF_YY_SIZE_T +| typedef unsigned int yy_size_t; +| #endif +| +| #ifndef YY_STRUCT_YY_BUFFER_STATE +| #define YY_STRUCT_YY_BUFFER_STATE +| struct yy_buffer_state +| { +| FILE *yy_input_file; +| +| char *yy_ch_buf; /* input buffer */ +| char *yy_buf_pos; /* current position in input buffer */ +| +| /* Size of input buffer in bytes, not including room for EOB +| * characters. +| */ +| yy_size_t yy_buf_size; +| +| /* Number of characters read into yy_ch_buf, not including EOB +| * characters. +| */ +| int yy_n_chars; +| +| /* Whether we "own" the buffer - i.e., we know we created it, +| * and can realloc() it to grow it, and should free() it to +| * delete it. +| */ +| int yy_is_our_buffer; +| +| /* Whether this is an "interactive" input source; if so, and +| * if we're using stdio for input, then we want to use getc() +| * instead of fread(), to make sure we stop fetching input after +| * each newline. +| */ +| int yy_is_interactive; +| +| /* Whether we're considered to be at the beginning of a line. +| * If so, '^' rules will be active on the next match, otherwise +| * not. +| */ +| int yy_at_bol; +| +| int yy_bs_lineno; /**< The line count. */ +| int yy_bs_column; /**< The column count. */ +| +| /* Whether to try to fill the input buffer when we reach the +| * end of it. +| */ +| int yy_fill_buffer; +| +| int yy_buffer_status; +| +| #define YY_BUFFER_NEW 0 +| #define YY_BUFFER_NORMAL 1 +| /* When an EOF's been seen but there's still some text to process +| * then we mark the buffer as YY_EOF_PENDING, to indicate that we +| * shouldn't try reading from the input source any more. We might +| * still have a bunch of tokens to match, though, because of +| * possible backing-up. +| * +| * When we actually see the EOF, we change the status to "new" +| * (via yyrestart()), so that the user can continue scanning by +| * just pointing yyin at a new input file. +| */ +| #define YY_BUFFER_EOF_PENDING 2 +| +| }; +| #endif /* !YY_STRUCT_YY_BUFFER_STATE */ +| +| /* Stack of input buffers. */ +| static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +| static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +| static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +| +| /* We provide macros for accessing buffer states in case in the +| * future we want to put the buffer states in a more general +| * "scanner state". +| * +| * Returns the top of the stack, or NULL. +| */ +| #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ +| ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ +| : NULL) +| +| /* Same as previous macro, but useful when we know that the buffer stack is not +| * NULL or when we need an lvalue. For internal use only. +| */ +| #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] +| +| /* yy_hold_char holds the character lost when yytext is formed. */ +| static char yy_hold_char; +| static int yy_n_chars; /* number of characters read into yy_ch_buf */ +| int yyleng; +| +| /* Points to current character in buffer. */ +| static char *yy_c_buf_p = (char *) 0; +| static int yy_init = 0; /* whether we need to initialize */ +| static int yy_start = 0; /* start state number */ +| +| /* Flag which is used to allow yywrap()'s to do buffer switches +| * instead of setting up a fresh yyin. A bit of a hack ... +| */ +| static int yy_did_buffer_switch_on_eof; +| +| void yyrestart (FILE *input_file ); +| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +| YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +| void yy_delete_buffer (YY_BUFFER_STATE b ); +| void yy_flush_buffer (YY_BUFFER_STATE b ); +| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +| void yypop_buffer_state (void ); +| +| static void yyensure_buffer_stack (void ); +| static void yy_load_buffer_state (void ); +| static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); +| +| #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) +| +| YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +| YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +| YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); +| +| void *yyalloc (yy_size_t ); +| void *yyrealloc (void *,yy_size_t ); +| void yyfree (void * ); +| +| #define yy_new_buffer yy_create_buffer +| +| #define yy_set_interactive(is_interactive) \ +| { \ +| if ( ! YY_CURRENT_BUFFER ){ \ +| yyensure_buffer_stack (); \ +| YY_CURRENT_BUFFER_LVALUE = \ +| yy_create_buffer(yyin,YY_BUF_SIZE ); \ +| } \ +| YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ +| } +| +| #define yy_set_bol(at_bol) \ +| { \ +| if ( ! YY_CURRENT_BUFFER ){\ +| yyensure_buffer_stack (); \ +| YY_CURRENT_BUFFER_LVALUE = \ +| yy_create_buffer(yyin,YY_BUF_SIZE ); \ +| } \ +| YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ +| } +| +| #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) +| +| /* Begin user sect3 */ +| +| typedef unsigned char YY_CHAR; +| +| FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +| +| typedef int yy_state_type; +| +| extern int yylineno; +| +| int yylineno = 1; +| +| extern char *yytext; +| #define yytext_ptr yytext +| +| static yy_state_type yy_get_previous_state (void ); +| static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +| static int yy_get_next_buffer (void ); +| static void yy_fatal_error (yyconst char msg[] ); +| +| /* Done after the current pattern has been matched and before the +| * corresponding action - sets up yytext. +| */ +| #define YY_DO_BEFORE_ACTION \ +| (yytext_ptr) = yy_bp; \ +| (yytext_ptr) -= (yy_more_len); \ +| yyleng = (size_t) (yy_cp - (yytext_ptr)); \ +| (yy_hold_char) = *yy_cp; \ +| *yy_cp = '\0'; \ +| (yy_c_buf_p) = yy_cp; +| +| #define YY_NUM_RULES 8 +| #define YY_END_OF_BUFFER 9 +| /* This struct is not used in this scanner, +| but its presence is necessary. */ +| struct yy_trans_info +| { +| flex_int32_t yy_verify; +| flex_int32_t yy_nxt; +| }; +| static yyconst flex_int16_t yy_acclist[23] = +| { 0, +| 9, 7, 8, 8, 1, 7, 8, 2, 7, 8, +| 3, 7, 8, 4, 7, 8, 5, 7, 8, 6, +| 7, 8 +| } ; +| +| static yyconst flex_int16_t yy_accept[14] = +| { 0, +| 1, 1, 1, 2, 4, 5, 8, 11, 14, 17, +| 20, 23, 23 +| } ; +| +| static yyconst flex_int32_t yy_ec[256] = +| { 0, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 3, 4, 5, 6, +| +| 7, 8, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1 +| } ; +| +| static yyconst flex_int32_t yy_meta[9] = +| { 0, +| 1, 1, 1, 1, 1, 1, 1, 1 +| } ; +| +| static yyconst flex_int16_t yy_base[13] = +| { 0, +| 0, 0, 9, 10, 10, 10, 10, 10, 10, 10, +| 10, 10 +| } ; +| +| static yyconst flex_int16_t yy_def[13] = +| { 0, +| 12, 1, 12, 12, 12, 12, 12, 12, 12, 12, +| 12, 0 +| } ; +| +| static yyconst flex_int16_t yy_nxt[19] = +| { 0, +| 4, 5, 6, 7, 8, 9, 10, 11, 12, 3, +| 12, 12, 12, 12, 12, 12, 12, 12 +| } ; +| +| static yyconst flex_int16_t yy_chk[19] = +| { 0, +| 1, 1, 1, 1, 1, 1, 1, 1, 3, 12, +| 12, 12, 12, 12, 12, 12, 12, 12 +| } ; +| +| extern int yy_flex_debug; +| int yy_flex_debug = 0; +| +| static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; +| static char *yy_full_match; +| static int yy_lp; +| #define REJECT \ +| { \ +| *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ +| yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ +| ++(yy_lp); \ +| goto find_rule; \ +| } +| +| static int yy_more_flag = 0; +| static int yy_more_len = 0; +| #define yymore() ((yy_more_flag) = 1) +| #define YY_MORE_ADJ (yy_more_len) +| #define YY_RESTORE_YY_MORE_OFFSET +| char *yytext; +| #line 1 "conftest.l" +| #line 472 "lex.yy.c" +| +| #define INITIAL 0 +| +| #ifndef YY_NO_UNISTD_H +| /* Special case for "unistd.h", since it is non-ANSI. We include it way +| * down here because we want the user's section 1 to have been scanned first. +| * The user has a chance to override it with an option. +| */ +| #include +| #endif +| +| #ifndef YY_EXTRA_TYPE +| #define YY_EXTRA_TYPE void * +| #endif +| +| static int yy_init_globals (void ); +| +| /* Macros after this point can all be overridden by user definitions in +| * section 1. +| */ +| +| #ifndef YY_SKIP_YYWRAP +| #ifdef __cplusplus +| extern "C" int yywrap (void ); +| #else +| extern int yywrap (void ); +| #endif +| #endif +| +| static void yyunput (int c,char *buf_ptr ); +| +| #ifndef yytext_ptr +| static void yy_flex_strncpy (char *,yyconst char *,int ); +| #endif +| +| #ifdef YY_NEED_STRLEN +| static int yy_flex_strlen (yyconst char * ); +| #endif +| +| #ifndef YY_NO_INPUT +| +| #ifdef __cplusplus +| static int yyinput (void ); +| #else +| static int input (void ); +| #endif +| +| #endif +| +| /* Amount of stuff to slurp up with each read. */ +| #ifndef YY_READ_BUF_SIZE +| #define YY_READ_BUF_SIZE 8192 +| #endif +| +| /* Copy whatever the last rule matched to the standard output. */ +| #ifndef ECHO +| /* This used to be an fputs(), but since the string might contain NUL's, +| * we now use fwrite(). +| */ +| #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +| #endif +| +| /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, +| * is returned in "result". +| */ +| #ifndef YY_INPUT +| #define YY_INPUT(buf,result,max_size) \ +| if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ +| { \ +| int c = '*'; \ +| size_t n; \ +| for ( n = 0; n < max_size && \ +| (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ +| buf[n] = (char) c; \ +| if ( c == '\n' ) \ +| buf[n++] = (char) c; \ +| if ( c == EOF && ferror( yyin ) ) \ +| YY_FATAL_ERROR( "input in flex scanner failed" ); \ +| result = n; \ +| } \ +| else \ +| { \ +| errno=0; \ +| while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ +| { \ +| if( errno != EINTR) \ +| { \ +| YY_FATAL_ERROR( "input in flex scanner failed" ); \ +| break; \ +| } \ +| errno=0; \ +| clearerr(yyin); \ +| } \ +| }\ +| \ +| +| #endif +| +| /* No semi-colon after return; correct usage is to write "yyterminate();" - +| * we don't want an extra ';' after the "return" because that will cause +| * some compilers to complain about unreachable statements. +| */ +| #ifndef yyterminate +| #define yyterminate() return YY_NULL +| #endif +| +| /* Number of entries by which start-condition stack grows. */ +| #ifndef YY_START_STACK_INCR +| #define YY_START_STACK_INCR 25 +| #endif +| +| /* Report a fatal error. */ +| #ifndef YY_FATAL_ERROR +| #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +| #endif +| +| /* end tables serialization structures and prototypes */ +| +| /* Default declaration of generated scanner - a define so the user can +| * easily add parameters. +| */ +| #ifndef YY_DECL +| #define YY_DECL_IS_OURS 1 +| +| extern int yylex (void); +| +| #define YY_DECL int yylex (void) +| #endif /* !YY_DECL */ +| +| /* Code executed at the beginning of each rule, after yytext and yyleng +| * have been set up. +| */ +| #ifndef YY_USER_ACTION +| #define YY_USER_ACTION +| #endif +| +| /* Code executed at the end of each rule. */ +| #ifndef YY_BREAK +| #define YY_BREAK break; +| #endif +| +| #define YY_RULE_SETUP \ +| YY_USER_ACTION +| +| /** The main scanner function which does all the work. +| */ +| YY_DECL +| { +| register yy_state_type yy_current_state; +| register char *yy_cp, *yy_bp; +| register int yy_act; +| +| #line 1 "conftest.l" +| +| #line 627 "lex.yy.c" +| +| if ( !(yy_init) ) +| { +| (yy_init) = 1; +| +| #ifdef YY_USER_INIT +| YY_USER_INIT; +| #endif +| +| /* Create the reject buffer large enough to save one state per allowed character. */ +| if ( ! (yy_state_buf) ) +| (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); +| +| if ( ! (yy_start) ) +| (yy_start) = 1; /* first start state */ +| +| if ( ! yyin ) +| yyin = stdin; +| +| if ( ! yyout ) +| yyout = stdout; +| +| if ( ! YY_CURRENT_BUFFER ) { +| yyensure_buffer_stack (); +| YY_CURRENT_BUFFER_LVALUE = +| yy_create_buffer(yyin,YY_BUF_SIZE ); +| } +| +| yy_load_buffer_state( ); +| } +| +| while ( 1 ) /* loops until end-of-file is reached */ +| { +| (yy_more_len) = 0; +| if ( (yy_more_flag) ) +| { +| (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); +| (yy_more_flag) = 0; +| } +| yy_cp = (yy_c_buf_p); +| +| /* Support of yytext. */ +| *yy_cp = (yy_hold_char); +| +| /* yy_bp points to the position in yy_ch_buf of the start of +| * the current run. +| */ +| yy_bp = yy_cp; +| +| yy_current_state = (yy_start); +| +| (yy_state_ptr) = (yy_state_buf); +| *(yy_state_ptr)++ = yy_current_state; +| +| yy_match: +| do +| { +| register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 13 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| *(yy_state_ptr)++ = yy_current_state; +| ++yy_cp; +| } +| while ( yy_base[yy_current_state] != 10 ); +| +| yy_find_action: +| yy_current_state = *--(yy_state_ptr); +| (yy_lp) = yy_accept[yy_current_state]; +| find_rule: /* we branch to this label when backing up */ +| for ( ; ; ) /* until we find what rule we matched */ +| { +| if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) +| { +| yy_act = yy_acclist[(yy_lp)]; +| { +| (yy_full_match) = yy_cp; +| break; +| } +| } +| --yy_cp; +| yy_current_state = *--(yy_state_ptr); +| (yy_lp) = yy_accept[yy_current_state]; +| } +| +| YY_DO_BEFORE_ACTION; +| +| do_action: /* This label is used only to access EOF actions. */ +| +| switch ( yy_act ) +| { /* beginning of action switch */ +| case 1: +| YY_RULE_SETUP +| #line 2 "conftest.l" +| { ECHO; } +| YY_BREAK +| case 2: +| YY_RULE_SETUP +| #line 3 "conftest.l" +| { REJECT; } +| YY_BREAK +| case 3: +| YY_RULE_SETUP +| #line 4 "conftest.l" +| { yymore (); } +| YY_BREAK +| case 4: +| YY_RULE_SETUP +| #line 5 "conftest.l" +| { yyless (1); } +| YY_BREAK +| case 5: +| YY_RULE_SETUP +| #line 6 "conftest.l" +| { yyless (input () != 0); } +| YY_BREAK +| case 6: +| YY_RULE_SETUP +| #line 7 "conftest.l" +| { unput (yytext[0]); } +| YY_BREAK +| case 7: +| YY_RULE_SETUP +| #line 8 "conftest.l" +| { BEGIN INITIAL; } +| YY_BREAK +| case 8: +| YY_RULE_SETUP +| #line 9 "conftest.l" +| ECHO; +| YY_BREAK +| #line 763 "lex.yy.c" +| case YY_STATE_EOF(INITIAL): +| yyterminate(); +| +| case YY_END_OF_BUFFER: +| { +| /* Amount of text matched not including the EOB char. */ +| int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; +| +| /* Undo the effects of YY_DO_BEFORE_ACTION. */ +| *yy_cp = (yy_hold_char); +| YY_RESTORE_YY_MORE_OFFSET +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) +| { +| /* We're scanning a new file or input source. It's +| * possible that this happened because the user +| * just pointed yyin at a new source and called +| * yylex(). If so, then we have to assure +| * consistency between YY_CURRENT_BUFFER and our +| * globals. Here is the right place to do so, because +| * this is the first action (other than possibly a +| * back-up) that will match for the new input source. +| */ +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +| YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; +| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; +| } +| +| /* Note that here we test for yy_c_buf_p "<=" to the position +| * of the first EOB in the buffer, since yy_c_buf_p will +| * already have been incremented past the NUL character +| * (since all states make transitions on EOB to the +| * end-of-buffer state). Contrast this with the test +| * in input(). +| */ +| if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) +| { /* This was really a NUL. */ +| yy_state_type yy_next_state; +| +| (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; +| +| yy_current_state = yy_get_previous_state( ); +| +| /* Okay, we're now positioned to make the NUL +| * transition. We couldn't have +| * yy_get_previous_state() go ahead and do it +| * for us because it doesn't know how to deal +| * with the possibility of jamming (and we don't +| * want to build jamming into it because then it +| * will run more slowly). +| */ +| +| yy_next_state = yy_try_NUL_trans( yy_current_state ); +| +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| +| if ( yy_next_state ) +| { +| /* Consume the NUL. */ +| yy_cp = ++(yy_c_buf_p); +| yy_current_state = yy_next_state; +| goto yy_match; +| } +| +| else +| { +| yy_cp = (yy_c_buf_p); +| goto yy_find_action; +| } +| } +| +| else switch ( yy_get_next_buffer( ) ) +| { +| case EOB_ACT_END_OF_FILE: +| { +| (yy_did_buffer_switch_on_eof) = 0; +| +| if ( yywrap( ) ) +| { +| /* Note: because we've taken care in +| * yy_get_next_buffer() to have set up +| * yytext, we can now set up +| * yy_c_buf_p so that if some total +| * hoser (like flex itself) wants to +| * call the scanner after we return the +| * YY_NULL, it'll still work - another +| * YY_NULL will get returned. +| */ +| (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; +| +| yy_act = YY_STATE_EOF(YY_START); +| goto do_action; +| } +| +| else +| { +| if ( ! (yy_did_buffer_switch_on_eof) ) +| YY_NEW_FILE; +| } +| break; +| } +| +| case EOB_ACT_CONTINUE_SCAN: +| (yy_c_buf_p) = +| (yytext_ptr) + yy_amount_of_matched_text; +| +| yy_current_state = yy_get_previous_state( ); +| +| yy_cp = (yy_c_buf_p); +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| goto yy_match; +| +| case EOB_ACT_LAST_MATCH: +| (yy_c_buf_p) = +| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; +| +| yy_current_state = yy_get_previous_state( ); +| +| yy_cp = (yy_c_buf_p); +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| goto yy_find_action; +| } +| break; +| } +| +| default: +| YY_FATAL_ERROR( +| "fatal flex scanner internal error--no action found" ); +| } /* end of action switch */ +| } /* end of scanning one token */ +| } /* end of yylex */ +| +| /* yy_get_next_buffer - try to read in a new buffer +| * +| * Returns a code representing an action: +| * EOB_ACT_LAST_MATCH - +| * EOB_ACT_CONTINUE_SCAN - continue scanning from current position +| * EOB_ACT_END_OF_FILE - end of file +| */ +| static int yy_get_next_buffer (void) +| { +| register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; +| register char *source = (yytext_ptr); +| register int number_to_move, i; +| int ret_val; +| +| if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) +| YY_FATAL_ERROR( +| "fatal flex scanner internal error--end of buffer missed" ); +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) +| { /* Don't try to fill the buffer, so this is an EOF. */ +| if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) +| { +| /* We matched a single character, the EOB, so +| * treat this as a final EOF. +| */ +| return EOB_ACT_END_OF_FILE; +| } +| +| else +| { +| /* We matched some text prior to the EOB, first +| * process it. +| */ +| return EOB_ACT_LAST_MATCH; +| } +| } +| +| /* Try to read more data. */ +| +| /* First move last chars to start of buffer. */ +| number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; +| +| for ( i = 0; i < number_to_move; ++i ) +| *(dest++) = *(source++); +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) +| /* don't do the read, it's not guaranteed to return an EOF, +| * just force an EOF +| */ +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; +| +| else +| { +| int num_to_read = +| YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; +| +| while ( num_to_read <= 0 ) +| { /* Not enough room in the buffer - grow it. */ +| +| YY_FATAL_ERROR( +| "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); +| +| } +| +| if ( num_to_read > YY_READ_BUF_SIZE ) +| num_to_read = YY_READ_BUF_SIZE; +| +| /* Read in more data. */ +| YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), +| (yy_n_chars), (size_t) num_to_read ); +| +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| if ( (yy_n_chars) == 0 ) +| { +| if ( number_to_move == YY_MORE_ADJ ) +| { +| ret_val = EOB_ACT_END_OF_FILE; +| yyrestart(yyin ); +| } +| +| else +| { +| ret_val = EOB_ACT_LAST_MATCH; +| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = +| YY_BUFFER_EOF_PENDING; +| } +| } +| +| else +| ret_val = EOB_ACT_CONTINUE_SCAN; +| +| (yy_n_chars) += number_to_move; +| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; +| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; +| +| (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; +| +| return ret_val; +| } +| +| /* yy_get_previous_state - get the state just before the EOB char was reached */ +| +| static yy_state_type yy_get_previous_state (void) +| { +| register yy_state_type yy_current_state; +| register char *yy_cp; +| +| yy_current_state = (yy_start); +| +| (yy_state_ptr) = (yy_state_buf); +| *(yy_state_ptr)++ = yy_current_state; +| +| for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) +| { +| register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 13 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| *(yy_state_ptr)++ = yy_current_state; +| } +| +| return yy_current_state; +| } +| +| /* yy_try_NUL_trans - try to make a transition on the NUL character +| * +| * synopsis +| * next_state = yy_try_NUL_trans( current_state ); +| */ +| static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +| { +| register int yy_is_jam; +| +| register YY_CHAR yy_c = 1; +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 13 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| yy_is_jam = (yy_current_state == 12); +| if ( ! yy_is_jam ) +| *(yy_state_ptr)++ = yy_current_state; +| +| return yy_is_jam ? 0 : yy_current_state; +| } +| +| static void yyunput (int c, register char * yy_bp ) +| { +| register char *yy_cp; +| +| yy_cp = (yy_c_buf_p); +| +| /* undo effects of setting up yytext */ +| *yy_cp = (yy_hold_char); +| +| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) +| { /* need to shift things up to make room */ +| /* +2 for EOB chars. */ +| register int number_to_move = (yy_n_chars) + 2; +| register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ +| YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; +| register char *source = +| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; +| +| while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) +| *--dest = *--source; +| +| yy_cp += (int) (dest - source); +| yy_bp += (int) (dest - source); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; +| +| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) +| YY_FATAL_ERROR( "flex scanner push-back overflow" ); +| } +| +| *--yy_cp = (char) c; +| +| (yytext_ptr) = yy_bp; +| (yy_hold_char) = *yy_cp; +| (yy_c_buf_p) = yy_cp; +| } +| +| #ifndef YY_NO_INPUT +| #ifdef __cplusplus +| static int yyinput (void) +| #else +| static int input (void) +| #endif +| +| { +| int c; +| +| *(yy_c_buf_p) = (yy_hold_char); +| +| if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) +| { +| /* yy_c_buf_p now points to the character we want to return. +| * If this occurs *before* the EOB characters, then it's a +| * valid NUL; if not, then we've hit the end of the buffer. +| */ +| if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) +| /* This was really a NUL. */ +| *(yy_c_buf_p) = '\0'; +| +| else +| { /* need more input */ +| int offset = (yy_c_buf_p) - (yytext_ptr); +| ++(yy_c_buf_p); +| +| switch ( yy_get_next_buffer( ) ) +| { +| case EOB_ACT_LAST_MATCH: +| /* This happens because yy_g_n_b() +| * sees that we've accumulated a +| * token and flags that we need to +| * try matching the token before +| * proceeding. But for input(), +| * there's no matching to consider. +| * So convert the EOB_ACT_LAST_MATCH +| * to EOB_ACT_END_OF_FILE. +| */ +| +| /* Reset buffer status. */ +| yyrestart(yyin ); +| +| /*FALLTHROUGH*/ +| +| case EOB_ACT_END_OF_FILE: +| { +| if ( yywrap( ) ) +| return EOF; +| +| if ( ! (yy_did_buffer_switch_on_eof) ) +| YY_NEW_FILE; +| #ifdef __cplusplus +| return yyinput(); +| #else +| return input(); +| #endif +| } +| +| case EOB_ACT_CONTINUE_SCAN: +| (yy_c_buf_p) = (yytext_ptr) + offset; +| break; +| } +| } +| } +| +| c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ +| *(yy_c_buf_p) = '\0'; /* preserve yytext */ +| (yy_hold_char) = *++(yy_c_buf_p); +| +| return c; +| } +| #endif /* ifndef YY_NO_INPUT */ +| +| /** Immediately switch to a different input stream. +| * @param input_file A readable stream. +| * +| * @note This function does not reset the start condition to @c INITIAL . +| */ +| void yyrestart (FILE * input_file ) +| { +| +| if ( ! YY_CURRENT_BUFFER ){ +| yyensure_buffer_stack (); +| YY_CURRENT_BUFFER_LVALUE = +| yy_create_buffer(yyin,YY_BUF_SIZE ); +| } +| +| yy_init_buffer(YY_CURRENT_BUFFER,input_file ); +| yy_load_buffer_state( ); +| } +| +| /** Switch to a different input buffer. +| * @param new_buffer The new input buffer. +| * +| */ +| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +| { +| +| /* TODO. We should be able to replace this entire function body +| * with +| * yypop_buffer_state(); +| * yypush_buffer_state(new_buffer); +| */ +| yyensure_buffer_stack (); +| if ( YY_CURRENT_BUFFER == new_buffer ) +| return; +| +| if ( YY_CURRENT_BUFFER ) +| { +| /* Flush out information for old buffer. */ +| *(yy_c_buf_p) = (yy_hold_char); +| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| YY_CURRENT_BUFFER_LVALUE = new_buffer; +| yy_load_buffer_state( ); +| +| /* We don't actually know whether we did this switch during +| * EOF (yywrap()) processing, but the only time this flag +| * is looked at is after yywrap() is called, so it's safe +| * to go ahead and always set it. +| */ +| (yy_did_buffer_switch_on_eof) = 1; +| } +| +| static void yy_load_buffer_state (void) +| { +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +| (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; +| yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; +| (yy_hold_char) = *(yy_c_buf_p); +| } +| +| /** Allocate and initialize an input buffer state. +| * @param file A readable stream. +| * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. +| * +| * @return the allocated buffer state. +| */ +| YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +| { +| YY_BUFFER_STATE b; +| +| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); +| if ( ! b ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); +| +| b->yy_buf_size = size; +| +| /* yy_ch_buf has to be 2 characters longer than the size given because +| * we need to put in 2 end-of-buffer characters. +| */ +| b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); +| if ( ! b->yy_ch_buf ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); +| +| b->yy_is_our_buffer = 1; +| +| yy_init_buffer(b,file ); +| +| return b; +| } +| +| /** Destroy the buffer. +| * @param b a buffer created with yy_create_buffer() +| * +| */ +| void yy_delete_buffer (YY_BUFFER_STATE b ) +| { +| +| if ( ! b ) +| return; +| +| if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ +| YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; +| +| if ( b->yy_is_our_buffer ) +| yyfree((void *) b->yy_ch_buf ); +| +| yyfree((void *) b ); +| } +| +| #ifndef __cplusplus +| extern int isatty (int ); +| #endif /* __cplusplus */ +| +| /* Initializes or reinitializes a buffer. +| * This function is sometimes called more than once on the same buffer, +| * such as during a yyrestart() or at EOF. +| */ +| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) +| +| { +| int oerrno = errno; +| +| yy_flush_buffer(b ); +| +| b->yy_input_file = file; +| b->yy_fill_buffer = 1; +| +| /* If b is the current buffer, then yy_init_buffer was _probably_ +| * called from yyrestart() or through yy_get_next_buffer. +| * In that case, we don't want to reset the lineno or column. +| */ +| if (b != YY_CURRENT_BUFFER){ +| b->yy_bs_lineno = 1; +| b->yy_bs_column = 0; +| } +| +| b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; +| +| errno = oerrno; +| } +| +| /** Discard all buffered characters. On the next scan, YY_INPUT will be called. +| * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. +| * +| */ +| void yy_flush_buffer (YY_BUFFER_STATE b ) +| { +| if ( ! b ) +| return; +| +| b->yy_n_chars = 0; +| +| /* We always need two end-of-buffer characters. The first causes +| * a transition to the end-of-buffer state. The second causes +| * a jam in that state. +| */ +| b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; +| b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; +| +| b->yy_buf_pos = &b->yy_ch_buf[0]; +| +| b->yy_at_bol = 1; +| b->yy_buffer_status = YY_BUFFER_NEW; +| +| if ( b == YY_CURRENT_BUFFER ) +| yy_load_buffer_state( ); +| } +| +| /** Pushes the new state onto the stack. The new state becomes +| * the current state. This function will allocate the stack +| * if necessary. +| * @param new_buffer The new state. +| * +| */ +| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +| { +| if (new_buffer == NULL) +| return; +| +| yyensure_buffer_stack(); +| +| /* This block is copied from yy_switch_to_buffer. */ +| if ( YY_CURRENT_BUFFER ) +| { +| /* Flush out information for old buffer. */ +| *(yy_c_buf_p) = (yy_hold_char); +| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| /* Only push if top exists. Otherwise, replace top. */ +| if (YY_CURRENT_BUFFER) +| (yy_buffer_stack_top)++; +| YY_CURRENT_BUFFER_LVALUE = new_buffer; +| +| /* copied from yy_switch_to_buffer. */ +| yy_load_buffer_state( ); +| (yy_did_buffer_switch_on_eof) = 1; +| } +| +| /** Removes and deletes the top of the stack, if present. +| * The next element becomes the new top. +| * +| */ +| void yypop_buffer_state (void) +| { +| if (!YY_CURRENT_BUFFER) +| return; +| +| yy_delete_buffer(YY_CURRENT_BUFFER ); +| YY_CURRENT_BUFFER_LVALUE = NULL; +| if ((yy_buffer_stack_top) > 0) +| --(yy_buffer_stack_top); +| +| if (YY_CURRENT_BUFFER) { +| yy_load_buffer_state( ); +| (yy_did_buffer_switch_on_eof) = 1; +| } +| } +| +| /* Allocates the stack if it does not exist. +| * Guarantees space for at least one push. +| */ +| static void yyensure_buffer_stack (void) +| { +| int num_to_alloc; +| +| if (!(yy_buffer_stack)) { +| +| /* First allocation is just for 2 elements, since we don't know if this +| * scanner will even need a stack. We use 2 instead of 1 to avoid an +| * immediate realloc on the next call. +| */ +| num_to_alloc = 1; +| (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc +| (num_to_alloc * sizeof(struct yy_buffer_state*) +| ); +| +| memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); +| +| (yy_buffer_stack_max) = num_to_alloc; +| (yy_buffer_stack_top) = 0; +| return; +| } +| +| if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ +| +| /* Increase the buffer to prepare for a possible push. */ +| int grow_size = 8 /* arbitrary grow size */; +| +| num_to_alloc = (yy_buffer_stack_max) + grow_size; +| (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc +| ((yy_buffer_stack), +| num_to_alloc * sizeof(struct yy_buffer_state*) +| ); +| +| /* zero only the new slots.*/ +| memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); +| (yy_buffer_stack_max) = num_to_alloc; +| } +| } +| +| /** Setup the input buffer state to scan directly from a user-specified character buffer. +| * @param base the character buffer +| * @param size the size in bytes of the character buffer +| * +| * @return the newly allocated buffer state object. +| */ +| YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +| { +| YY_BUFFER_STATE b; +| +| if ( size < 2 || +| base[size-2] != YY_END_OF_BUFFER_CHAR || +| base[size-1] != YY_END_OF_BUFFER_CHAR ) +| /* They forgot to leave room for the EOB's. */ +| return 0; +| +| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); +| if ( ! b ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); +| +| b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ +| b->yy_buf_pos = b->yy_ch_buf = base; +| b->yy_is_our_buffer = 0; +| b->yy_input_file = 0; +| b->yy_n_chars = b->yy_buf_size; +| b->yy_is_interactive = 0; +| b->yy_at_bol = 1; +| b->yy_fill_buffer = 0; +| b->yy_buffer_status = YY_BUFFER_NEW; +| +| yy_switch_to_buffer(b ); +| +| return b; +| } +| +| /** Setup the input buffer state to scan a string. The next call to yylex() will +| * scan from a @e copy of @a str. +| * @param yystr a NUL-terminated string to scan +| * +| * @return the newly allocated buffer state object. +| * @note If you want to scan bytes that may contain NUL values, then use +| * yy_scan_bytes() instead. +| */ +| YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) +| { +| +| return yy_scan_bytes(yystr,strlen(yystr) ); +| } +| +| /** Setup the input buffer state to scan the given bytes. The next call to yylex() will +| * scan from a @e copy of @a bytes. +| * @param bytes the byte buffer to scan +| * @param len the number of bytes in the buffer pointed to by @a bytes. +| * +| * @return the newly allocated buffer state object. +| */ +| YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +| { +| YY_BUFFER_STATE b; +| char *buf; +| yy_size_t n; +| int i; +| +| /* Get memory for full buffer, including space for trailing EOB's. */ +| n = _yybytes_len + 2; +| buf = (char *) yyalloc(n ); +| if ( ! buf ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); +| +| for ( i = 0; i < _yybytes_len; ++i ) +| buf[i] = yybytes[i]; +| +| buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; +| +| b = yy_scan_buffer(buf,n ); +| if ( ! b ) +| YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); +| +| /* It's okay to grow etc. this buffer, and we should throw it +| * away when we're done. +| */ +| b->yy_is_our_buffer = 1; +| +| return b; +| } +| +| #ifndef YY_EXIT_FAILURE +| #define YY_EXIT_FAILURE 2 +| #endif +| +| static void yy_fatal_error (yyconst char* msg ) +| { +| (void) fprintf( stderr, "%s\n", msg ); +| exit( YY_EXIT_FAILURE ); +| } +| +| /* Redefine yyless() so it works in section 3 code. */ +| +| #undef yyless +| #define yyless(n) \ +| do \ +| { \ +| /* Undo effects of setting up yytext. */ \ +| int yyless_macro_arg = (n); \ +| YY_LESS_LINENO(yyless_macro_arg);\ +| yytext[yyleng] = (yy_hold_char); \ +| (yy_c_buf_p) = yytext + yyless_macro_arg; \ +| (yy_hold_char) = *(yy_c_buf_p); \ +| *(yy_c_buf_p) = '\0'; \ +| yyleng = yyless_macro_arg; \ +| } \ +| while ( 0 ) +| +| /* Accessor methods (get/set functions) to struct members. */ +| +| /** Get the current line number. +| * +| */ +| int yyget_lineno (void) +| { +| +| return yylineno; +| } +| +| /** Get the input stream. +| * +| */ +| FILE *yyget_in (void) +| { +| return yyin; +| } +| +| /** Get the output stream. +| * +| */ +| FILE *yyget_out (void) +| { +| return yyout; +| } +| +| /** Get the length of the current token. +| * +| */ +| int yyget_leng (void) +| { +| return yyleng; +| } +| +| /** Get the current token. +| * +| */ +| +| char *yyget_text (void) +| { +| return yytext; +| } +| +| /** Set the current line number. +| * @param line_number +| * +| */ +| void yyset_lineno (int line_number ) +| { +| +| yylineno = line_number; +| } +| +| /** Set the input stream. This does not discard the current +| * input buffer. +| * @param in_str A readable stream. +| * +| * @see yy_switch_to_buffer +| */ +| void yyset_in (FILE * in_str ) +| { +| yyin = in_str ; +| } +| +| void yyset_out (FILE * out_str ) +| { +| yyout = out_str ; +| } +| +| int yyget_debug (void) +| { +| return yy_flex_debug; +| } +| +| void yyset_debug (int bdebug ) +| { +| yy_flex_debug = bdebug ; +| } +| +| static int yy_init_globals (void) +| { +| /* Initialization is the same as for the non-reentrant scanner. +| * This function is called from yylex_destroy(), so don't allocate here. +| */ +| +| (yy_buffer_stack) = 0; +| (yy_buffer_stack_top) = 0; +| (yy_buffer_stack_max) = 0; +| (yy_c_buf_p) = (char *) 0; +| (yy_init) = 0; +| (yy_start) = 0; +| +| (yy_state_buf) = 0; +| (yy_state_ptr) = 0; +| (yy_full_match) = 0; +| (yy_lp) = 0; +| +| /* Defined in main.c */ +| #ifdef YY_STDINIT +| yyin = stdin; +| yyout = stdout; +| #else +| yyin = (FILE *) 0; +| yyout = (FILE *) 0; +| #endif +| +| /* For future reference: Set errno on error, since we are called by +| * yylex_init() +| */ +| return 0; +| } +| +| /* yylex_destroy is for both reentrant and non-reentrant scanners. */ +| int yylex_destroy (void) +| { +| +| /* Pop the buffer stack, destroying each element. */ +| while(YY_CURRENT_BUFFER){ +| yy_delete_buffer(YY_CURRENT_BUFFER ); +| YY_CURRENT_BUFFER_LVALUE = NULL; +| yypop_buffer_state(); +| } +| +| /* Destroy the stack itself. */ +| yyfree((yy_buffer_stack) ); +| (yy_buffer_stack) = NULL; +| +| yyfree ( (yy_state_buf) ); +| (yy_state_buf) = NULL; +| +| /* Reset the globals. This is important in a non-reentrant scanner so the next time +| * yylex() is called, initialization will occur. */ +| yy_init_globals( ); +| +| return 0; +| } +| +| /* +| * Internal utility routines. +| */ +| +| #ifndef yytext_ptr +| static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +| { +| register int i; +| for ( i = 0; i < n; ++i ) +| s1[i] = s2[i]; +| } +| #endif +| +| #ifdef YY_NEED_STRLEN +| static int yy_flex_strlen (yyconst char * s ) +| { +| register int n; +| for ( n = 0; s[n]; ++n ) +| ; +| +| return n; +| } +| #endif +| +| void *yyalloc (yy_size_t size ) +| { +| return (void *) malloc( size ); +| } +| +| void *yyrealloc (void * ptr, yy_size_t size ) +| { +| /* The cast to (char *) in the following accommodates both +| * implementations that use char* generic pointers, and those +| * that use void* generic pointers. It works with the latter +| * because both ANSI C and C++ allow castless assignment from +| * any pointer type to void*, and deal with argument conversions +| * as though doing an assignment. +| */ +| return (void *) realloc( (char *) ptr, size ); +| } +| +| void yyfree (void * ptr ) +| { +| free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +| } +| +| #define YYTABLES_NAME "yytables" +| +| #line 9 "conftest.l" +| +| +| #ifdef YYTEXT_POINTER +| extern char *yytext; +| #endif +| int +| main (void) +| { +| return ! yylex () + ! yywrap (); +| } +configure:4654: cc -o conftest -g -O2 conftest.c -lfl >&5 +configure:4660: $? = 0 +configure:4681: result: -lfl +configure:4687: checking whether yytext is a pointer +configure:4708: cc -o conftest -g -O2 conftest.c -lfl >&5 +configure:4714: $? = 0 +configure:4733: result: yes +configure:4749: checking for inline +configure:4775: cc -c -g -O2 conftest.c >&5 +configure:4781: $? = 0 +configure:4799: result: inline +configure:4818: checking for an ANSI C-conforming const +configure:4893: cc -c -g -O2 conftest.c >&5 +configure:4899: $? = 0 +configure:4914: result: yes +configure:4958: checking whether we are using Intel C compiler +configure:4988: cc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:18: error: 'choke' undeclared (first use in this function) +conftest.c:18: error: (Each undeclared identifier is reported only once +conftest.c:18: error: for each function it appears in.) +conftest.c:18: error: expected ';' before 'me' +configure:4994: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| +| #ifndef __INTEL_COMPILER +| choke me +| #endif +| +| ; +| return 0; +| } +configure:5011: result: no +configure:5014: checking whether we are using HP C compiler +configure:5045: cc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:18: error: 'choke' undeclared (first use in this function) +conftest.c:18: error: (Each undeclared identifier is reported only once +conftest.c:18: error: for each function it appears in.) +conftest.c:18: error: expected ';' before 'me' +configure:5051: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| +| #if ( !defined( __cplusplus ) && (!defined(__hpux) || defined(__GNUC__) ) ) || ( defined( __cplusplus ) && !defined( __HP_aCC ) ) +| choke me +| #endif +| +| ; +| return 0; +| } +configure:5068: result: no +configure:5080: checking for gperf +configure:5096: found /usr/bin/gperf +configure:5107: result: gperf +configure:5121: checking for less +configure:5137: found /usr/bin/less +configure:5148: result: less +configure:5232: checking for a sed that does not truncate output +configure:5288: result: /bin/sed +configure:5291: checking for grep that handles long lines and -e +configure:5365: result: /bin/grep +configure:5370: checking for egrep +configure:5448: result: /bin/grep -E +configure:5464: checking for ld used by cc +configure:5531: result: /usr/bin/ld +configure:5540: checking if the linker (/usr/bin/ld) is GNU ld +configure:5555: result: yes +configure:5560: checking for /usr/bin/ld option to reload object files +configure:5567: result: -r +configure:5585: checking for BSD-compatible nm +configure:5634: result: /usr/bin/nm -B +configure:5638: checking how to recognize dependent libraries +configure:5824: result: pass_all +configure:6064: checking how to run the C preprocessor +configure:6104: cc -E conftest.c +configure:6110: $? = 0 +configure:6141: cc -E conftest.c +conftest.c:13:28: error: ac_nonexistent.h: No such file or directory +configure:6147: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| /* end confdefs.h. */ +| #include +configure:6180: result: cc -E +configure:6209: cc -E conftest.c +configure:6215: $? = 0 +configure:6246: cc -E conftest.c +conftest.c:13:28: error: ac_nonexistent.h: No such file or directory +configure:6252: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| /* end confdefs.h. */ +| #include +configure:6290: checking for ANSI C header files +configure:6320: cc -c -g -O2 conftest.c >&5 +configure:6326: $? = 0 +configure:6425: cc -o conftest -g -O2 conftest.c >&5 +configure:6428: $? = 0 +configure:6434: ./conftest +configure:6437: $? = 0 +configure:6454: result: yes +configure:6478: checking for sys/types.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for sys/stat.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for stdlib.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for string.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for memory.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for strings.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for inttypes.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for stdint.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6478: checking for unistd.h +configure:6499: cc -c -g -O2 conftest.c >&5 +configure:6505: $? = 0 +configure:6521: result: yes +configure:6548: checking dlfcn.h usability +configure:6565: cc -c -g -O2 conftest.c >&5 +configure:6571: $? = 0 +configure:6585: result: yes +configure:6589: checking dlfcn.h presence +configure:6604: cc -E conftest.c +configure:6610: $? = 0 +configure:6624: result: yes +configure:6652: checking for dlfcn.h +configure:6660: result: yes +configure:6731: checking for g++ +configure:6747: found /usr/bin/g++ +configure:6758: result: g++ +configure:6789: checking for C++ compiler version +configure:6796: g++ --version >&5 +g++ (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +Copyright (C) 2006 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:6799: $? = 0 +configure:6806: g++ -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +configure:6809: $? = 0 +configure:6816: g++ -V >&5 +g++: '-V' option must have argument +configure:6819: $? = 1 +configure:6822: checking whether we are using the GNU C++ compiler +configure:6851: g++ -c conftest.cpp >&5 +configure:6857: $? = 0 +configure:6874: result: yes +configure:6879: checking whether g++ accepts -g +configure:6909: g++ -c -g conftest.cpp >&5 +configure:6915: $? = 0 +configure:7014: result: yes +configure:7039: checking dependency style of g++ +configure:7129: result: gcc3 +configure:7156: checking how to run the C++ preprocessor +configure:7192: g++ -E conftest.cpp +configure:7198: $? = 0 +configure:7229: g++ -E conftest.cpp +conftest.cpp:24:28: error: ac_nonexistent.h: No such file or directory +configure:7235: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:7268: result: g++ -E +configure:7297: g++ -E conftest.cpp +configure:7303: $? = 0 +configure:7334: g++ -E conftest.cpp +conftest.cpp:24:28: error: ac_nonexistent.h: No such file or directory +configure:7340: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:7433: checking for g77 +configure:7449: found /usr/bin/g77 +configure:7460: result: g77 +configure:7490: checking for Fortran 77 compiler version +configure:7497: g77 --version >&5 +GNU Fortran (GCC) 3.4.6 (Debian 3.4.6-6) +Copyright (C) 2006 Free Software Foundation, Inc. + +GNU Fortran comes with NO WARRANTY, to the extent permitted by law. +You may redistribute copies of GNU Fortran +under the terms of the GNU General Public License. +For more information about these matters, see the file named COPYING +or type the command `info -f g77 Copying'. +configure:7500: $? = 0 +configure:7507: g77 -v >&5 +Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs +Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu +Thread model: posix +gcc version 3.4.6 (Debian 3.4.6-6) +configure:7510: $? = 0 +configure:7517: g77 -V >&5 +g77: `-V' option must have argument +configure:7520: $? = 1 +configure:7528: checking whether we are using the GNU Fortran 77 compiler +configure:7547: g77 -c conftest.F >&5 +configure:7553: $? = 0 +configure:7570: result: yes +configure:7576: checking whether g77 accepts -g +configure:7593: g77 -c -g conftest.f >&5 +configure:7599: $? = 0 +configure:7615: result: yes +configure:7645: checking the maximum length of command line arguments +configure:7757: result: 98304 +configure:7769: checking command to parse /usr/bin/nm -B output from cc object +configure:7874: cc -c -g -O2 conftest.c >&5 +configure:7877: $? = 0 +configure:7881: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:7884: $? = 0 +configure:7936: cc -o conftest -g -O2 conftest.c conftstm.o >&5 +configure:7939: $? = 0 +configure:7977: result: ok +configure:7981: checking for objdir +configure:7996: result: .libs +configure:8088: checking for ar +configure:8104: found /usr/bin/ar +configure:8115: result: ar +configure:8184: checking for ranlib +configure:8200: found /usr/bin/ranlib +configure:8211: result: ranlib +configure:8280: checking for strip +configure:8296: found /usr/bin/strip +configure:8307: result: strip +configure:8593: checking if cc supports -fno-rtti -fno-exceptions +configure:8611: cc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:8615: $? = 0 +configure:8628: result: no +configure:8643: checking for cc option to produce PIC +configure:8875: result: -fPIC +configure:8883: checking if cc PIC flag -fPIC works +configure:8901: cc -c -g -O2 -fPIC -DPIC conftest.c >&5 +configure:8905: $? = 0 +configure:8918: result: yes +configure:8946: checking if cc static flag -static works +configure:8974: result: yes +configure:8984: checking if cc supports -c -o file.o +configure:9005: cc -c -g -O2 -o out/conftest2.o conftest.c >&5 +configure:9009: $? = 0 +configure:9031: result: yes +configure:9057: checking whether the cc linker (/usr/bin/ld) supports shared libraries +configure:10038: result: yes +configure:10105: checking dynamic linker characteristics +configure:10719: result: GNU/Linux ld.so +configure:10728: checking how to hardcode library paths into programs +configure:10753: result: immediate +configure:10767: checking whether stripping libraries is possible +configure:10772: result: yes +configure:10896: checking for shl_load +configure:10952: cc -o conftest -g -O2 conftest.c >&5 +/tmp/ccwOWrAb.o: In function `main': +/home/ahs3/projects/ski/wip.hg/conftest.c:58: undefined reference to `shl_load' +collect2: ld returned 1 exit status +configure:10958: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| /* Define shl_load to an innocuous variant, in case declares shl_load. +| For example, HP-UX 11i declares gettimeofday. */ +| #define shl_load innocuous_shl_load +| +| /* System header to define __stub macros and hopefully few prototypes, +| which can conflict with char shl_load (); below. +| Prefer to if __STDC__ is defined, since +| exists even on freestanding compilers. */ +| +| #ifdef __STDC__ +| # include +| #else +| # include +| #endif +| +| #undef shl_load +| +| /* Override any GCC internal prototype to avoid an error. +| Use char because int might match the return type of a GCC +| builtin and then its argument prototype would still apply. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| char shl_load (); +| /* The GNU C library defines this for functions which it implements +| to always fail with ENOSYS. Some functions are actually named +| something starting with __ and the normal name is an alias. */ +| #if defined __stub_shl_load || defined __stub___shl_load +| choke me +| #endif +| +| int +| main () +| { +| return shl_load (); +| ; +| return 0; +| } +configure:10975: result: no +configure:10980: checking for shl_load in -ldld +configure:11015: cc -o conftest -g -O2 conftest.c -ldld >&5 +/usr/bin/ld: cannot find -ldld +collect2: ld returned 1 exit status +configure:11021: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| +| /* Override any GCC internal prototype to avoid an error. +| Use char because int might match the return type of a GCC +| builtin and then its argument prototype would still apply. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| char shl_load (); +| int +| main () +| { +| return shl_load (); +| ; +| return 0; +| } +configure:11039: result: no +configure:11044: checking for dlopen +configure:11100: cc -o conftest -g -O2 conftest.c >&5 +/tmp/ccibfbGn.o: In function `main': +/home/ahs3/projects/ski/wip.hg/conftest.c:58: undefined reference to `dlopen' +collect2: ld returned 1 exit status +configure:11106: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| /* Define dlopen to an innocuous variant, in case declares dlopen. +| For example, HP-UX 11i declares gettimeofday. */ +| #define dlopen innocuous_dlopen +| +| /* System header to define __stub macros and hopefully few prototypes, +| which can conflict with char dlopen (); below. +| Prefer to if __STDC__ is defined, since +| exists even on freestanding compilers. */ +| +| #ifdef __STDC__ +| # include +| #else +| # include +| #endif +| +| #undef dlopen +| +| /* Override any GCC internal prototype to avoid an error. +| Use char because int might match the return type of a GCC +| builtin and then its argument prototype would still apply. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| char dlopen (); +| /* The GNU C library defines this for functions which it implements +| to always fail with ENOSYS. Some functions are actually named +| something starting with __ and the normal name is an alias. */ +| #if defined __stub_dlopen || defined __stub___dlopen +| choke me +| #endif +| +| int +| main () +| { +| return dlopen (); +| ; +| return 0; +| } +configure:11123: result: no +configure:11128: checking for dlopen in -ldl +configure:11163: cc -o conftest -g -O2 conftest.c -ldl >&5 +configure:11169: $? = 0 +configure:11187: result: yes +configure:11356: checking whether a program can dlopen itself +configure:11430: cc -o conftest -g -O2 -DHAVE_DLFCN_H -Wl,--export-dynamic conftest.c -ldl >&5 +configure: In function 'main': +configure:11426: warning: incompatible implicit declaration of built-in function 'exit' +configure:11433: $? = 0 +configure:11451: result: yes +configure:11456: checking whether a statically linked program can dlopen itself +configure:11530: cc -o conftest -g -O2 -DHAVE_DLFCN_H -Wl,--export-dynamic -static conftest.c -ldl >&5 +configure: In function 'main': +configure:11526: warning: incompatible implicit declaration of built-in function 'exit' +/tmp/ccEYNaVU.o: In function `main': +/home/ahs3/projects/ski/wip.hg/configure:11514: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking +configure:11533: $? = 0 +/usr/lib/xorg/: cannot read file data: Is a directory +configure:11551: result: no +configure:11574: checking if libtool supports shared libraries +configure:11576: result: yes +configure:11579: checking whether to build shared libraries +configure:11600: result: no +configure:11603: checking whether to build static libraries +configure:11607: result: yes +configure:11700: creating libtool +configure:12288: checking for ld used by g++ +configure:12355: result: /usr/bin/ld +configure:12364: checking if the linker (/usr/bin/ld) is GNU ld +configure:12379: result: yes +configure:12430: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:13404: result: yes +configure:13422: g++ -c -g -O2 conftest.cpp >&5 +configure:13425: $? = 0 +configure:13577: checking for g++ option to produce PIC +configure:13861: result: -fPIC +configure:13869: checking if g++ PIC flag -fPIC works +configure:13887: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5 +configure:13891: $? = 0 +configure:13904: result: yes +configure:13932: checking if g++ static flag -static works +configure:13960: result: yes +configure:13970: checking if g++ supports -c -o file.o +configure:13991: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 +configure:13995: $? = 0 +configure:14017: result: yes +configure:14043: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:14071: result: yes +configure:14138: checking dynamic linker characteristics +configure:14700: result: GNU/Linux ld.so +configure:14709: checking how to hardcode library paths into programs +configure:14734: result: immediate +configure:15268: checking if libtool supports shared libraries +configure:15270: result: yes +configure:15273: checking whether to build shared libraries +configure:15293: result: no +configure:15296: checking whether to build static libraries +configure:15300: result: yes +configure:15310: checking for g77 option to produce PIC +configure:15542: result: -fPIC +configure:15550: checking if g77 PIC flag -fPIC works +configure:15568: g77 -c -g -O2 -fPIC conftest.f >&5 +configure:15572: $? = 0 +configure:15585: result: yes +configure:15613: checking if g77 static flag -static works +configure:15641: result: yes +configure:15651: checking if g77 supports -c -o file.o +configure:15672: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5 +configure:15676: $? = 0 +configure:15698: result: yes +configure:15724: checking whether the g77 linker (/usr/bin/ld) supports shared libraries +configure:16685: result: yes +configure:16752: checking dynamic linker characteristics +configure:17314: result: GNU/Linux ld.so +configure:17323: checking how to hardcode library paths into programs +configure:17348: result: immediate +configure:20934: checking whether to enable maintainer-specific portions of Makefiles +configure:20943: result: yes +configure:20985: checking whether host byte ordering is defined in sys/param.h +configure:21018: cc -c -g -O2 conftest.c >&5 +configure:21024: $? = 0 +configure:21039: result: yes +configure:21139: checking for working alloca.h +configure:21166: cc -o conftest -g -O2 conftest.c >&5 +configure:21172: $? = 0 +configure:21189: result: yes +configure:21199: checking for alloca +configure:21246: cc -o conftest -g -O2 conftest.c >&5 +configure:21252: $? = 0 +configure:21269: result: yes +configure:21675: checking for strtoull +configure:21731: cc -o conftest -g -O2 conftest.c >&5 +configure:21737: $? = 0 +configure:21755: result: yes +configure:21675: checking for __strtoull +configure:21731: cc -o conftest -g -O2 conftest.c >&5 +/tmp/ccQ5Mrdg.o: In function `main': +/home/ahs3/projects/ski/wip.hg/conftest.c:63: undefined reference to `__strtoull' +collect2: ld returned 1 exit status +configure:21737: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_LESSTIF 0 +| #define ENDIANESS_IN_SYS_PARAM_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define HAVE_STRTOULL 1 +| /* end confdefs.h. */ +| /* Define __strtoull to an innocuous variant, in case declares __strtoull. +| For example, HP-UX 11i declares gettimeofday. */ +| #define __strtoull innocuous___strtoull +| +| /* System header to define __stub macros and hopefully few prototypes, +| which can conflict with char __strtoull (); below. +| Prefer to if __STDC__ is defined, since +| exists even on freestanding compilers. */ +| +| #ifdef __STDC__ +| # include +| #else +| # include +| #endif +| +| #undef __strtoull +| +| /* 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 __strtoull (); +| /* 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___strtoull || defined __stub_____strtoull +| choke me +| #endif +| +| int +| main () +| { +| return __strtoull (); +| ; +| return 0; +| } +configure:21755: result: no +configure:21776: checking libelf.h usability +configure:21793: cc -c -g -O2 conftest.c >&5 +configure:21799: $? = 0 +configure:21813: result: yes +configure:21817: checking libelf.h presence +configure:21832: cc -E conftest.c +configure:21838: $? = 0 +configure:21852: result: yes +configure:21880: checking for libelf.h +configure:21887: result: yes +configure:22071: checking for _Uia64_get_proc_name in -lunwind-ia64 +configure:22106: cc -o conftest -g -O2 conftest.c -lunwind-ia64 >&5 +/usr/bin/ld: cannot find -lunwind-ia64 +collect2: ld returned 1 exit status +configure:22112: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_LESSTIF 0 +| #define ENDIANESS_IN_SYS_PARAM_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define HAVE_STRTOULL 1 +| #define SKINET_ENABLE 1 +| /* 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 _Uia64_get_proc_name (); +| int +| main () +| { +| return _Uia64_get_proc_name (); +| ; +| return 0; +| } +configure:22130: result: no +configure:22162: checking for bfd support +configure:22206: cc -o conftest -g -O2 conftest.c -lbfd -liberty >&5 +configure:22209: $? = 0 +configure:22215: ./conftest +configure:22218: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_LESSTIF 0 +| #define ENDIANESS_IN_SYS_PARAM_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define HAVE_STRTOULL 1 +| #define SKINET_ENABLE 1 +| /* end confdefs.h. */ +| +| #include +| int main() { +| bfd_init (); +| return bfd_set_default_target ("elf64-ia64-little") == 0; +| } +configure:22242: result: no +configure:22267: checking ski_elf.h usability +configure:22284: cc -c -g -O2 conftest.c >&5 +conftest.c:63:21: error: ski_elf.h: No such file or directory +configure:22290: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_LESSTIF 0 +| #define ENDIANESS_IN_SYS_PARAM_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define HAVE_STRTOULL 1 +| #define SKINET_ENABLE 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:22304: result: no +configure:22308: checking ski_elf.h presence +configure:22323: cc -E conftest.c +conftest.c:30:21: error: ski_elf.h: No such file or directory +configure:22329: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define SKI_RELEASE "gplv2" +| #define PACKAGE "ski" +| #define VERSION "1.1.3" +| #define YYTEXT_POINTER 1 +| #define PAGER "less" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_LESSTIF 0 +| #define ENDIANESS_IN_SYS_PARAM_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define HAVE_STRTOULL 1 +| #define SKINET_ENABLE 1 +| /* end confdefs.h. */ +| #include +configure:22343: result: no +configure:22371: checking for ski_elf.h +configure:22378: result: no +configure:22396: checking for ldexp in -lm +configure:22431: cc -o conftest -g -O2 conftest.c -lm >&5 +conftest.c:37: warning: conflicting types for built-in function 'ldexp' +configure:22437: $? = 0 +configure:22455: result: yes +configure:22549: checking for tgetent in -lcurses +configure:22584: cc -o conftest -g -O2 conftest.c -lcurses -lm >&5 +configure:22590: $? = 0 +configure:22608: result: yes +configure:22698: checking for elf_begin in -lelf +configure:22733: cc -o conftest -g -O2 conftest.c -lelf -lcurses -lm >&5 +configure:22739: $? = 0 +configure:22757: result: yes +configure:23017: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on rigel + +config.status:717: creating ski.spec +config.status:717: creating ski-config +config.status:717: creating Makefile +config.status:717: creating macros/Makefile +config.status:717: creating src/Makefile +config.status:717: creating src/decoder/Makefile +config.status:717: creating src/encoder/Makefile +config.status:717: creating src/fake-xterm/Makefile +config.status:717: creating doc/Makefile +config.status:717: creating config.h +config.status:950: config.h is unchanged +config.status:1000: linking ./src/missing/ski_elf.h to src/ski_elf.h +config.status:1022: executing depfiles commands +configure:24428: === configuring in libltdl (/home/ahs3/projects/ski/wip.hg/libltdl) +configure:24531: running /bin/sh ./configure '--prefix=/usr/local' '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' '--enable-ltdl-convenience' --cache-file=/dev/null --srcdir=. + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=i686-pc-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_compiler_hp=no +ac_cv_c_compiler_intel=no +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CCASFLAGS_set= +ac_cv_env_CCASFLAGS_value= +ac_cv_env_CCAS_set= +ac_cv_env_CCAS_value= +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +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_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_F77_set= +ac_cv_env_F77_value= +ac_cv_env_FFLAGS_set= +ac_cv_env_FFLAGS_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_YACC_set= +ac_cv_env_YACC_value= +ac_cv_env_YFLAGS_set= +ac_cv_env_YFLAGS_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_f77_compiler_gnu=yes +ac_cv_func___strtoull=no +ac_cv_func_alloca_works=yes +ac_cv_func_dlopen=no +ac_cv_func_shl_load=no +ac_cv_func_strtoull=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_libelf_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_ski_elf_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_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=i686-pc-linux-gnu +ac_cv_lib_curses_tgetent=yes +ac_cv_lib_dl_dlopen=yes +ac_cv_lib_dld_shl_load=no +ac_cv_lib_elf_elf_begin=yes +ac_cv_lib_lex=-lfl +ac_cv_lib_m_ldexp=yes +ac_cv_lib_unwind_ia64__Uia64_get_proc_name=no +ac_cv_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_GREP=/bin/grep +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='cc -E' +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_GPERF=gperf +ac_cv_prog_LEX=flex +ac_cv_prog_PAGER=less +ac_cv_prog_SED=sed +ac_cv_prog_YACC='bison -y' +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=cc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_F77=g77 +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cxx_g=yes +ac_cv_prog_f77_g=yes +ac_cv_prog_lex_root=lex.yy +ac_cv_prog_lex_yytext_pointer=yes +ac_cv_prog_make_make_set=yes +ac_cv_working_alloca_h=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 +am_cv_prog_cc_stdc= +lt_cv_deplibs_check_method=pass_all +lt_cv_dlopen=dlopen +lt_cv_dlopen_libs=-ldl +lt_cv_dlopen_self=yes +lt_cv_dlopen_self_static=no +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX=/usr/bin/ld +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_SED=/bin/sed +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_c_o_F77=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' +lt_cv_sys_max_cmd_len=98304 +lt_lt_cv_prog_compiler_c_o='"yes"' +lt_lt_cv_prog_compiler_c_o_CXX='"yes"' +lt_lt_cv_prog_compiler_c_o_F77='"yes"' +lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' +lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' +lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' +ski_cv_c_bigendian_compile=yes +ski_cv_c_target_bigendian=no + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros' +ALLOCA='' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar' +AR='ar' +AUTOCONF='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf' +AUTOHEADER='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader' +AUTOMAKE='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9' +AWK='gawk' +CC='cc' +CCAS='cc' +CCASFLAGS='-g -O2' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused' +CPP='cc -E' +CPPFLAGS='' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +DWARF_CFLAGS='' +DWARF_LIBS='' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/bin/grep -E' +EXEEXT='' +F77='g77' +FFLAGS='-g -O2' +FREEBSD_FALSE='' +FREEBSD_TRUE='#' +GPERF='gperf' +GREP='/bin/grep' +HOST_OS='linux' +HPUX_FALSE='' +HPUX_TRUE='#' +INCLTDL='-I${top_srcdir}/libltdl' +INSIDE_GNOME_COMMON_FALSE='' +INSIDE_GNOME_COMMON_TRUE='#' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +LDFLAGS='' +LEX='flex' +LEXLIB='-lfl' +LEX_OUTPUT_ROOT='lex.yy' +LIBLTDL='${top_builddir}/libltdl/libltdlc.la' +LIBOBJS='' +LIBS='-lelf -lcurses -lm ' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LINUX_FALSE='#' +LINUX_TRUE='' +LN_S='ln -s' +LTLIBOBJS='' +LT_AGE='0' +LT_CURRENT='3' +LT_RELEASE='1.1' +LT_REVISION='0' +MAINT='' +MAINTAINER_MODE_FALSE='#' +MAINTAINER_MODE_TRUE='' +MAKEINFO='${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo' +OBJEXT='o' +PACKAGE='ski' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PAGER='less' +PATH_SEPARATOR=':' +RANLIB='ranlib' +SED='/bin/sed' +SET_MAKE='' +SHELL='/bin/sh' +SKI_BINARY_AGE='0' +SKI_INTERFACE_AGE='0' +SKI_MAJOR_VERSION='1' +SKI_MICRO_VERSION='3' +SKI_MINOR_VERSION='1' +SKI_RELEASE='gplv2' +SKI_VERSION='1.1.3' +STRIP='strip' +VERSION='1.1.3' +WITH_NETDEV_FALSE='#' +WITH_NETDEV_TRUE='' +WITH_X_INTERFACE_FALSE='' +WITH_X_INTERFACE_TRUE='#' +YACC='bison -y' +YFLAGS='-d' +ac_ct_CC='cc' +ac_ct_CXX='g++' +ac_ct_F77='g77' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='i686-pc-linux-gnu' +build_alias='' +build_cpu='i686' +build_os='linux-gnu' +build_vendor='pc' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE}' +dvidir='${docdir}' +encdir='$(top_srcdir)/src/encodings' +exec_prefix='${prefix}' +host='i686-pc-linux-gnu' +host_alias='i686-pc-linux-gnu' +host_cpu='i686' +host_os='linux-gnu' +host_vendor='pc' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +install_sh='/home/ahs3/projects/ski/wip.hg/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +mkdir_p='mkdir -p --' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +subdirs=' libltdl' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define PACKAGE_STRING "" +#define PACKAGE_BUGREPORT "" +#define SKI_RELEASE "gplv2" +#define PACKAGE "ski" +#define VERSION "1.1.3" +#define YYTEXT_POINTER 1 +#define PAGER "less" +#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 HAVE_DLFCN_H 1 +#define HAVE_LESSTIF 0 +#define ENDIANESS_IN_SYS_PARAM_H 1 +#define HAVE_ALLOCA_H 1 +#define HAVE_ALLOCA 1 +#define HAVE_STRTOULL 1 +#define SKINET_ENABLE 1 +#define HAVE_LIBM 1 +#define HAVE_LIBCURSES 1 +#define HAVE_LIBELF 1 + +configure: exit 0 diff --git a/config.status b/config.status new file mode 100755 index 0000000..0f061a7 --- /dev/null +++ b/config.status @@ -0,0 +1,1158 @@ +#! /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} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" ski.spec ski-config Makefile macros/Makefile src/Makefile src/decoder/Makefile src/encoder/Makefile src/fake-xterm/Makefile doc/Makefile" +config_headers=" config.h" +config_links=" src/ski_elf.h:src/missing/ski_elf.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"'--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' --enable-ltdl-convenience\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/ahs3/projects/ski/wip.hg' +srcdir='.' +INSTALL='/usr/bin/install -c' +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' --enable-ltdl-convenience $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/sh + export CONFIG_SHELL + exec /bin/sh "./configure" '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' --enable-ltdl-convenience $ac_configure_extra_args --no-create --no-recursion +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" ac_aux_dir="." + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "src/ski_elf.h") CONFIG_LINKS="$CONFIG_LINKS src/ski_elf.h:src/missing/ski_elf.h" ;; + "ski.spec") CONFIG_FILES="$CONFIG_FILES ski.spec" ;; + "ski-config") CONFIG_FILES="$CONFIG_FILES ski-config" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "macros/Makefile") CONFIG_FILES="$CONFIG_FILES macros/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/decoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/decoder/Makefile" ;; + "src/encoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/encoder/Makefile" ;; + "src/fake-xterm/Makefile") CONFIG_FILES="$CONFIG_FILES src/fake-xterm/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +cat >"$tmp/subs-1.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@SHELL@,|#_!!_#|/bin/sh,g +s,@PATH_SEPARATOR@,|#_!!_#|:,g +s,@PACKAGE_NAME@,|#_!!_#|,g +s,@PACKAGE_TARNAME@,|#_!!_#|,g +s,@PACKAGE_VERSION@,|#_!!_#|,g +s,@PACKAGE_STRING@,|#_!!_#|,g +s,@PACKAGE_BUGREPORT@,|#_!!_#|,g +s,@exec_prefix@,|#_!!_#|${prefix},g +s,@prefix@,|#_!!_#|/usr/local,g +s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g +s,@bindir@,|#_!!_#|${exec_prefix}/bin,g +s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g +s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g +s,@datarootdir@,|#_!!_#|${prefix}/share,g +s,@datadir@,|#_!!_#|${datarootdir},g +s,@sysconfdir@,|#_!!_#|${prefix}/etc,g +s,@sharedstatedir@,|#_!!_#|${prefix}/com,g +s,@localstatedir@,|#_!!_#|${prefix}/var,g +s,@includedir@,|#_!!_#|${prefix}/include,g +s,@oldincludedir@,|#_!!_#|/usr/include,g +s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE},g +s,@infodir@,|#_!!_#|${datarootdir}/info,g +s,@htmldir@,|#_!!_#|${docdir},g +s,@dvidir@,|#_!!_#|${docdir},g +s,@pdfdir@,|#_!!_#|${docdir},g +s,@psdir@,|#_!!_#|${docdir},g +s,@libdir@,|#_!!_#|${exec_prefix}/lib,g +s,@localedir@,|#_!!_#|${datarootdir}/locale,g +s,@mandir@,|#_!!_#|${datarootdir}/man,g +s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g +s,@ECHO_C@,|#_!!_#|,g +s,@ECHO_N@,|#_!!_#|-n,g +s,@ECHO_T@,|#_!!_#|,g +s,@LIBS@,|#_!!_#|-lelf -lcurses -lm ,g +s,@build_alias@,|#_!!_#|,g +s,@host_alias@,|#_!!_#|i686-pc-linux-gnu,g +s,@target_alias@,|#_!!_#|,g +s,@build@,|#_!!_#|i686-pc-linux-gnu,g +s,@build_cpu@,|#_!!_#|i686,g +s,@build_vendor@,|#_!!_#|pc,g +s,@build_os@,|#_!!_#|linux-gnu,g +s,@host@,|#_!!_#|i686-pc-linux-gnu,g +s,@host_cpu@,|#_!!_#|i686,g +s,@host_vendor@,|#_!!_#|pc,g +s,@host_os@,|#_!!_#|linux-gnu,g +s,@HOST_OS@,|#_!!_#|linux,g +s,@LINUX_TRUE@,|#_!!_#|,g +s,@LINUX_FALSE@,|#_!!_#|#,g +s,@HPUX_TRUE@,|#_!!_#|#,g +s,@HPUX_FALSE@,|#_!!_#|,g +s,@FREEBSD_TRUE@,|#_!!_#|#,g +s,@FREEBSD_FALSE@,|#_!!_#|,g +s,@SKI_MAJOR_VERSION@,|#_!!_#|1,g +s,@SKI_MINOR_VERSION@,|#_!!_#|1,g +s,@SKI_MICRO_VERSION@,|#_!!_#|3,g +s,@SKI_VERSION@,|#_!!_#|1.1.3,g +s,@SKI_INTERFACE_AGE@,|#_!!_#|0,g +s,@SKI_BINARY_AGE@,|#_!!_#|0,g +s,@SKI_RELEASE@,|#_!!_#|gplv2,g +s,@LT_RELEASE@,|#_!!_#|1.1,g +s,@LT_CURRENT@,|#_!!_#|3,g +s,@LT_REVISION@,|#_!!_#|0,g +s,@LT_AGE@,|#_!!_#|0,g +s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g +s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g +s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g +s,@CYGPATH_W@,|#_!!_#|echo,g +s,@PACKAGE@,|#_!!_#|ski,g +s,@VERSION@,|#_!!_#|1.1.3,g +s,@ACLOCAL@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros,g +s,@AUTOCONF@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf,g +s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9,g +s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader,g +s,@MAKEINFO@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo,g +s,@install_sh@,|#_!!_#|/home/ahs3/projects/ski/wip.hg/install-sh,g +s,@STRIP@,|#_!!_#|strip,g +s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|${SHELL} $(install_sh) -c -s,g +s,@mkdir_p@,|#_!!_#|mkdir -p --,g +s,@AWK@,|#_!!_#|gawk,g +s,@SET_MAKE@,|#_!!_#|,g +s,@am__leading_dot@,|#_!!_#|.,g +s,@AMTAR@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar,g +s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g +s,@am__untar@,|#_!!_#|${AMTAR} xf -,g +s,@INSIDE_GNOME_COMMON_TRUE@,|#_!!_#|#,g +s,@INSIDE_GNOME_COMMON_FALSE@,|#_!!_#|,g +s,@CC@,|#_!!_#|cc,g +s,@CFLAGS@,|#_!!_#|-g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused,g +s,@LDFLAGS@,|#_!!_#|,g +s,@CPPFLAGS@,|#_!!_#|,g +s,@ac_ct_CC@,|#_!!_#|cc,g +s,@EXEEXT@,|#_!!_#|,g +s,@OBJEXT@,|#_!!_#|o,g +s,@DEPDIR@,|#_!!_#|.deps,g +s,@am__include@,|#_!!_#|include,g +s,@am__quote@,|#_!!_#|,g +s,@AMDEP_TRUE@,|#_!!_#|,g +CEOF +cat >"$tmp/subs-2.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +s,@AMDEP_FALSE@,|#_!!_#|#,g +s,@AMDEPBACKSLASH@,|#_!!_#|\\,g +s,@CCDEPMODE@,|#_!!_#|depmode=gcc3,g +s,@am__fastdepCC_TRUE@,|#_!!_#|,g +s,@am__fastdepCC_FALSE@,|#_!!_#|#,g +s,@CCAS@,|#_!!_#|cc,g +s,@CCASFLAGS@,|#_!!_#|-g -O2,g +s,@LN_S@,|#_!!_#|ln -s,g +s,@SED@,|#_!!_#|/bin/sed,g +s,@YACC@,|#_!!_#|bison -y,g +s,@YFLAGS@,|#_!!_#|-d,g +s,@LEX@,|#_!!_#|flex,g +s,@LEX_OUTPUT_ROOT@,|#_!!_#|lex.yy,g +s,@LEXLIB@,|#_!!_#|-lfl,g +s,@GPERF@,|#_!!_#|gperf,g +s,@PAGER@,|#_!!_#|less,g +s,@subdirs@,|#_!!_#| libltdl,g +s,@GREP@,|#_!!_#|/bin/grep,g +s,@EGREP@,|#_!!_#|/bin/grep -E,g +s,@ECHO@,|#_!!_#|echo,g +s,@AR@,|#_!!_#|ar,g +s,@RANLIB@,|#_!!_#|ranlib,g +s,@CPP@,|#_!!_#|cc -E,g +s,@CXX@,|#_!!_#|g++,g +s,@CXXFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_CXX@,|#_!!_#|g++,g +s,@CXXDEPMODE@,|#_!!_#|depmode=gcc3,g +s,@am__fastdepCXX_TRUE@,|#_!!_#|,g +s,@am__fastdepCXX_FALSE@,|#_!!_#|#,g +s,@CXXCPP@,|#_!!_#|g++ -E,g +s,@F77@,|#_!!_#|g77,g +s,@FFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_F77@,|#_!!_#|g77,g +s,@LIBTOOL@,|#_!!_#|$(SHELL) $(top_builddir)/libtool,g +s,@LIBLTDL@,|#_!!_#|${top_builddir}/libltdl/libltdlc.la,g +s,@INCLTDL@,|#_!!_#|-I${top_srcdir}/libltdl,g +s,@MAINTAINER_MODE_TRUE@,|#_!!_#|,g +s,@MAINTAINER_MODE_FALSE@,|#_!!_#|#,g +s,@MAINT@,|#_!!_#|,g +s,@WITH_X_INTERFACE_TRUE@,|#_!!_#|#,g +s,@WITH_X_INTERFACE_FALSE@,|#_!!_#|,g +s,@ALLOCA@,|#_!!_#|,g +s,@WITH_NETDEV_TRUE@,|#_!!_#|,g +s,@WITH_NETDEV_FALSE@,|#_!!_#|#,g +s,@DWARF_CFLAGS@,|#_!!_#|,g +s,@DWARF_LIBS@,|#_!!_#|,g +s,@encdir@,|#_!!_#|$(top_srcdir)/src/encodings,g +s,@LIBOBJS@,|#_!!_#|,g +s,@LTLIBOBJS@,|#_!!_#|,g +:end +s/|#_!!_#|//g +CEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + 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 + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s/$/ / +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*SKI_RELEASE\)[ (].*,\1define\2 "gplv2" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE\)[ (].*,\1define\2 "ski" , +s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "1.1.3" , +s,^\([ #]*\)[^ ]*\([ ]*YYTEXT_POINTER\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*PAGER\)[ (].*,\1define\2 "less" , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LESSTIF\)[ (].*,\1define\2 0 , +s,^\([ #]*\)[^ ]*\([ ]*ENDIANESS_IN_SYS_PARAM_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ALLOCA_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ALLOCA\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRTOULL\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*SKINET_ENABLE\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBM\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBCURSES\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBELF\)[ (].*,\1define\2 1 , +s/ $// +s,^[ #]*u.*,/* & */, +CEOF + sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" +ac_result="$tmp/out1" + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: linking $srcdir/$ac_source to $ac_file" >&6;} + + if test ! -r "$srcdir/$ac_source"; then + { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 +echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $srcdir in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null || + cp -p "$srcdir/$ac_source" "$ac_file" || + { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "ski-config":F) chmod +x ski-config ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..5defff6 --- /dev/null +++ b/config.sub @@ -0,0 +1,1622 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2007-01-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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# 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 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. + +# 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 +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-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + 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) + os= + basic_machine=$1 + ;; + -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*) + 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 \ + | 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 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | 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 | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-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-* \ + | 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-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | 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-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | 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-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | 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-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # 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 + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + 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 + ;; + cr16c) + basic_machine=cr16c-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 + ;; + 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'm not sure what "Sysv32" means. Should this be sysv3.2? + 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 + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + 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-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + 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 + ;; + 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 + ;; + 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) basic_machine=powerpc-unknown + ;; + ppc-*) 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 + ;; + 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 + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + 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 + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-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[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. + -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* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -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* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -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*) + # 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 + ;; + -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 + ;; + # 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 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + 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 + ;; + -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/configure b/configure new file mode 100755 index 0000000..f6c1b1e --- /dev/null +++ b/configure @@ -0,0 +1,24544 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="src/ski.h" +ac_default_prefix=/usr/local +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +HOST_OS +LINUX_TRUE +LINUX_FALSE +HPUX_TRUE +HPUX_FALSE +FREEBSD_TRUE +FREEBSD_FALSE +SKI_MAJOR_VERSION +SKI_MINOR_VERSION +SKI_MICRO_VERSION +SKI_VERSION +SKI_INTERFACE_AGE +SKI_BINARY_AGE +SKI_RELEASE +LT_RELEASE +LT_CURRENT +LT_REVISION +LT_AGE +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +INSIDE_GNOME_COMMON_TRUE +INSIDE_GNOME_COMMON_FALSE +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +CCAS +CCASFLAGS +LN_S +SED +YACC +YFLAGS +LEX +LEX_OUTPUT_ROOT +LEXLIB +GPERF +PAGER +subdirs +GREP +EGREP +ECHO +AR +RANLIB +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBLTDL +INCLTDL +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +WITH_X_INTERFACE_TRUE +WITH_X_INTERFACE_FALSE +ALLOCA +WITH_NETDEV_TRUE +WITH_NETDEV_FALSE +DWARF_CFLAGS +DWARF_LIBS +encdir +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCAS +CCASFLAGS +YACC +YFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' +ac_subdirs_all='libltdl' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=no] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-bigendian the target is big endian default=no + --disable-netdev disable netdev support + --enable-compile-warnings=no/minimum/yes + Turn on compiler warnings. + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-bfd-includes specify location of bfd headers + --with-bfd-libs specify location of bfd libraries + --with-bfd use the bfd library + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) + YACC The `Yet Another C Compiler' implementation to use. Defaults to + the first program found out of: `bison -y', `byacc', `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +host_alias=$host +case $host_os in + linux*) HOST_OS=linux;; + hpux*) HOST_OS=hpux;; + freebsd*) HOST_OS=freebsd;; + *) HOST_OS=unknown;; +esac + + + +if test "$HOST_OS" = linux; then + LINUX_TRUE= + LINUX_FALSE='#' +else + LINUX_TRUE='#' + LINUX_FALSE= +fi + + + +if test "$HOST_OS" = hpux; then + HPUX_TRUE= + HPUX_FALSE='#' +else + HPUX_TRUE='#' + HPUX_FALSE= +fi + + + +if test "$HOST_OS" = freebsd; then + FREEBSD_TRUE= + FREEBSD_FALSE='#' +else + FREEBSD_TRUE='#' + FREEBSD_FALSE= +fi + + +# Version number definitions +# +SKI_MAJOR_VERSION=1 +SKI_MINOR_VERSION=1 +SKI_MICRO_VERSION=3 +SKI_INTERFACE_AGE=0 +SKI_BINARY_AGE=0 +SKI_RELEASE=gplv2 + +SKI_VERSION=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION.$SKI_MICRO_VERSION + + + + + + + + +cat >>confdefs.h <<_ACEOF +#define SKI_RELEASE "$SKI_RELEASE" +_ACEOF + + +# libtool versioning +LT_RELEASE=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION +LT_CURRENT=`expr $SKI_MICRO_VERSION - $SKI_INTERFACE_AGE` +LT_REVISION=$SKI_INTERFACE_AGE +LT_AGE=`expr $SKI_BINARY_AGE - $SKI_INTERFACE_AGE` + + + + + +# Package information +PACKAGE=ski +VERSION=$SKI_VERSION + +# Specify the default install prefix + + +# Initialize automake +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=$PACKAGE + VERSION=$VERSION + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +# Specify a configuration file +ac_config_headers="$ac_config_headers config.h" + + + + +if test x = y; then + INSIDE_GNOME_COMMON_TRUE= + INSIDE_GNOME_COMMON_FALSE='#' +else + INSIDE_GNOME_COMMON_TRUE='#' + INSIDE_GNOME_COMMON_FALSE= +fi + + + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for k in macros ; do ACLOCAL="$ACLOCAL -I $k" ; done + + +# Checks for programs. +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 + for ac_prog in icc ecc gcc3 cc gcc + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in icc ecc gcc3 cc gcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc + +# By default we simply use the C compiler to build assembly code. + +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + + + # Extract the first word of "sed", so it can be a program name with args. +set dummy sed; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$SED"; then + ac_cv_prog_SED="$SED" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_SED="sed" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_SED" && ac_cv_prog_SED="/bin/sed" +fi +fi +SED=$ac_cv_prog_SED +if test -n "$SED"; then + { echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_YACC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_YACC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { echo "$as_me:$LINENO: result: $YACC" >&5 +echo "${ECHO_T}$YACC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + +for ac_prog in flex lex +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LEX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LEX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LEX=$ac_cv_prog_LEX +if test -n "$LEX"; then + { echo "$as_me:$LINENO: result: $LEX" >&5 +echo "${ECHO_T}$LEX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$LEX" && break +done +test -n "$LEX" || LEX=":" + +if test "x$LEX" != "x:"; then + cat >conftest.l <<_ACEOF +%% +a { ECHO; } +b { REJECT; } +c { yymore (); } +d { yyless (1); } +e { yyless (input () != 0); } +f { unput (yytext[0]); } +. { BEGIN INITIAL; } +%% +#ifdef YYTEXT_POINTER +extern char *yytext; +#endif +int +main (void) +{ + return ! yylex () + ! yywrap (); +} +_ACEOF +{ (ac_try="$LEX conftest.l" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$LEX conftest.l") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ echo "$as_me:$LINENO: checking lex output file root" >&5 +echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_root+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +if test -f lex.yy.c; then + ac_cv_prog_lex_root=lex.yy +elif test -f lexyy.c; then + ac_cv_prog_lex_root=lexyy +else + { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 +echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} + { (exit 1); exit 1; }; } +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; } +LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root + +if test -z "${LEXLIB+set}"; then + { echo "$as_me:$LINENO: checking lex library" >&5 +echo $ECHO_N "checking lex library... $ECHO_C" >&6; } +if test "${ac_cv_lib_lex+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_save_LIBS=$LIBS + ac_cv_lib_lex='none needed' + for ac_lib in '' -lfl -ll; do + LIBS="$ac_lib $ac_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_lex=$ac_lib +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + test "$ac_cv_lib_lex" != 'none needed' && break + done + LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5 +echo "${ECHO_T}$ac_cv_lib_lex" >&6; } + test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex +fi + + +{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 +echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; } +if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +ac_save_LIBS=$LIBS +LIBS="$LEXLIB $ac_save_LIBS" +cat >conftest.$ac_ext <<_ACEOF +#define YYTEXT_POINTER 1 +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_prog_lex_yytext_pointer=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_save_LIBS + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 +echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; } +if test $ac_cv_prog_lex_yytext_pointer = yes; then + +cat >>confdefs.h <<\_ACEOF +#define YYTEXT_POINTER 1 +_ACEOF + +fi +rm -f conftest.l $LEX_OUTPUT_ROOT.c + +fi +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=no +fi + + + + + +# Check for Intel & HP's C compilers +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking whether we are using Intel C compiler" >&5 +echo $ECHO_N "checking whether we are using Intel C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_intel+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __INTEL_COMPILER + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_intel=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_intel=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_intel=$ac_compiler_intel + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_intel" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_intel" >&6; } +ICC=`test $ac_compiler_intel = yes && echo yes` +{ echo "$as_me:$LINENO: checking whether we are using HP C compiler" >&5 +echo $ECHO_N "checking whether we are using HP C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_hp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + +#if ( !defined( __cplusplus ) && (!defined(__hpux) || defined(__GNUC__) ) ) \ + || ( defined( __cplusplus ) && !defined( __HP_aCC ) ) + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_hp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_hp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_hp=$ac_compiler_hp + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_hp" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_hp" >&6; } +HPCC=`test $ac_compiler_hp = yes && echo yes` +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 + + +# Extract the first word of "gperf", so it can be a program name with args. +set dummy gperf; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_GPERF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$GPERF"; then + ac_cv_prog_GPERF="$GPERF" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_GPERF="gperf" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +GPERF=$ac_cv_prog_GPERF +if test -n "$GPERF"; then + { echo "$as_me:$LINENO: result: $GPERF" >&5 +echo "${ECHO_T}$GPERF" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +test -z "$GPERF" && GPERF='$(top_srcdir)/missing gperf' + +for ac_prog in less +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PAGER+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PAGER"; then + ac_cv_prog_PAGER="$PAGER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PAGER="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +PAGER=$ac_cv_prog_PAGER +if test -n "$PAGER"; then + { echo "$as_me:$LINENO: result: $PAGER" >&5 +echo "${ECHO_T}$PAGER" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$PAGER" && break +done + + +cat >>confdefs.h <<_ACEOF +#define PAGER "$PAGER" +_ACEOF + + +YFLAGS=-d + + +subdirs="$subdirs libltdl" + + + + case $enable_ltdl_convenience in + no) { { echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5 +echo "$as_me: error: this package needs a convenience libltdl" >&2;} + { (exit 1); exit 1; }; } ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/''libltdl'/libltdlc.la + LTDLINCL='-I${top_srcdir}/''libltdl' + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5873 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=yes +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:8611: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:8615: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:8901: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:8905: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:9005: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:9009: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13887: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:13891: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13991: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:13995: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15568: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15572: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15672: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:15676: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:17872: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:17876: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:18162: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:18166: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:18266: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:18270: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LESSTIF 0 +_ACEOF + + + +if 0; then + WITH_X_INTERFACE_TRUE= + WITH_X_INTERFACE_FALSE='#' +else + WITH_X_INTERFACE_TRUE='#' + WITH_X_INTERFACE_FALSE= +fi + + + +# Check whether --enable-bigendian was given. +if test "${enable_bigendian+set}" = set; then + enableval=$enable_bigendian; ski_cv_c_target_bigendian=${enableval} +else + ski_cv_c_target_bigendian=no +fi + + +{ echo "$as_me:$LINENO: checking whether host byte ordering is defined in sys/param.h" >&5 +echo $ECHO_N "checking whether host byte ordering is defined in sys/param.h... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian_compile+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +#error bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ski_cv_c_bigendian_compile=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ski_cv_c_bigendian_compile=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian_compile" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian_compile" >&6; } + +if test "x$ski_cv_c_bigendian_compile" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define ENDIANESS_IN_SYS_PARAM_H 1 +_ACEOF + +else +{ echo "$as_me:$LINENO: checking whether host byte ordering is big endian" >&5 +echo $ECHO_N "checking whether host byte ordering is big endian... $ECHO_C" >&6; } +if test "${ski_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot detect host endianness" >&5 +echo "$as_me: error: cannot detect host endianness" >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int main () { + union { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + return (u.c[sizeof (long) - 1] == 1); +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ski_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ski_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ski_cv_c_bigendian" >&5 +echo "${ECHO_T}$ski_cv_c_bigendian" >&6; } + + +cat >>confdefs.h <<\_ACEOF +#define BIG_ENDIAN 4321 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define LITTLE_ENDIAN 1234 +_ACEOF + +if test "x$ski_cv_c_bigendian" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define BYTE_ORDER 4321 +_ACEOF + +else + +cat >>confdefs.h <<\_ACEOF +#define BYTE_ORDER 1234 +_ACEOF + +fi +fi + + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_working_alloca_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA_H 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_alloca_works=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_alloca_works=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +#define C_ALLOCA 1 +_ACEOF + + +{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_stack_direction=1 +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } + +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + +vars="" +funcs="strtoull __strtoull" + +# These are neither executed nor required, but they help keep +# autoheader happy. +if test "yes" = "no"; then + + +for ac_func in strtoull __strtoull +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SYS_SIGLIST 1 +_ACEOF + +fi +# Check for $vars +for var in $vars; do + { echo "$as_me:$LINENO: checking for $var" >&5 +echo $ECHO_N "checking for $var... $ECHO_C" >&6; } + if { as_var=ski_cv_var_$var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int *p; +int +main () +{ +extern int $var; p = &$var; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "ski_cv_var_$var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "ski_cv_var_$var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + if eval "test \"`echo '$ski_cv_var_'$var`\" = yes"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + n=HAVE_`echo $var | tr 'abcdefghijklmnopqrstuvwxyz' \ + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >>confdefs.h <<_ACEOF +#define $n 1 +_ACEOF + + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi +done +# Check for $funcs + +for ac_func in $funcs +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +if test "${ac_cv_header_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf.h usability" >&5 +echo $ECHO_N "checking libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf.h presence" >&5 +echo $ECHO_N "checking libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf.h" >&5 +echo $ECHO_N "checking for libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_h = yes; then + : +else + if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libelf/libelf.h usability" >&5 +echo $ECHO_N "checking libelf/libelf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libelf/libelf.h presence" >&5 +echo $ECHO_N "checking libelf/libelf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libelf/libelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libelf/libelf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libelf/libelf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libelf/libelf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libelf/libelf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libelf/libelf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libelf/libelf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for libelf/libelf.h" >&5 +echo $ECHO_N "checking for libelf/libelf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libelf_libelf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libelf_libelf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libelf_libelf_h" >&5 +echo "${ECHO_T}$ac_cv_header_libelf_libelf_h" >&6; } + +fi +if test $ac_cv_header_libelf_libelf_h = yes; then + have_libelf_libelf_h=yes +else + { { echo "$as_me:$LINENO: error: Required libelf.h header not found." >&5 +echo "$as_me: error: Required libelf.h header not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +fi + + +if test "x$have_libelf_libelf_h" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBELF_LIBELF_H 1 +_ACEOF + +fi + +if test "$HOST_OS" = linux; then +# Check whether --enable-netdev was given. +if test "${enable_netdev+set}" = set; then + enableval=$enable_netdev; +fi + +if test "x$enable_netdev" != xno; then + +cat >>confdefs.h <<\_ACEOF +#define SKINET_ENABLE 1 +_ACEOF + + with_netdev=yes +fi +fi + + + +if test "x$with_netdev" = xyes; then + WITH_NETDEV_TRUE= + WITH_NETDEV_FALSE='#' +else + WITH_NETDEV_TRUE='#' + WITH_NETDEV_FALSE= +fi + + +if test "$HOST_OS" = freebsd; then + LDFLAGS="$LDFLAGS -lutil" +fi + + +{ echo "$as_me:$LINENO: checking for _Uia64_get_proc_name in -lunwind-ia64" >&5 +echo $ECHO_N "checking for _Uia64_get_proc_name in -lunwind-ia64... $ECHO_C" >&6; } +if test "${ac_cv_lib_unwind_ia64__Uia64_get_proc_name+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lunwind-ia64 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char _Uia64_get_proc_name (); +int +main () +{ +return _Uia64_get_proc_name (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_unwind_ia64__Uia64_get_proc_name=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&5 +echo "${ECHO_T}$ac_cv_lib_unwind_ia64__Uia64_get_proc_name" >&6; } +if test $ac_cv_lib_unwind_ia64__Uia64_get_proc_name = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUNWIND_IA64 1 +_ACEOF + + LIBS="-lunwind-ia64 $LIBS" + +fi + + +# Test for IA-64 libbfd + + +# Check whether --with-bfd-includes was given. +if test "${with_bfd_includes+set}" = set; then + withval=$with_bfd_includes; + BFD_CFLAGS="-I$withval" + +fi + + + +# Check whether --with-bfd-libs was given. +if test "${with_bfd_libs+set}" = set; then + withval=$with_bfd_libs; + BFD_LDFLAGS="-L$withval" + +fi + + +{ echo "$as_me:$LINENO: checking for bfd support" >&5 +echo $ECHO_N "checking for bfd support... $ECHO_C" >&6; } + +# Check whether --with-bfd was given. +if test "${with_bfd+set}" = set; then + withval=$with_bfd; +fi + + +if test "x$with_bfd" = xno; then + have_bfd=disabled +else + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LIBS=$LIBS + CFLAGS="$CFLAGS $BFD_CFLAGS" + LDFLAGS="$LDFLAGS $BFD_LDFLAGS" + LIBS="$LIBS -lbfd -liberty" + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + int main() { + bfd_init (); + return bfd_set_default_target ("elf64-ia64-little") == 0; + } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + have_bfd=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_bfd=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS +fi + +if test "x$have_bfd" = xyes; then + DWARF_CFLAGS="$BFD_CFLAGS" + DWARF_LIBS="$BFD_LDFLAGS -lbfd -liberty" +fi +{ echo "$as_me:$LINENO: result: $have_bfd" >&5 +echo "${ECHO_T}$have_bfd" >&6; } + +if test "x$have_bfd" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DWARF_SUPPORT 1 +_ACEOF + +fi + + + + + +if test "${ac_cv_header_ski_elf_h+set}" = set; then + { echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking ski_elf.h usability" >&5 +echo $ECHO_N "checking ski_elf.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking ski_elf.h presence" >&5 +echo $ECHO_N "checking ski_elf.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: ski_elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: ski_elf.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: ski_elf.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: ski_elf.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: ski_elf.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: ski_elf.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: ski_elf.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: ski_elf.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for ski_elf.h" >&5 +echo $ECHO_N "checking for ski_elf.h... $ECHO_C" >&6; } +if test "${ac_cv_header_ski_elf_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_ski_elf_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_ski_elf_h" >&5 +echo "${ECHO_T}$ac_cv_header_ski_elf_h" >&6; } + +fi +if test $ac_cv_header_ski_elf_h = yes; then + : +else + ske_elf_h_is_missing=yes +fi + + +if test "x$ske_elf_h_is_missing" = xyes; then + ac_config_links="$ac_config_links src/ski_elf.h:src/missing/ski_elf.h" + +fi + + + +{ echo "$as_me:$LINENO: checking for ldexp in -lm" >&5 +echo $ECHO_N "checking for ldexp in -lm... $ECHO_C" >&6; } +if test "${ac_cv_lib_m_ldexp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ldexp (); +int +main () +{ +return ldexp (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_m_ldexp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_m_ldexp=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ldexp" >&5 +echo "${ECHO_T}$ac_cv_lib_m_ldexp" >&6; } +if test $ac_cv_lib_m_ldexp = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libm not found." >&5 +echo "$as_me: error: Required library libm not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +if test "$HOST_OS" = hpux; then + # HPUX prefers libHcurses. + { echo "$as_me:$LINENO: checking for tgetent in -lHcurses" >&5 +echo $ECHO_N "checking for tgetent in -lHcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_Hcurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lHcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_Hcurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_Hcurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_Hcurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_Hcurses_tgetent" >&6; } +if test $ac_cv_lib_Hcurses_tgetent = yes; then + + +cat >>confdefs.h <<\_ACEOF +#define __HP_CURSES 1 +_ACEOF + + LIBS="-lHcurses $LIBS" + check_curses=no +fi + +fi + +if test "x$check_curses" != xno; then + +{ echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5 +echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_curses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_curses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_curses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6; } +if test $ac_cv_lib_curses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBCURSES 1 +_ACEOF + + LIBS="-lcurses $LIBS" + +else + +{ echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 +echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6; } +if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ncurses_tgetent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ncurses_tgetent=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 +echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6; } +if test $ac_cv_lib_ncurses_tgetent = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBNCURSES 1 +_ACEOF + + LIBS="-lncurses $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required curses library not found." >&5 +echo "$as_me: error: Required curses library not found." >&2;} + { (exit 1); exit 1; }; } +fi + +fi + +fi + + +{ echo "$as_me:$LINENO: checking for elf_begin in -lelf" >&5 +echo $ECHO_N "checking for elf_begin in -lelf... $ECHO_C" >&6; } +if test "${ac_cv_lib_elf_elf_begin+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lelf $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char elf_begin (); +int +main () +{ +return elf_begin (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_elf_elf_begin=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_elf_elf_begin=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_elf_begin" >&5 +echo "${ECHO_T}$ac_cv_lib_elf_elf_begin" >&6; } +if test $ac_cv_lib_elf_elf_begin = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBELF 1 +_ACEOF + + LIBS="-lelf $LIBS" + +else + { { echo "$as_me:$LINENO: error: Required library libelf not found." >&5 +echo "$as_me: error: Required library libelf not found." >&2;} + { (exit 1); exit 1; }; } +fi + + +case $host_os in + linux*) CFLAGS="$CFLAGS -DLINUX -D_GNU_SOURCE";; + hpux9*) CFLAGS="$CFLAGS -DHPUX9";; + hpux10*) CFLAGS="$CFLAGS -DHPUX1020";; + hpux11*) CFLAGS="$CFLAGS -DHPUX1100";; + freebsd*) CFLAGS="$CFLAGS -DFREEBSD -D__linux__";; +esac + +echo "$CFLAGS" | grep "\-g" > /dev/null && cc_dash_g=yes +if test "x$HPCC" = xyes; then + # if -g is specified add +ESdbgasm for _asm inlined assembly + test "x$cc_dash_g" = xyes && CFLAGS="$CFLAGS +ESdbgasm" + # Add architecture flags + case $host_cpu in + hppa2.0*) CFLAGS="$CFLAGS +DA20 +DS20"; + LDFLAGS="-Wl,+vnocompatwarnings";; + hppa1.1*) CFLAGS="$CFLAGS +DA11 +DS11";; + esac +elif test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -D__norcsid -fno-strict-aliasing"; +fi + +# Check whether --enable-compile-warnings was given. +if test "${enable_compile_warnings+set}" = set; then + enableval=$enable_compile_warnings; +else + enable_compile_warnings=minimum +fi + + +if test "x$enable_compile_warnings" != xno; then + if test "x$GCC" = xyes; then + # CC is GNU cc + CFLAGS="$CFLAGS -Wall -Wunused" + if test "x$enable_compile_warnings" = xnot_ready_for_yes; then + CFLAGS="$CFLAGS -Wmissing-prototypes -Wmissing-declarations" + fi + elif test "x$ICC" = xyes; then + # CC is Intel icc + CFLAGS="$CFLAGS -w1" + elif test "x$HPCC" = xyes; then + # CC is HP ansic + CFLAGS="$CFLAGS +w3" + fi +fi + +encdir='$(top_srcdir)'/src/encodings + + +#AC_CONFIG_LINKS([src/syscall-hpux.c:src/syscall.c]) +#AC_CONFIG_LINKS([src/dwarf-hpux.c:src/dwarf.c]) + +ac_config_files="$ac_config_files ski.spec" + +ac_config_files="$ac_config_files ski-config" + +ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files macros/Makefile" + +ac_config_files="$ac_config_files src/Makefile src/decoder/Makefile src/encoder/Makefile" + +ac_config_files="$ac_config_files src/fake-xterm/Makefile" + +ac_config_files="$ac_config_files doc/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"LINUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HPUX_TRUE}" && test -z "${HPUX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"HPUX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FREEBSD_TRUE}" && test -z "${FREEBSD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FREEBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSIDE_GNOME_COMMON_TRUE}" && test -z "${INSIDE_GNOME_COMMON_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSIDE_GNOME_COMMON\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_X_INTERFACE_TRUE}" && test -z "${WITH_X_INTERFACE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_X_INTERFACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WITH_NETDEV_TRUE}" && test -z "${WITH_NETDEV_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WITH_NETDEV\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "src/ski_elf.h") CONFIG_LINKS="$CONFIG_LINKS src/ski_elf.h:src/missing/ski_elf.h" ;; + "ski.spec") CONFIG_FILES="$CONFIG_FILES ski.spec" ;; + "ski-config") CONFIG_FILES="$CONFIG_FILES ski-config" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "macros/Makefile") CONFIG_FILES="$CONFIG_FILES macros/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/decoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/decoder/Makefile" ;; + "src/encoder/Makefile") CONFIG_FILES="$CONFIG_FILES src/encoder/Makefile" ;; + "src/fake-xterm/Makefile") CONFIG_FILES="$CONFIG_FILES src/fake-xterm/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +HOST_OS!$HOST_OS$ac_delim +LINUX_TRUE!$LINUX_TRUE$ac_delim +LINUX_FALSE!$LINUX_FALSE$ac_delim +HPUX_TRUE!$HPUX_TRUE$ac_delim +HPUX_FALSE!$HPUX_FALSE$ac_delim +FREEBSD_TRUE!$FREEBSD_TRUE$ac_delim +FREEBSD_FALSE!$FREEBSD_FALSE$ac_delim +SKI_MAJOR_VERSION!$SKI_MAJOR_VERSION$ac_delim +SKI_MINOR_VERSION!$SKI_MINOR_VERSION$ac_delim +SKI_MICRO_VERSION!$SKI_MICRO_VERSION$ac_delim +SKI_VERSION!$SKI_VERSION$ac_delim +SKI_INTERFACE_AGE!$SKI_INTERFACE_AGE$ac_delim +SKI_BINARY_AGE!$SKI_BINARY_AGE$ac_delim +SKI_RELEASE!$SKI_RELEASE$ac_delim +LT_RELEASE!$LT_RELEASE$ac_delim +LT_CURRENT!$LT_CURRENT$ac_delim +LT_REVISION!$LT_REVISION$ac_delim +LT_AGE!$LT_AGE$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +INSIDE_GNOME_COMMON_TRUE!$INSIDE_GNOME_COMMON_TRUE$ac_delim +INSIDE_GNOME_COMMON_FALSE!$INSIDE_GNOME_COMMON_FALSE$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +CCAS!$CCAS$ac_delim +CCASFLAGS!$CCASFLAGS$ac_delim +LN_S!$LN_S$ac_delim +SED!$SED$ac_delim +YACC!$YACC$ac_delim +YFLAGS!$YFLAGS$ac_delim +LEX!$LEX$ac_delim +LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim +LEXLIB!$LEXLIB$ac_delim +GPERF!$GPERF$ac_delim +PAGER!$PAGER$ac_delim +subdirs!$subdirs$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBLTDL!$LIBLTDL$ac_delim +INCLTDL!$INCLTDL$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +WITH_X_INTERFACE_TRUE!$WITH_X_INTERFACE_TRUE$ac_delim +WITH_X_INTERFACE_FALSE!$WITH_X_INTERFACE_FALSE$ac_delim +ALLOCA!$ALLOCA$ac_delim +WITH_NETDEV_TRUE!$WITH_NETDEV_TRUE$ac_delim +WITH_NETDEV_FALSE!$WITH_NETDEV_FALSE$ac_delim +DWARF_CFLAGS!$DWARF_CFLAGS$ac_delim +DWARF_LIBS!$DWARF_LIBS$ac_delim +encdir!$encdir$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 49; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: linking $srcdir/$ac_source to $ac_file" >&6;} + + if test ! -r "$srcdir/$ac_source"; then + { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 +echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $srcdir in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null || + cp -p "$srcdir/$ac_source" "$ac_file" || + { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&5 +echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "ski-config":F) chmod +x ski-config ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + +# +# CONFIG_SUBDIRS section. +# +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + eval "set x $ac_configure_args" + shift + for ac_arg + do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case $ac_arg in + -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=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; + *) + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ac_arg="--prefix=$prefix" + case $ac_arg in + *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" + + # Pass --silent + if test "$silent" = yes; then + ac_sub_configure_args="--silent $ac_sub_configure_args" + fi + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + test -d "$srcdir/$ac_dir" || continue + + ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" + echo "$as_me:$LINENO: $ac_msg" >&5 + echo "$ac_msg" >&6 + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + cd "$ac_dir" + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f "$ac_srcdir/configure.gnu"; then + ac_sub_configure=$ac_srcdir/configure.gnu + elif test -f "$ac_srcdir/configure"; then + ac_sub_configure=$ac_srcdir/configure + elif test -f "$ac_srcdir/configure.in"; then + # This should be Cygnus configure. + ac_sub_configure=$ac_aux_dir/configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 +echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; + *) # Relative name. + ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; + esac + + { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. + eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ + --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 +echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + + cd "$ac_popdir" + done +fi + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..016ec60 --- /dev/null +++ b/configure.ac @@ -0,0 +1,447 @@ +## Process this file with autoconf to produce a configure script. +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + +# Requires autoconf 2.61 +AC_PREREQ(2.61) + +# Initialize autoconf (and check for presence of src/ski.h) +AC_INIT(src/ski.h) + +dnl Canonical host +AC_CANONICAL_HOST +host_alias=$host dnl For dejagnu + +case $host_os in + linux*) HOST_OS=linux;; + hpux*) HOST_OS=hpux;; + freebsd*) HOST_OS=freebsd;; + *) HOST_OS=unknown;; +esac +AC_SUBST(HOST_OS) +AM_CONDITIONAL(LINUX, test "$HOST_OS" = linux) +AM_CONDITIONAL(HPUX, test "$HOST_OS" = hpux) +AM_CONDITIONAL(FREEBSD, test "$HOST_OS" = freebsd) + +# Version number definitions +# +SKI_MAJOR_VERSION=1 +SKI_MINOR_VERSION=1 +SKI_MICRO_VERSION=3 +SKI_INTERFACE_AGE=0 +SKI_BINARY_AGE=0 +SKI_RELEASE=gplv2 + +SKI_VERSION=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION.$SKI_MICRO_VERSION +AC_SUBST(SKI_MAJOR_VERSION) +AC_SUBST(SKI_MINOR_VERSION) +AC_SUBST(SKI_MICRO_VERSION) +AC_SUBST(SKI_VERSION) +AC_SUBST(SKI_INTERFACE_AGE) +AC_SUBST(SKI_BINARY_AGE) +AC_SUBST(SKI_RELEASE) +AC_DEFINE_UNQUOTED([SKI_RELEASE], ["$SKI_RELEASE"], [Ski release string.]) + +# libtool versioning +LT_RELEASE=$SKI_MAJOR_VERSION.$SKI_MINOR_VERSION +LT_CURRENT=`expr $SKI_MICRO_VERSION - $SKI_INTERFACE_AGE` +LT_REVISION=$SKI_INTERFACE_AGE +LT_AGE=`expr $SKI_BINARY_AGE - $SKI_INTERFACE_AGE` +AC_SUBST(LT_RELEASE) +AC_SUBST(LT_CURRENT) +AC_SUBST(LT_REVISION) +AC_SUBST(LT_AGE) + +# Package information +PACKAGE=ski +VERSION=$SKI_VERSION + +# Specify the default install prefix +AC_PREFIX_DEFAULT(/usr/local) + +# Initialize automake +AM_INIT_AUTOMAKE($PACKAGE,$VERSION) + +# Specify a configuration file +AM_CONFIG_HEADER(config.h) +AM_ACLOCAL_INCLUDE(macros) + +# Checks for programs. +AC_PROG_CC( icc ecc gcc3 cc gcc ) +AM_PROG_CC_STDC +AM_PROG_AS +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_AWK +AC_PROG_SED +AC_PROG_YACC +AM_PROG_LEX + +AC_C_INLINE +AC_C_CONST + +dnl Disable shared for default (enable with --enable-shared) +AM_DISABLE_SHARED + +dnl Check for compiler kind (HP cc or Intel icc) +AC_LANG_COMPILER_CHECK + +dnl Check for required build tools +AC_CHECK_PROG(GPERF, gperf, gperf) +test -z "$GPERF" && GPERF='$(top_srcdir)/missing gperf' + +dnl Check for the pager program +AC_CHECK_PROGS(PAGER, [less]) +AC_DEFINE_UNQUOTED([PAGER], ["$PAGER"], [Define to the pager program.]) + +dnl Set yacc flags +YFLAGS=-d +AC_SUBST(YFLAGS) + +dnl Initialize libtool +AC_CONFIG_SUBDIRS(libltdl) +AC_LIBTOOL_DLOPEN +AC_LIBLTDL_CONVENIENCE +AM_PROG_LIBTOOL +AC_SUBST(LIBLTDL) +AC_SUBST(INCLTDL) + +dnl Initialize maintainer mode +AM_MAINTAINER_MODE + +dnl **************************************************************** +dnl Due to severe bit-rot, and a lack of support for Motif, I have +dnl simply turned off building the X11 GUI for ski. At some point, +dnl should someone decide they _want_ an X11 GUI, they'll need to +dnl rewrite/refurbish those parts of ski. Most people tend to use +dnl the ncurses interface, so this should not be much of an issue. +dnl +dnl dnl Check for X11 libraries +dnl AC_PATH_X +dnl AC_PATH_XTRA +dnl +dnl if test "x$have_x" = xyes; then +dnl dnl Check for Motif +dnl save_CPPFLAGS=$CPPFLAGS +dnl save_CFLAGS=$CFLAGS +dnl save_LIBS=$LIBS +dnl CPPFLAGS="$CPPFLAGS $X_CFLAGS" +dnl CFLAGS="$CFLAGS $X_CFLAGS" +dnl LIBS="$LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS" +dnl +dnl AC_CHECK_HEADER(Xm/Xm.h, have_Xm_h=yes) +dnl if test "x$have_Xm_h" = xyes; then +dnl AC_CHECK_LIB(Xt, XtSetSubvalue, MOTIF_LIBS="-lXt $MOTIF_LIBS", +dnl have_libXt=no) +dnl if test "x$have_libXt" = xno; then +dnl # Xt might depend on libpthread (for ProcessLock()) +dnl AC_CHECK_LIB(pthread, pthread_mutex_init, have_libpthread=yes) +dnl if test "x$have_libpthread" = xyes; then +dnl # try Xt again w/ -lpthread +dnl AC_CHECK_LIB(Xt, XtRealloc, +dnl MOTIF_LIBS="-lXt -lpthread $MOTIF_LIBS",,-lpthread) +dnl fi +dnl fi +dnl AC_CHECK_LIB(Xp, XpQueryExtension, MOTIF_LIBS="-lXp $MOTIF_LIBS",, \ +dnl $MOTIF_LIBS) +dnl AC_CHECK_LIB(Xm, XmStringFree, have_libXm=yes,, $MOTIF_LIBS) +dnl if test "x$have_libXm" = xyes; then +dnl MOTIF_LIBS="-lXm $MOTIF_LIBS" +dnl AC_DEFINE(HAVE_MOTIF, 1, [define if you have motif]) +dnl X_INTERFACE_LIBS='$(X_LIBS) $(X_PRE_LIBS) -lXext -lX11 $(X_EXTRA_LIBS)' +dnl X_INTERFACE_LIBS="$MOTIF_LIBS $X_INTERFACE_LIBS" +dnl AC_SUBST(X_INTERFACE_LIBS) +dnl fi +dnl +dnl dnl Check for Lesstif +dnl AC_MSG_CHECKING(for Lesstif) +dnl AC_EGREP_CPP(yes, +dnl [#include +dnl #ifdef LESSTIF_VERSION +dnl yes +dnl #endif +dnl ], have_lesstif=yes, have_lesstif=no) +dnl AC_MSG_RESULT($have_lesstif) +dnl if test "x$have_lesstif" = xyes; then +dnl AC_DEFINE(HAVE_LESSTIF, 1, [define if you have lesstif]) +dnl fi +dnl fi +dnl +dnl CPPFLAGS=$save_CPPFLAGS +dnl CFLAGS=$save_CFLAGS +dnl LIBS=$save_LIBS +dnl fi # with_x = yes +dnl AM_CONDITIONAL(WITH_X_INTERFACE, test "x$have_libXm" = "xyes") + +dnl remove this chunk when X11 is turned back on +AC_DEFINE(HAVE_LESSTIF, 0, [define if you have lesstif]) +AM_CONDITIONAL(WITH_X_INTERFACE, 0) + +dnl end of removed section for taking out X11 +dnl **************************************************************** + +dnl Target endianness +AC_ARG_ENABLE(bigendian, +AC_HELP_STRING([--enable-bigendian], + [the target is big endian default=no]), +ski_cv_c_target_bigendian=${enableval}, ski_cv_c_target_bigendian=no) + +dnl Check for host endianness +AC_CACHE_CHECK([whether host byte ordering is defined in sys/param.h], +ski_cv_c_bigendian_compile, +[AC_TRY_COMPILE([ +#include +#include +],[ +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +#error bogus endian macros +#endif +], +ski_cv_c_bigendian_compile=yes, ski_cv_c_bigendian_compile=no)]) + +if test "x$ski_cv_c_bigendian_compile" = xyes; then +AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, + [define if sys/param.h defines the endiness]) +else +AC_CACHE_CHECK([whether host byte ordering is big endian], +ski_cv_c_bigendian, +[AC_TRY_RUN([int main () { + union { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + return (u.c[sizeof (long) - 1] == 1); +}], +ski_cv_c_bigendian=no, ski_cv_c_bigendian=yes, +AC_MSG_ERROR([cannot detect host endianness]))]) + +AC_DEFINE(BIG_ENDIAN, 4321, [define to 4321 if missing from sys/param.h]) +AC_DEFINE(LITTLE_ENDIAN, 1234, [define to 4321 if missing from sys/param.h]) +if test "x$ski_cv_c_bigendian" = xyes; then + AC_DEFINE(BYTE_ORDER, 4321, + [define to 4321 if host is big endian, 1234 if little endian]) +else + AC_DEFINE(BYTE_ORDER, 1234, + [define to 4321 if host is big endian, 1234 if little endian]) +fi +fi + +dnl Check for variables & functions + +AC_FUNC_ALLOCA + +vars="" +funcs="strtoull __strtoull" + +# These are neither executed nor required, but they help keep +# autoheader happy. +if test "yes" = "no"; then + AC_CHECK_FUNCS(strtoull __strtoull) + AC_DEFINE(HAVE_SYS_SIGLIST, 1, + [Define if you have the sys_siglist variable.] ) +fi +# Check for $vars +for var in $vars; do + AC_MSG_CHECKING([for $var]) + AC_CACHE_VAL(ski_cv_var_$var, + [AC_TRY_LINK([int *p;], [extern int $var; p = &$var;], + [eval "ski_cv_var_$var=yes"], + [eval "ski_cv_var_$var=no"])]) + if eval "test \"`echo '$ski_cv_var_'$var`\" = yes"; then + AC_MSG_RESULT(yes) + n=HAVE_`echo $var | tr 'abcdefghijklmnopqrstuvwxyz' \ + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + AC_DEFINE_UNQUOTED($n) + else + AC_MSG_RESULT(no) + fi +done +# Check for $funcs +AC_CHECK_FUNCS($funcs) + +dnl Find libelf.h +AC_CHECK_HEADER(libelf.h,, + [AC_CHECK_HEADER(libelf/libelf.h, have_libelf_libelf_h=yes, + [AC_MSG_ERROR(Required libelf.h header not found.)])]) +if test "x$have_libelf_libelf_h" = xyes; then + AC_DEFINE(HAVE_LIBELF_LIBELF_H, 1, [define if you have libelf/libelf.h]) +fi + +dnl Check for netdev support +if test "$HOST_OS" = linux; then +AC_ARG_ENABLE(netdev, + AC_HELP_STRING([--disable-netdev], [disable netdev support])) +if test "x$enable_netdev" != xno; then + AC_DEFINE(SKINET_ENABLE, 1, [define if you want netdev support]) + with_netdev=yes +fi +fi + +AM_CONDITIONAL(WITH_NETDEV, test "x$with_netdev" = xyes) + +if test "$HOST_OS" = freebsd; then + LDFLAGS="$LDFLAGS -lutil" +fi + +dnl Check for optional libs +AC_CHECK_LIB(unwind-ia64, _Uia64_get_proc_name, ) + +# Test for IA-64 libbfd + +AC_ARG_WITH(bfd-includes, +AC_HELP_STRING([--with-bfd-includes],[specify location of bfd headers]),[ + BFD_CFLAGS="-I$withval" +]) + +AC_ARG_WITH(bfd-libs, +AC_HELP_STRING([--with-bfd-libs],[specify location of bfd libraries]),[ + BFD_LDFLAGS="-L$withval" +]) + +AC_MSG_CHECKING([for bfd support]) +AC_ARG_WITH(bfd, AC_HELP_STRING([--with-bfd],[use the bfd library])) + +if test "x$with_bfd" = xno; then + have_bfd=disabled +else + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LIBS=$LIBS + CFLAGS="$CFLAGS $BFD_CFLAGS" + LDFLAGS="$LDFLAGS $BFD_LDFLAGS" + LIBS="$LIBS -lbfd -liberty" + AC_TRY_RUN([ + #include + int main() { + bfd_init (); + return bfd_set_default_target ("elf64-ia64-little") == 0; + }], + have_bfd=yes, have_bfd=no) + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS +fi + +if test "x$have_bfd" = xyes; then + DWARF_CFLAGS="$BFD_CFLAGS" + DWARF_LIBS="$BFD_LDFLAGS -lbfd -liberty" +fi +AC_MSG_RESULT([$have_bfd]) + +if test "x$have_bfd" = xyes; then + AC_DEFINE(HAVE_DWARF_SUPPORT, 1, [define if you have dwarf support]) +fi + + +AC_SUBST(DWARF_CFLAGS) +AC_SUBST(DWARF_LIBS) + +dnl Check if ski_elf.h is missing +AC_CHECK_HEADER(ski_elf.h,,ske_elf_h_is_missing=yes) +if test "x$ske_elf_h_is_missing" = xyes; then + AC_CONFIG_LINKS([src/ski_elf.h:src/missing/ski_elf.h]) +fi + +dnl Check for required libs + +AC_CHECK_LIB(m, ldexp, [], + [AC_MSG_ERROR(Required library libm not found.)]) + +if test "$HOST_OS" = hpux; then + # HPUX prefers libHcurses. + AC_CHECK_LIB(Hcurses, tgetent,[ + AC_DEFINE(__HP_CURSES, 1, [define if you want to use HP curses]) + LIBS="-lHcurses $LIBS" + check_curses=no], []) +fi + +if test "x$check_curses" != xno; then +AC_CHECK_LIB(curses, tgetent, [], + [AC_CHECK_LIB(ncurses, tgetent, , + [AC_MSG_ERROR(Required curses library not found.)])]) +fi + +AC_CHECK_LIB(elf, elf_begin, [], + [AC_MSG_ERROR(Required library libelf not found.)]) + +dnl Add extra flags to CFLAGS depending on os +case $host_os in + linux*) CFLAGS="$CFLAGS -DLINUX -D_GNU_SOURCE";; + hpux9*) CFLAGS="$CFLAGS -DHPUX9";; + hpux10*) CFLAGS="$CFLAGS -DHPUX1020";; + hpux11*) CFLAGS="$CFLAGS -DHPUX1100";; + freebsd*) CFLAGS="$CFLAGS -DFREEBSD -D__linux__";; +esac + +dnl Add extra flags to CFLAGS depending on compiler +echo "$CFLAGS" | grep "\-g" > /dev/null && cc_dash_g=yes +if test "x$HPCC" = xyes; then + # if -g is specified add +ESdbgasm for _asm inlined assembly + test "x$cc_dash_g" = xyes && CFLAGS="$CFLAGS +ESdbgasm" + # Add architecture flags + case $host_cpu in + hppa2.0*) CFLAGS="$CFLAGS +DA20 +DS20"; + LDFLAGS="-Wl,+vnocompatwarnings";; + hppa1.1*) CFLAGS="$CFLAGS +DA11 +DS11";; + esac +elif test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -D__norcsid -fno-strict-aliasing"; +fi + +AC_ARG_ENABLE(compile-warnings, + AC_HELP_STRING([--enable-compile-warnings=[no/minimum/yes]], + [Turn on compiler warnings.]),,enable_compile_warnings=minimum) + +dnl Add warnings flags on Compiler kind +if test "x$enable_compile_warnings" != xno; then + if test "x$GCC" = xyes; then + # CC is GNU cc + CFLAGS="$CFLAGS -Wall -Wunused" + if test "x$enable_compile_warnings" = xnot_ready_for_yes; then + CFLAGS="$CFLAGS -Wmissing-prototypes -Wmissing-declarations" + fi + elif test "x$ICC" = xyes; then + # CC is Intel icc + CFLAGS="$CFLAGS -w1" + elif test "x$HPCC" = xyes; then + # CC is HP ansic + CFLAGS="$CFLAGS +w3" + fi +fi + +encdir='$(top_srcdir)'/src/encodings +AC_SUBST(encdir) + +dnl Links +#AC_CONFIG_LINKS([src/syscall-hpux.c:src/syscall.c]) +#AC_CONFIG_LINKS([src/dwarf-hpux.c:src/dwarf.c]) + +dnl Configuration files +AC_CONFIG_FILES([ski.spec]) +AC_CONFIG_FILES([ski-config], [chmod +x ski-config]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([macros/Makefile]) +AC_CONFIG_FILES([src/Makefile src/decoder/Makefile src/encoder/Makefile]) +AC_CONFIG_FILES([src/fake-xterm/Makefile]) +AC_CONFIG_FILES([doc/Makefile]) + +dnl Output the files +AC_OUTPUT diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..2d5867a --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,8 @@ +ski for Debian +----------------- + +Ski is a CPU simulator for the ia64 architecture, derived from the +work done with the ski simulator. It is not a system simulator, +so things like busses and IO are not handled in any way. + + -- Al Stone , Tue, 3 April 2007 11:42:17 -0700 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1736b8f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,161 @@ +ski (1.1.1-1) unstable; urgency=low + + * Started building up a very small testsuite using qmtest + * Clean up code for open source distribution. + + -- Al Stone Tue, 3 Apr 2007 11:54:44 -0700 + +ski (1.1.0-1) unstable; urgency=low + + * Clone and go from the old ski code + * updated versioning in preparation for a surge of bug fixes and + such (affected a lot of files this way) + * Removed bogus libski package (this package uses no dynamic + linking at all -- and should not) + * Lots of packaging fix-ups (mostly bit-rot types of things) + + -- Al Stone Thu, 23 Feb 2006 15:18:57 -0700 + + +ski (0.981-7) unstable; urgency=low + + * Verified and corrected code so that Konstantin's patch (as + modified by David) for getPty() is now included. + + -- Al Stone Thu, 16 Dec 2004 15:17:59 -0700 + +ski (0.981-6) unstable; urgency=low + + * Added distributable version of the ski user's manual picked up + from hp's external web; see /usr/share/doc/ski/ski-manual-v1.0.pdf. + + -- Al Stone Fri, 22 Oct 2004 16:04:22 -0600 + +ski (0.981-5) unstable; urgency=low + + * Updated to latest CVS top-of-tree + * src/write.c (cfmWrt): Restore the original value of "sof" before + calling rse_new_frame(). That call may longjmp() if a data-debug + breakpoint is hit and when that happens, the simulator state must + be consistent. Once rse_new_frame() returns successfully, + re-establish the new "sof" value. + * src/state.c: Change family from 7 (Merced) to 0x1f (McKinley/Madison). + * src/ui.c (regwtbl): Change height of System Registers info from 43 to + 64 lines. (srLine): Adapt to make room for 64 PMC and PMD registers + (man, this code is in need of a rewrite!!). + * src/ssDSym.c: Add include of "state.h" so we get NPMS defined. + (isymInit): For PMCs/PMDs, call isymIns2() with -NPMS instead of -16. + * src/libcore.h (NPMS): Increase from 16 to 64 so we get 64 PMCs and PMDs + (like on Montecito). + * src/state.h (NPMS): Likewise. + * misc/ia64fmt: use modprobe instead of insmod to load binfmt_misc + + -- Al Stone Mon, 21 Jun 2004 20:53:22 -0600 + +ski (0.981-4) unstable; urgency=low + + * src/tlb.h (DBGREGS): Define to enable debug registers support. + * src/ssDSym.c (isymInit): Define ar.csd as an ia64 register instead of + an ia32 register. + * src/main.c (main): Allow environment variable SKI_PAGE_SIZE to override + simulated page-size. This is a bit of a kludge to work around the + data-breakpoint limit, which are limited to covering a single + (simulated) page. + * configure.ac: Check for XtRealloc instead of XtMalloc. + (CFLAGS): Compiled with -fno-strict-aliasing to avoid potential bad + code (Ski isn't strict-aliasing safe). + + -- Al Stone Fri, 23 Jan 2004 18:10:16 -0700 + +ski (0.981-3) unstable; urgency=low + + * Updated to latest upstream source. + * Forced static linking to avoid problems with forcing particular + versions of some libraries (such as libbfd) to be used. + + -- Al Stone Mon, 19 Jan 2004 20:40:55 -0700 + +ski (0.981-2) unstable; urgency=low + + * Corrected the link path for ski by using --with-gnu-ld in the + configure step of debian/rules, and then using chrpath to remove + the rpath inserted by libtool (because libtool *insists* on using + -rpath, which is fine for static objects, but not for the dynamic + objects Debian prefers). + * Corrected misc/ia64fmt; linda reported 'dash -n' errors that I + missed. + + -- Al Stone Sun, 17 Aug 2003 12:04:24 -0600 + +ski (0.981-1) unstable; urgency=low + + * Made the version number correspond to what's actually used in + src/version.h. + * Updated to latest source. Corrections made to src/ssDDM.c and + to src/linux/syscall-linux.c were incorporated as a result. + * Corrected the misc/ia64fmt script that tells the kernel to use + ski as an ia64 interpreter; it needed to be better about the + cases where binfmt_misc may not yet be mounted. + * The x86 version was not installing the etc/init.d/ski script + at all. Fixed the rules file. + + -- Al Stone Wed, 16 Jul 2003 16:49:12 -0600 + +ski (0.9.81-5) unstable; urgency=low + + * Updated to latest version of source tree. + * Added required force-reload option to init.d script that installs + bski as an interpreter for ia64 executables. + * Corrected typos (wrong paths) in misc/ia64fmt and misc/bskinc. + * Created ia64 debs, on top of ia32 debs. + * Added into debian/rules a test to see if we're building an ia64 + version of ski; if so, do _not_ install the init.d script that + registers ski as the program to interpret ia64 executables -- + this would be very bad. + + -- Al Stone Fri, 18 Apr 2003 11:37:43 -0600 + +ski (0.9.81-4) unstable; urgency=low + + * Added in the /etc/init.d/ia64fmt script to register ski as an + interpreter for ia64 binaries. This also required the addition + of the bskinc script (bski with no console). + * Added in a dependency on less (used for the license display) + + -- Al Stone Wed, 19 Mar 2003 15:45:01 -0700 + +ski (0.9.81-3) unstable; urgency=low + + * Missed some of the build-depends (automake1.7, libtool, debhelper, + ...); found them by making sure testing within debootstrap environments + succeeded. + * This package cannot be built with woody; the dependency on automake1.7 + is quite strong. This package can also not be built on testins, since + it needs bug fixes done in debhelper 4.0.4. Unstable builds fine. + + -- Al Stone Tue, 18 Mar 2003 22:32:48 -0700 + +ski (0.9.81-2) unstable; urgency=low + + * Changed to package structure pretty dramatically; separated out + the run-time library in libski, the development files into + libski-dev, and the commands into a simpler ski package. + * Made sure all the build-depends were specified properly + + -- Al Stone Tue, 18 Mar 2003 16:59:44 -0700 + +ski (0.9.81-1) unstable; urgency=low + + * Updated to most recent source tree + * Used a more proper version numbering scheme (0.9.81 vs 0.981). + * Had to export a value for the variable SED in debian/rules so + that the homegrown version of libtool being used would work + * Cleaned up the installation a bit so that it would pass lintian + + -- Al Stone Tue, 18 Mar 2003 15:15:05 -0700 + +ski (0.9.77-1) unstable; urgency=low + + * Initial release. + + -- Al Stone Tue, 28 Jan 2003 10:14:25 -0700 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1748a9e --- /dev/null +++ b/debian/control @@ -0,0 +1,29 @@ +Source: ski +Priority: optional +Maintainer: Al Stone +Standards-Version: 3.6.2 +Build-Depends: debhelper, autoconf, autogen, automake1.9, libtool, bison, flex, gawk, gperf, libelfg0-dev, libncurses5-dev, chrpath, sharutils, libltdl3-dev + +Package: ski +Section: devel +Architecture: any +Depends: ${shlibs:Depends}, less +Description: ia64 instruction simulator + Ski is an instruction simulator designed to execute and test ia64 + code on non-ia64 machines. This is CPU simulator only; there is + no machine simulator (for all the stuff beyond the CPU such as the + PCI bus or random IO devices). + +Package: libski-dev +Section: devel +Architecture: any +Depends: ski +Description: Development files for the ski ia64 instruction simulator + Ski is an instruction simulator designed to execute and test ia64 + code on non-ia64 machines. This is CPU simulator only; there is + no machine simulator (for all the stuff beyond the CPU such as the + PCI bus or random IO devices). + . + This package contains the run-time libraries and the header files + needed to use ski to run ia64 executables. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..47d19cb --- /dev/null +++ b/debian/copyright @@ -0,0 +1,15 @@ +This package was debianized by Al Stone ahs3@fc.hp.com on +Tue, 28 Jan 2003 10:14:25 -0700. + +Originally, this project was kept within the confines +of Hewlett-Packard Company. The source has now been +opened and may be found at http://ski.sourceforge.net + +For all source other than that in ./libltdl: + Copyright (c) 1995-2007, Hewlett-Packard Development Company, L.P. + +For the source in ./libltdl: + Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc. + Originally by Thomas Tanner + Source comes from GNU libtool. + diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..5e32aa8 --- /dev/null +++ b/debian/dirs @@ -0,0 +1,7 @@ +usr/bin +usr/include +usr/share/man +usr/share/man/man1 +etc/X11 +etc/X11/app-defaults +etc/init.d diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e3111e9 --- /dev/null +++ b/debian/docs @@ -0,0 +1,6 @@ +NEWS +README +TODO +doc/ski-manual-v1.0.pdf +doc/perf-changes.txt +doc/ski-notes.html diff --git a/debian/libski-dev.dirs b/debian/libski-dev.dirs new file mode 100644 index 0000000..6845771 --- /dev/null +++ b/debian/libski-dev.dirs @@ -0,0 +1 @@ +usr/lib diff --git a/debian/libski-dev.install b/debian/libski-dev.install new file mode 100644 index 0000000..da07fdd --- /dev/null +++ b/debian/libski-dev.install @@ -0,0 +1,2 @@ +usr/include +usr/lib diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..9078782 --- /dev/null +++ b/debian/rules @@ -0,0 +1,133 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=4 + +CFLAGS = -Wall + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 -fno-strict-aliasing +else + CFLAGS += -O2 -fno-strict-aliasing +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + ./autogen.sh --prefix=/usr --with-x --disable-hp-internal \ + --with-gnu-ld --mandir=/usr/share/man + touch configure-stamp + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + SED=sed $(MAKE) + touch build-stamp + +test: test-stamp +test-stamp: build-stamp + dh_testdir + -(cd testsuite; qmtest run -C context) + touch test-stamp + +clean: + dh_testdir + dh_testroot + -$(MAKE) clean + rm -f build-stamp configure-stamp stamp-h1 test-stamp + rm -f install-sh missing mkinstalldirs depcomp + rm -f ski.spec ski-config ski.spec ski-config + rm -f Makefile Makefile.in + rm -f aclocal.m4 config.guess config.log config.status + rm -f ltmain.sh libtool + rm -f src/elf_em.h src/Makefile src/Makefile.in + rm -f src/bski src/xski src/bski src/xski + rm -f libltdl/Makefile libltdl/Makefile.in libltdl/config.log + rm -f libltdl/config.status libltdl/stamp-h libltdl/configure.in + rm -f libltdl/stamp-h1 + rm -f XSki XSki src/decoder/decode_tree.c src/encoder/encode_table.c + rm -rf autom4te.cache + rm -f debian/ski.init + find . -name .deps -exec {} \; + find . -name .lib -exec {} \; + ( cd doc; \ + if [ -f ski-manual-v1.0.pdf ]; then \ + uuencode ski-manual-v1.0.pdf ski-manual-v1.0.pdf > \ + ski-manual-v1.0.pdf.uu ; \ + rm -f ski-manual-v1.0.pdf ; \ + fi ; \ + ) + dh_clean + +install: build test + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # the destdir gets set in the config step, no need to here + DESTDIR=$(CURDIR)/debian/ski SED=sed $(MAKE) install + # clean up from some stupid things automake does + mv debian/ski/usr/share/man/manm/ski.man \ + debian/ski/usr/share/man/man1/ski.1 + rm -rf debian/ski/usr/share/man/manm + # make sure the man pages install properly + dh_link usr/share/man/man1/ski.1.gz usr/share/man/man1/bski.1.gz + dh_link usr/share/man/man1/ski.1.gz usr/share/man/man1/xski.1.gz + dh_link usr/share/man/man1/ski.1.gz usr/share/man/man1/ski-config.1.gz + # make sure the links for the executable are in place + dh_link usr/bin/ski usr/bin/bski + dh_link usr/bin/ski usr/bin/xski + # delete the rpath inserted by libtool + # move the X components to the proper Debian place + mv debian/ski/usr/lib/X11/app-defaults/XSki \ + debian/ski/etc/X11/app-defaults/XSki + rm -rf debian/ski/usr/lib/X11 + # add in the stuff needed to register bski as an interpreter for + # ia64 executables, but only for the non-ia64 versions + ( if test `uname -m` != "ia64" ; then \ + dh_link usr/share/man/man1/ski.1.gz usr/share/man/man1/bski.1.gz ; \ + install -m 755 misc/bski debian/ski/usr/bin ; \ + install -m 755 misc/ia64fmt debian/ski.init ; \ + fi ) + # create the stuff needed for the libski-dev package + dh_install --sourcedir=debian/ski + rm -rf debian/ski/usr/include debian/ski/usr/lib + +# Build architecture-independent files here. +binary-indep: build install + uudecode -o doc/ski-manual-v1.0.pdf doc/ski-manual-v1.0.pdf.uu + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs +# dh_installexamples +# dh_installmenu +# dh_installlogrotate + ( if [ `uname -m` != "ia64" ]; then dh_installinit; fi ) + dh_installman + dh_installchangelogs ChangeLog + dh_link + dh_strip + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/depcomp b/depcomp new file mode 120000 index 0000000..73994f3 --- /dev/null +++ b/depcomp @@ -0,0 +1 @@ +/usr/share/automake-1.9/depcomp \ No newline at end of file diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..3abf4cf --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,416 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# doc/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +manmdir = $(mandir)/manm +am__installdirs = "$(DESTDIR)$(manmdir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +man_MANS = ski.man +EXTRA_DIST = $(man_MANS) ski-notes.html perf-changes.txt +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-manm: $(manm_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(manmdir)" || $(mkdir_p) "$(DESTDIR)$(manmdir)" + @list='$(manm_MANS) $(dist_manm_MANS) $(nodist_manm_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.m*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + m*) ;; \ + *) ext='m' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(manmdir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(manmdir)/$$inst"; \ + done +uninstall-manm: + @$(NORMAL_UNINSTALL) + @list='$(manm_MANS) $(dist_manm_MANS) $(nodist_manm_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.m*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + m*) ;; \ + *) ext='m' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(manmdir)/$$inst'"; \ + rm -f "$(DESTDIR)$(manmdir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(manmdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-manm + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-manm + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-manm \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-manm + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..7ec22b4 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,23 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## + +man_MANS = ski.man + +EXTRA_DIST = $(man_MANS) ski-notes.html perf-changes.txt diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..d8912ce --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,416 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +manmdir = $(mandir)/manm +am__installdirs = "$(DESTDIR)$(manmdir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +man_MANS = ski.man +EXTRA_DIST = $(man_MANS) ski-notes.html perf-changes.txt +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-manm: $(manm_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(manmdir)" || $(mkdir_p) "$(DESTDIR)$(manmdir)" + @list='$(manm_MANS) $(dist_manm_MANS) $(nodist_manm_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.m*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + m*) ;; \ + *) ext='m' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(manmdir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(manmdir)/$$inst"; \ + done +uninstall-manm: + @$(NORMAL_UNINSTALL) + @list='$(manm_MANS) $(dist_manm_MANS) $(nodist_manm_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.m*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + m*) ;; \ + *) ext='m' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(manmdir)/$$inst'"; \ + rm -f "$(DESTDIR)$(manmdir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(manmdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-manm + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-manm + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-manm \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-manm + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/perf-changes.txt b/doc/perf-changes.txt new file mode 100644 index 0000000..7bfa140 --- /dev/null +++ b/doc/perf-changes.txt @@ -0,0 +1,490 @@ + +Looking at the profile for ski booting linux, searchDTLB and +iCycleAppSysLoop appear as the most expensive functions in the +program. iCycleSysLoop is the main dispatching function and +searchDTLB is the lookup function to find a matching TLB entry +for a given VA. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Optimization 1: Faster TLB lookup %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Successive calls to searchDTLB are likely to return the same. To +improve the performance I added a cache to the lookup function. + +Before (SKI v0.983) + +Flat profile: + +Each sample counts as 0.00195312 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 30.39 24.59 24.59 1 24.59 80.55 iCycleSysLoop + 29.19 48.21 23.62 31871203 0.00 0.00 searchDTLB + 3.35 50.92 2.71 2746424 0.00 0.00 searchITLB + 3.26 53.55 2.64 34018385 0.00 0.00 pmem_lookup + 3.23 56.17 2.62 31860917 0.00 0.00 dataLookup + 2.46 58.16 1.99 30132740 0.00 0.00 adds_r1_imm14_r3Comb + 2.35 60.06 1.90 31785685 0.00 0.00 dtlbLookup + 1.86 61.57 1.51 18408792 0.00 0.00 memRd8 + 1.59 62.86 1.29 29484 0.00 0.00 fillinDecodePage + 1.41 64.00 1.14 16323427 0.00 0.00 ld8_r1_r3Comb + 1.30 65.05 1.05 75372875 0.00 0.00 nop_i_imm21Comb + 1.14 65.97 0.92 3165072 0.00 0.00 instr_decode + 1.10 66.87 0.89 23578017 0.00 0.00 br_cond_spnt_few_target25 + +%%% After 2-level cache: + +Flat profile: + +Each sample counts as 0.00195312 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 40.02 24.64 24.64 1 24.64 61.22 iCycleSysLoop + 10.55 31.13 6.50 31871203 0.00 0.00 searchDTLB + 4.48 33.89 2.76 34018385 0.00 0.00 pmem_lookup + 3.91 36.30 2.41 31860917 0.00 0.00 dataLookup + 3.01 38.16 1.86 30132740 0.00 0.00 adds_r1_imm14_r3Comb + 2.86 39.92 1.76 31785685 0.00 0.00 dtlbLookup + 2.24 41.30 1.38 18408792 0.00 0.00 memRd8 + 2.11 42.60 1.30 29484 0.00 0.00 fillinDecodePage + 2.01 43.84 1.24 2746424 0.00 0.00 searchITLB + 1.89 45.00 1.16 16323427 0.00 0.00 ld8_r1_r3Comb + 1.64 46.01 1.01 75372875 0.00 0.00 nop_i_imm21Comb + 1.44 46.90 0.89 3165072 0.00 0.00 instr_decode + 1.30 47.70 0.80 23578017 0.00 0.00 br_cond_spnt_few_target25 + 1.09 48.38 0.67 32939314 0.00 0.00 pmemLookup + 1.03 49.01 0.64 9452527 0.00 0.00 cmp_eq_p1_p2_imm8_r3Comb + 0.79 49.50 0.49 4920903 0.00 0.00 cmp_eq_p1_p2_r2_r3Comb + + + static TlbEntry *searchDTLB(ADDR va) + 31870734 { + 31870734 unsigned i, rid = RR_RID(RR(va)); + 31870734 static TlbEntry *cache1 = 0; + 31870734 static TlbEntry *cache2 = 0; + 31870734 TlbEntry *e, *prev; + + 31870734 if(cache1 != NULL && VAmatch(cache1, va, rid)) + 25425528 return cache1; + + 6445206 if(cache2 != NULL && VAmatch(cache2, va, rid)) { + 3401824 TlbEntry *tmp = cache1; + 3401824 cache1 = cache2; + 3401824 cache2 = tmp; + 3401824 return cache1; + } + + 50689523 for (i = 0; i < NDTRS; i++) + 47715903 if (VAmatch(&dtrs[i], va, rid)) { + 69762 cache2 = cache1; + 69762 return cache1 = &dtrs[i]; + } + + 174713331 for (i = 0; i < NDTCS; i++) + 174707270 if (VAmatch(&dtcs[i], va, rid)) { + 2967559 cache2 = cache1; + 2967559 return cache1 = &dtcs[i]; + } + + 6061 return NULL; + } + +Out of 31870734 queries, cache1 hits 79.77% of the time and cache2 +hits 10.6%. Overall the caches hit 90.45%. + +For those 9.55% misses, we are iterating an average of 1.97 times over +the TRs to find a matching TR and 16 times over the TRs + 58.8 times +over the TCs to find a matching TC. + +It looks like having a MRU ordered linked list for the TCs would help +to reduce the average number of iterations. + +%%% After MRU ordered linked list: + +Flat profile: + +Each sample counts as 0.00195312 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 43.13 25.04 25.04 1 25.04 57.67 iCycleSysLoop + 5.83 28.42 3.38 31845395 0.00 0.00 searchDTLB + 4.36 30.96 2.53 33992430 0.00 0.00 pmem_lookup + 4.17 33.38 2.42 31835147 0.00 0.00 dataLookup + 3.28 35.28 1.91 30131665 0.00 0.00 adds_r1_imm14_r3Comb + 2.86 36.94 1.66 31759885 0.00 0.00 dtlbLookup + 2.58 38.44 1.50 18393874 0.00 0.00 memRd8 + 2.35 39.80 1.36 16318765 0.00 0.00 ld8_r1_r3Comb + 2.30 41.14 1.33 29484 0.00 0.00 fillinDecodePage + 1.69 42.12 0.98 75348694 0.00 0.00 nop_i_imm21Comb + 1.40 42.93 0.81 23573608 0.00 0.00 br_cond_spnt_few_target25 + 1.38 43.73 0.80 3164652 0.00 0.00 instr_decode + 1.29 44.48 0.75 32913488 0.00 0.00 pmemLookup + 1.03 45.08 0.60 9448299 0.00 0.00 cmp_eq_p1_p2_imm8_r3Comb + + + static TlbEntry *searchDTLB(ADDR va) + 31845395 { + 31845395 unsigned i, rid = RR_RID(RR(va)); + 31845395 static TlbEntry *cache1 = 0; + 31845395 static TlbEntry *cache2 = 0; + 31845395 TlbEntry *e, *prev; + + 31845395 if(cache1 != NULL && VAmatch(cache1, va, rid)) + 25398545 return cache1; + + 6446850 if(cache2 != NULL && VAmatch(cache2, va, rid)) { + 3403600 TlbEntry *tmp = cache1; + 3403600 cache1 = cache2; + 3403600 cache2 = tmp; + 3403600 return cache1; + } + + 50688345 for (i = 0; i < NDTRS; i++) + 47714788 if (VAmatch(&dtrs[i], va, rid)) { + 69693 cache2 = cache1; + 69693 return cache1 = &dtrs[i]; + } + + 2973557 e = prev = dtcs_head; + 2973557 while (e) { + 16579630 if (VAmatch(e, va, rid)) { + 2967535 if (e != dtcs_head) { + 2956759 prev->next = e->next; + 2956759 e->next = dtcs_head; + 2956759 dtcs_head = e; + } + 2967535 cache2 = cache1; + 2967535 return cache1 = e; + } + 13612095 prev = e; + 13612095 e = e->next; + } + + 6022 return NULL; + } + +entry in TR: 1.97 it (2.29% of the time) +entry in TC: 16+5.32 it (97.51% of the time) + not found: 128+16 it (0.19% of the time) + +Average iteration: (137295+63267846+867168)/3043250 = 21.11 it + +We are iterating an average of 5.32 times over the TCs when we +have a miss. The 16 iterations over the TRs are now what takes +most of the time in the miss case. + +When we miss, we find the entry in the TC 97.51% of the time, in +the TR 2.29% and fail 0.19%. + +It looks like it would be more efficient to scan the TC linked +list before the TRs. Since we cannot have duplicate entries in +the TC and TRs this should not affect the simulator behavior. + +%%% After search the TC before the TRs: + +Flat profile: + +Each sample counts as 0.00195312 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 43.25 25.21 25.21 1 25.21 57.92 iCycleSysLoop + 4.85 28.04 2.83 31845395 0.00 0.00 searchDTLB + 4.61 30.73 2.69 33992430 0.00 0.00 pmem_lookup + 4.06 33.10 2.37 31835147 0.00 0.00 dataLookup + 3.14 34.93 1.83 30131665 0.00 0.00 adds_r1_imm14_r3Comb + 2.90 36.62 1.69 31759885 0.00 0.00 dtlbLookup + 2.59 38.13 1.51 16318765 0.00 0.00 ld8_r1_r3Comb + 2.42 39.54 1.41 18393874 0.00 0.00 memRd8 + 2.34 40.90 1.37 29484 0.00 0.00 fillinDecodePage + 1.63 41.85 0.95 75348694 0.00 0.00 nop_i_imm21Comb + 1.58 42.77 0.92 3164652 0.00 0.00 instr_decode + 1.33 43.55 0.78 23573608 0.00 0.00 br_cond_spnt_few_target25 + 1.27 44.29 0.74 32913488 0.00 0.00 pmemLookup + 1.16 44.96 0.68 9448299 0.00 0.00 cmp_eq_p1_p2_imm8_r3Comb + + + static TlbEntry *searchDTLB(ADDR va) + 31845395 { + 31845395 unsigned i, rid = RR_RID(RR(va)); + 31845395 static TlbEntry *cache1 = 0; + 31845395 static TlbEntry *cache2 = 0; + 31845395 TlbEntry *e, *prev; + + 31845395 if(cache1 != NULL && VAmatch(cache1, va, rid)) + 25398545 return cache1; + + 6446850 if(cache2 != NULL && VAmatch(cache2, va, rid)) { + 3403600 TlbEntry *tmp = cache1; + 3403600 cache1 = cache2; + 3403600 cache2 = tmp; + 3403600 return cache1; + } + + 3043250 e = prev = dtcs_head; + 3043250 while (e) { + 25500334 if (VAmatch(e, va, rid)) { + 2967535 if (e != dtcs_head) { + 2956759 prev->next = e->next; + 2956759 e->next = dtcs_head; + 2956759 dtcs_head = e; + } + 2967535 cache2 = cache1; + 2967535 return cache1 = e; + } + 22532799 prev = e; + 22532799 e = e->next; + } + + 240250 for (i = 0; i < NDTRS; i++) + 234228 if (VAmatch(&dtrs[i], va, rid)) { + 69693 cache2 = cache1; + 69693 return cache1 = &dtrs[i]; + } + + 6022 return NULL; + } + + +Now, in case we miss the cache, the average iterations are: + +entry in TC: 5.32 it (97.51% of the time) +entry in TR: 128+1.97 it (2.29% of the time) + not found: 128+16 it (0.19% of the time) + +Average iteration: (15787286+9058000+867168)/3043250 = 8.45 + +The average iteration is down from 21.1 to 8.45 in the +cache miss case. Accumulated time in searchDTLB is down from +23.62s to 2.83s (+834% speedup) + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Optimization 2: Reduce the size of INSTINFO %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The fields in INSTINFO are not optimized. Pointers are used when +byte offset could contain the same information. Some field are +redundant. + +This is INSTINFO before: + +struct IC { + struct INSTINFO { + PCF combFn; + struct CT_t *ic; + WORD iptr; + BYTE delta; + BYTE qpred; + BYTE stop; + BYTE samepg; + void *pgrtgt; + void *pgrr2; + void *pgrr3; + DWORD immed64; + DWORD immed64_2; + BYTE extrainfo[8]; + ICNTS *cnt; + } info; + IC *icpnext; + IC *icpnext2; +} IC; + +% iptr is not necessary as (this - this->ic->instCache) would give + the ioffset in the curent page (I kept it in case the size of + struct INSTINFO is not a power of 2). +% stop and samepg are 8bit when they could be 1bit. +% qpred should be stored in extainfo +% delta could be a 2bit offset. +% pgrtgt, pgrr2 and pgrr3 are pointers and could be 8bit register + numbers. +% immed64_2 is used for tag13 and retIP and could be eliminated +% icpnext2 offers now performance improvement and can be eliminated. + +Total size of an IC entry is 64 bytes for ILP32. + +INSTINFO after: + +struct INSTINFO { + DWORD immed64; + BYTE extrainfo[8]; + + PCF combFn; + INSTINFO *next; + CT *ct; + + BYTE pgrtgt, pgrr2, pgrr3; + BYTE delta : 4; + BYTE stop : 1; + BYTE samepg : 1; + BYTE unused : 2; +}; + +Total size of an IC entry is now 32 bytes for ILP32 + +%% Performance measurements: + +Before: + +$ bski -stats bootloader vmlinux simscsi=sd simeth=eth0 +kernel exited with status 0 +208605173 insts (17012 faults), 32.12 sec, 6493909 i/s + +After: + +$ bski -stats bootloader vmlinux simscsi=sd simeth=eth0 +kernel exited with status 0 +208605173 insts (17012 faults), 29.52 sec, 7067229 i/s + +The benefit of reducing the size of INSTINFO is a better +spatial locality for the IC data set and also allows us +to double the number of IC pages to increase instruction caching +and keep the same memory footprint. + +IPF might benefit from this size reduction more than x86 (my +measurements were taken on a 2.2GHz P4). + +Performance improvement: +8% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Optimization 3: Rewrite of iCycleSysLoop %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Before: +$ bski -stats bootloader vmlinux simscsi=sd simeth=eth0 +kernel exited with status 0 +208605173 insts (17012 faults), 29.52 sec, 7067229 i/s + +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 43.09 15.66 15.66 1 15660.00 36280.00 iCycleSysLoop + 6.05 17.86 2.20 31835637 0.00 0.00 dataLookup + 5.72 19.94 2.08 31845885 0.00 0.00 searchDTLB + 4.32 21.51 1.57 18394052 0.00 0.00 memRd8 + 3.94 22.94 1.43 75349069 0.00 0.00 nop_i_imm21Comb + 3.74 24.30 1.36 30131140 0.00 0.00 adds_r1_imm14_r3Comb + 3.14 25.44 1.14 31760375 0.00 0.00 dtlbLookup + 2.94 26.51 1.07 16318942 0.00 0.00 ld8_r1_r3Comb + 2.48 27.41 0.90 23573743 0.00 0.00 br_cond_spnt_few_target25 + 1.29 27.88 0.47 2746448 0.00 0.00 setSysIcp + 1.18 28.31 0.43 2109093 0.00 0.00 instr_decode + 1.16 28.73 0.42 9448444 0.00 0.00 cmp_eq_p1_p2_imm8_r3Comb + +43% of the time is spent in iCycleSysLoop to prepare the comb +function dispatch. I the common case preparing the dispatch only +needs to compute the new IP and ICP, check for interruptions +and count instructions (the later could be removed if we +do not specify the -stats flag). + +So if we know that PSR is not changing, that we do not have +SSC requests pending, then the SysLoop could be as simple as: + + do { + INSTINFO *info = icp; + ADDR curr_ip = ip; + + st = info->combFn(info); + + if (st & ST_IP_INC) { + if (psr_ic) { + IIPA = curr_ip; + } + + icp = info->next; + ip += info->delta << 2; + + if (info->stop) { + ++cycle_count; + } + } + else { + if (info->samepg && (st & ~ST_CHECK) != StFault) { + icp += (ip - curr_ip) >> 2; + } + else { + icp = NULL; + } + ++cycle_count; + } + ++insn_count; + + if (++ITC == ITM || !icp || st & ST_CHECK || intrsim) { + break; + } + + } while(1); + +This is the code for iCycleSysLoopLite. iCycleSysLoop calls this +function if the conditions are right. iCycleSysLoopLite will try to +execute as many instructions as possible while the assumptions +are valid (same PSR, no fault/trap, no intr). + + +After: + +$ bski -stats bootloader vmlinux simscsi=sd simeth=eth0 6 +kernel exited with status 0 +208605173 insts (17012 faults), 21.56 sec, 9673836 i/s + +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 27.04 7.47 7.47 2805545 0.00 0.01 iCycleSysLoopLite + 8.25 9.75 2.28 31835637 0.00 0.00 dataLookup + 5.97 11.40 1.65 31845885 0.00 0.00 searchDTLB + 5.25 12.85 1.45 18394052 0.00 0.00 memRd8 + 5.07 14.25 1.40 30131140 0.00 0.00 adds_r1_imm14_r3Comb + 4.63 15.53 1.28 75349069 0.00 0.00 nop_i_imm21Comb + 4.34 16.73 1.20 31760375 0.00 0.00 dtlbLookup + 3.08 17.58 0.85 16318942 0.00 0.00 ld8_r1_r3Comb + 2.97 18.40 0.82 23573743 0.00 0.00 br_cond_spnt_few_target25 + 1.85 18.91 0.51 9448444 0.00 0.00 cmp_eq_p1_p2_imm8_r3Comb + 1.70 19.38 0.47 2746448 0.00 0.00 setSysIcp + 1.27 19.73 0.35 3753858 0.00 0.00 memWrt8 + 1.05 20.02 0.29 2109093 0.00 0.00 instr_decode + + +Some numbers: + +iCycleSysLoopLite executes 74 instructions on average before returning +to the main iCycleSysLoop (because of a fault/trap/intr or different IC page) + +91.76% of the instructions are using ST_IP_INC. +8.23% are taken branches or faults/traps. +84.5% of the taken branches are hiting the same IC page and keep + the execution in iCycleSysLoopLite. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Compile with icc -O3 -tpp6 -axiM %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +$ bski -stats bootloader vmlinux simscsi=sd simeth=eth0 6 +kernel exited with status 0 +208602881 insts (17012 faults), 17.69 sec, 11789976 i/s + +Compiling w/ ICC gives a 22% performance improvement. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Overall performance improvement over 0.981l1 ToT %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +w/ gcc: 5142300/9673836 i/s +88% +w/ icc: 5142300/11789976 i/s +129% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Other optimization ideas %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +1- enable SKIP_NOPS code. if PSR_SS is detected, invalidate the + current IC page and disable SKIP_NOPS on it. + The performance gain could be around 5%. + +2- optimize dataLookup body (common case does not need to take + that long). could be 5% + diff --git a/doc/ski-manual-v1.0.pdf.uu b/doc/ski-manual-v1.0.pdf.uu new file mode 100644 index 0000000..799f59f --- /dev/null +++ b/doc/ski-manual-v1.0.pdf.uu @@ -0,0 +1,33983 @@ +begin 644 ski-manual-v1.0.pdf +M)5!$1BTQ+C$*)>+CS],-"C$@,"!O8FH*/#P*+U!R;V1U8V5R("A!8W)O8F%T +M($1I7I[?'U^?W.$A8:'B(F*BXR-CH^"DY25EI>8F9J;G)V>GY*CI* +M6FIZBIJJNLK:ZOH1``("`0(#!04$!08$"`,#;0$``A$#!"$2,4$%41-A(@9Q +M@9$RH;'P%,'1X2-"%5)B)$@Q=4DP@)"A@9 +M)C9%&B=D=%4W\J.SPR@IT^/SA)2DM,34Y/1E=865I;7%U>7U1E9F=H:6IK;& +MUN;V1U=G=X>7I[?'U^?W.$A8:'B(F*BXR-CH^#E)66EYB9FIN;_`,W?,MKY@OM/T?TK +M6UL9I+8>O^6R'_I'C_ID;\W?\I7KO_;0N +M_P#D^^%UE:37]W!90"LL[K&@]V-,WT-/@&.)...T022'62RY3,@2/.J!>BZ/ +M^8WYFZ[="TTR2.:3]HBWCXK[L>.']_YY\YQ^9=+\IVUQ#]?XQ)J4@A0@S2?O +M&`!Z<8Z=,F_E_0M*\B>7)+AU`-M`UQ=S$?$W%>;?3MG&?)/F71X/.-UYI\SS +MM$\C22Q<8WD'J3$U^P#0*#09AQX,OBSAACPPB1$".\I2Y$^YR#Q0X(RR&Y&Y +M$G8`/3?,S?FQ;ZA<2Z$]K+I^Q@A5$+@``4/JKN2=^N7P]!\0ZY$M9U/R+ +M^:$3:+9SE-;",^G321-&W-1RX+F\^_Y7%YZ_Y;(?^D>/^F''EG\XO,SZO;6NKB&[M;F18F"QB-UY'B&4 +MI0?>,Y;-%+;RR03*4EB8I(AZJRFA!^1P;H7_`!VM/_YB(O\`B8S89=/@\.=8 +MXCTDV`XL,N3CCZCS',OJ%3YG]=Y6DA^J_6$=!Q%?JWQEQ7K6G'WK[;YL-_\` +MCR_YY?\`&N;-"[-__]"#^;O^4KUW_MH7?_)]\-/RSABG\ZZ6DNX#LP!\0IIA +M7YN_Y2O7?^VA=_\`)]\0T#57T/6;+5HQ4VLJR%1W4&C#Z5SH91,M.8CF<=#Y +M.JB0,H)Y"5_:]V_.C6AIWE9=,1J3ZI*(Z`T/I1$22'Y5XK].3 +M[=?],N*7EZ0/B$MT0(T/_&.(5^G.I>9/)MS^8&KZ5Y@M[^)M$2*(PP@$EE+> +MI(:UI5NGT84:KY1O_*^J:K^86IW,4ZVRRR64"`@K(X^KVJFM=DY*,U^#)"$( +M0!]?JE5'^]EZ8CX.7DA*4I2(].PO^@-Y%BFJM;:KYXM].!_W#^7(A`Y&X$-B +M#)<-_LG##[L.ORET^37O->H^:KE`J0L[1J/LB28D\5_U%VPB\F^4/->N:5J% +M]I)@6+4`UI--<%O5*U#2>F1M\7V6SKWE?1[7\NO*,SZE*M8%>YO)5V#-V1:] +M3T4>.2U&2,82PP/%+TXP!SH?5\26.*)E(9)"AO/?[/D'A'YA0Q0>=M;2&G$W +M+.:?S.`[_P##,<*="_X[6G_\Q$7_`!,8GJVHS:OJ=YJDXI+>323NHZ`R,6XC +MV%:8IH7_`!VM/_YB(O\`B8S/(,8A1^`<8$')8ZRO[7UQ_P`>7_/+_C7- +MF_X\O^>7_&N;.==J_P#_T8?YYLKFQ\W:U'=1F,R7D\T=1LT5!].4RU6,Y8Y1AJ0-_5S/3HV#!,0,#DL';ER>;V_YA>6OR_P!,B\L+!<7= +M_IZ*DXB5%C,S*'>LC-7JU#\)WSFWG/\`,/6?.3+#.!::=&>4=C$206_GESBCF;%LV:URW_]+L.K)M`KW?UBZXN?0!MSP/)6"CFWP_$#[8[S +M-YF:%IQ#`R2,TW!63[+*NY-,\.9L5?=?ER\U+4-!TZ] +MUBW-IJ4]O&]Y;E63A*5^->#_`!+OV.%WEB^\TWEWJ47F"UCM8+&3ZK;2(C+] +M:8,[FZCY,:1F)HP!_-RWVSQ+FQ5]GZ[K/FJT\UZ;IFFV:-I$ZQ--G$`X,A4$GJ:4P]\P7.I6>C7ESH\7KZA&@-M$4:2K$@?80J6V]\ +M\)YL5?<_ENYUBXLIUUM.-U;W=S;I*(S")H8I66&<(Q:G-*'8TP+Y:&M#4/,A +MU621K;](D:6LJ,H%O]7@-8F8FJ1RG`C.1H +MY`BI)!E'(O%[2(!R.1=;Q`-8T+AF,Q`5*O%X)%RH8YL5#N"BV*"F:XH22"+1 +MM)RF:3:*1D,!0=3883H;SD("D93,*1CE#+(3<8S+23";M!E#J838*2Z5"5$H +M%:Y_`AD-!D+AO'!D.!P+AM*KUA!1G=`-!0=A2.!B*!<*1;41J**`,"8("X*! +ME+2"<,V,!@7!3L-E$MM%]"(,F-A<-);&QOPN)5\*0S><-`-A0>3D-(SC0.CS +M-FL:3K,D@:+B'"3K\(@%!0+@9!J&(4BH-2Q+(GZ\I(&#>);!SC/8\2+B0,K0 +M.J.XV#*.@Z!:*#)!R%`PC&R3GC6,(Y-!&0R!`_#HMBV8BK".(%!LK;;!J&KA +M)B[K=H^HK@+LC@QJN%XDC:@0B#>!0H@4@(`*96YD'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX* +M96YD;V)J"C(Y(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B!N=6QL(&YU;&P@ +M;G5L;%T*/CX*96YD;V)J"C,P(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`U +M,S0@.3`W(&YU;&Q="CX^"F5N9&]B:@HS,2`P(&]B:@H\/`HO1"!;,C@@,"!2 +M("]865H@-C4@-C8P(&YU;&Q="CX^"F5N9&]B:@HS,B`P(&]B:@H\/`HO1"!; +M,C@@,"!2("]865H@-#@@-3DQ(&YU;&Q="CX^"F5N9&]B:@HS-"`P(&]B:@H\ +M/`HO1"!;,C@@,"!2("]865H@-#@@-#(@;G5L;%T*/CX*96YD;V)J"C,U(#`@ +M;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`W-C<@;G5L;%T*/CX*96YD;V)J +M"C,V(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`W-#,@;G5L;%T*/CX* +M96YD;V)J"C,W(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`W,#@@;G5L +M;%T*/CX*96YD;V)J"C,X(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`V +M.3`@;G5L;%T*/CX*96YD;V)J"C,Y(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA9 +M6B`T."`V-#@@;G5L;%T*/CX*96YD;V)J"C0P(#`@;V)J"CP\"B]$(%LR."`P +M(%(@+UA96B`T."`V,3@@;G5L;%T*/CX*96YD;V)J"C0Q(#`@;V)J"CP\"B]$ +M(%LR."`P(%(@+UA96B`T."`U.#@@;G5L;%T*/CX*96YD;V)J"C0R(#`@;V)J +M"CP\"B]$(%LR."`P(%(@+UA96B`T."`U-S`@;G5L;%T*/CX*96YD;V)J"C0S +M(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`U-30@;G5L;%T*/CX*96YD +M;V)J"C0T(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`U,3D@;G5L;%T* +M/CX*96YD;V)J"C0U(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T."`U,#$@ +M;G5L;%T*/CX*96YD;V)J"C0V(#`@;V)J"CP\"B]$(%LR."`P(%(@+UA96B`T +M."`T.#4@;G5L;%T*/CX*96YD;V)J"C0W(#`@;V)J"CP\"B]$(%LR."`P(%(@ +M+UA96B`T."`T-3`@;G5L;%T*/CX*96YD;V)J"C0X(#`@;V)J"CP\"B],96YG +M=&@@,3TB"346?C26E2KQ>"1 +M*@U+$(R3K,M$6K8BZWAL'(<1O'+^!0*@T#*$`TC<,T(C;!XTC>-TJR\.@T#2 +MAPR#>,8ZC:,HW-%,80#F.HQ#4,HQM%"`0#&-$/C/*@[C3,(WCJT0W1ZQSE2` +MFKLJ._8B+\%`D"**XF.@*D0AD%#;4J%`@A2J(4"&)8@BD(C!ADW(4":((EB* +M*=2!G2PG"?5K="NS+BU"*0@B<*@LUD%`GB-7M.A1B(H8ABF0W]6B-PQ6]*8BN5J5$)^H5[T:UCB,VV+9MJV[--V,;@CD,E228%`YSR +M-@V;^Q%!CIO^,C$Q["<`-@TC",39<,%$L.'QV,PT.4(CGRHQRZ.@PRL,N_2Z-TYL9+MY;:%U[48V$_#0$`S#J.0W3',0W#.%@0#A#7+RU#@R_/ +M"(0#KWX0#>,P03#-LM#I#7B4-(*]&W*+4:E),;(32G&3,FAVT!C7N]=$E9YB +MKC-I6?6EMZI+X#AW3$GB`T$X(@R->'!SC^TZ.E@Z"@,0>83N@,P#%#!G3/FA +M.5!@UX07"0G,\:`.D'S-G"<:JXUY(7?AR#L9DS;I89P21Y"<.!PG$P8,V_6! +M@*'\0\@0F=-*:WK0`>Q`(OZ6@\@@<8^@-!BTS&7#2Z5\Y(81!O#('4QP9'WH +M2#H')#X3>-\#(VM%47&WKX4\9=@,,(=&C-*:<=$RSDX1D:XG;<"_P%6(P@,*K3-G#0P:TS89YNH:A-4>*E)`RTF# +M6JUA$4JJ4W#<_*K2404TB=;$1N9NPV!D#G,5(5+**'T1F2 +M+;''`NIF1Q>L`HJ3]?]6VGQ)$8@P!M,MN#`@G!)"Q7I(4Y*?HQ!J#E'-C*BO +M,!DUPW:I+KU5M/5>U*I+O.[N[2.IUGZHDAM'=ZTUJ*3WF0Q:R^"4[Z`H"FA] +MT5X#?A##D'4/5^0GOICL]0-U;*5W')P?0&90;,LC36&5PMA;J7(*!=BS-V[\ +MU),)>&IB&;/6@?W>Z_-\;R7S,)>="V*T,)A<;>G"3^W"V\!F#0H!+;@W-,M; +M>W."+BG0`40$"F5N9'-T'0@70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R-2`P +M(%(*+T8V(#4P(#`@4@H^/@HO17AT1U-T871E(#P\"B]'4S$@,C8@,"!2"CX^ +M"CX^"F5N9&]B:@HU,B`P(&]B:@H\/`HO1"!;-3$@,"!2("]865H@;G5L;"!N +M=6QL(&YU;&Q="CX^"F5N9&]B:@HU,R`P(&]B:@H\/`HO1"!;-3$@,"!2("]8 +M65H@,C,Q(#,R,R!N=6QL70H^/@IE;F1O8FH*-30@,"!O8FH*/#P*+T0@6S4Q +M(#`@4B`O6%E:(#(S,2`S,C,@;G5L;%T*/CX*96YD;V)J"C4U(#`@;V)J"CP\ +M"B]$(%LU,2`P(%(@+UA96B`R-#`@-C`V(&YU;&Q="CX^"F5N9&]B:@HU-B`P +M(&]B:@H\/`HO1"!;-3$@,"!2("]865H@,C0P(#8P-B!N=6QL70H^/@IE;F1O +M8FH*-3<@,"!O8FH*/#P*+T0@6S4Q(#`@4B`O6%E:(#(X,"`X.#(@;G5L;%T* +M/CX*96YD;V)J"C4X(#`@;V)J"CP\"B]$(%LU,2`P(%(@+UA96B`R.#`@.#@R +M(&YU;&Q="CX^"F5N9&]B:@HU.2`P(&]B:@H\/`HO1"!;-3$@,"!2("]865H@ +M,C@X(#DP-R!N=6QL70H^/@IE;F1O8FH*-C`@,"!O8FH*/#P*+T1E7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;.3$@-3(Y(#(T,"`U-#!="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*-C$@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;.3`@-#DY(#,P,"`U +M,3!="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*-C(@,"!O8FH*/#P*+T1E +M7!E +M("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-3$Y(#DY(#4U."`Q,3!= +M"B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*-C,@,"!O8FH*/#P*+T1E7!E("]! +M;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@.#<@,3DY(#DY70HO0F]R +M9&5R(%LP(#`@,%T*/CX*96YD;V)J"C8T(#`@;V)J"CP\"B]$97-T("]-,30N +M.2XR-C0W-"Y!<'!E;F1I>"Y!+D-O;6UA;F0N365N=0HO5'EP92`O06YN;W0* +M+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S$W-"`U-S<@,S(Q(#4X.%T*+T)O$!MDLGJHY$!L@LT(14!0O(T<@14D@Q@47B]JCL<&<_&DM*E8B\$BY4, +M(5@YMKG=N\?<&M'& +MX@NLU@F`*9KBA)((M&P:!`*8TC:UX4#J-@PCH-XY!`*0RC,PK2C*D(W#&,JD +MC"-P4M@.HPC8GR@"8X[DHDEJV)\EH9)8%R!),&X7!F&;Z*P%#>0>WX4BH-2Q +MB-`"SK3$ZVHN\8;!R'$81D^K`"H-`TCFVS(ADV(WC&.HVC*-PZ2@&LI2=+S04#L-(R4),HPS340Y +MC&Q0X#H-(WPU2-%S3,+,N0Y2+MN%R."H(B_A1.T$CJD(YA8VP:-T%`QC>-HV +MPR,EAV+8]FV*#G`F# +MX*2B%`N1B&PY#G.LTC'#-$A0SK6U?LTL=_P +M>CXGN>CB]__'Z/9?9-3^WU^VXC@-G#02R]](*%T!G#D&%`C^@W+N?T2%Y[Y4 +M(,L@,&E_IK8&O2#2F&`*H@Q&I-*'4,X9V%P!#F'5TL`0PJ0?>"@)`4&T&1!2 +MP))[R":`H#P&0,0+&E)B,>Z%M@('2MQ#HA,$"S00!!#@'!+`9`TAXB+#B%H, +MC!++B(G5.Z%0RPM1DLP/((&11##8A][P(`W!E9&TLD(80R&U1T357!0E=J]4 +M&ELV!(5F.6P4)B#882-99&L%H:T3M(112X@N!L1RBA1FQ'U+R7LP"R8I +M0)G:F5XA<32MH)A3:@1II^NT2+$)XH>#94%]<\::2N4A4>GU.J@4_#$8 +MI![5E`'?I7.!7)]%>&QFXR!5;+YL!F!!,MTL/IZP)C4CN791ZO*]G*<$F`*) +MTQ)G970&P*`B.K9]7N)Z;V,&NKH8<*8=%@0HKK/:OX*`BAR4Y82QH39N!S## +M"`.<_*]+T4[9L.L"6%V(I\SXP]`;&NQ>7-Q*%B[1UU#@&\.:U@Q&=M77L.8; +MPV./9?8HP\A[)5UK0&BVKU7MUU3/"T&L+S#PQ1)6^7H"F6V0065>RMEYN5M1 +MXSBD@,6=EM12#1%X,R3F2HL5@P`1E7&.,$MU;Z6)%7,9LCTGS63=4F:X6\E4 +M\[RJ]"2[>NK=[%5[;TGVOU=9#I9P"::!EGFG0*L;">X;'S%,BP=75D0;)IF; +M!2#8P[DZZA$#+.J)3Z+-L-9\]$-&&7I7#>]<-\5PU0&9,C!;$EC<`812HE:] +MUPPN0";BW-U.!:]N!L:'<,L&[-APNMD*H$,KH!0"($:'9,#.PX,\&,%P7`4P +MXMNE<$$2FV.6#'>\JX88MRQ,=%U4%LC.W8+(2VA=;YQ70@NAYPR.4=TBOG20 +M&2+"6QMKC+\AUJ396^FQ6-5TQ8@F%!I#0QV8K;4QZ>`V#*&Q9P((1 +MUIP@QK-^>R27Z!N1HG<;UD.N4K2&^5"\^SS(X7FK\.(B:&5G&*`TW*RQ<@OI +M?3.F].AHB&D_5F<+Z'Q:_0W0,`@YFN+4F4%S(J$:M:SGTF![-49N"-?6A>RB +M?@Y!BC(KAXP9F2:+1@H%&[H/],9H^Q#_34:LI&D"^U]0#00:&@(W%)KL4/P;-P@8SZKM<)7(=L'8>T]N-9V\=_<(("N/C.ZE?1+7 +M:"T.ZH4PQ7*KZ\L(OO>E0(`9`YWVDG?I>E>MX!FAS!J4'4V^M6;!_L +MHE$'!=3HM=0>&V]9D*A72,=^N&EJ:LVQ2U827"KH;#3Z)*$\JV5TWJ`.47ZE +M[_U/<_/>2&Q#%`FI/2:%]+/:1>\11BD=1\)3#DA@,"]XM:;#KW9$)*>#Q`9_ +MEJN[K\[KV\TU\$>-M+ +MM&=-ZD4@9DC@:"S'R+]C\`\DL@PHF+U@4G4@[+W+=OH.E0OCQMPP-.9#`+^H +MK,@4R!'HG +M+(E'8M%QZ'VFX&VQ^K32!H*&@`42&+W2',M2!*]G8G;R!MI2+GJ@VH+H@@R* +M_1^L(25G+22F)DQR!J[IU@\&K+G1K)WH=IYHHI7$&D'HJI]O(QCE4%5)%-=E +MZM6/60HP1PIM]BN-P/:-TO#@R`U1U/&POD5&A@<-Q"?Q,/#JU*:@R`=0N2HP +M]*'*41RB4RKN90L.K#8RN0:0O-ZO(10P&2K2R.J.9KH"EQLN5#O"I1O-EHT` +MR#7`9GHK*Q8*%BC`8`;D`1O@4`NKL#F`%"`@"F5N9'-T'0@70HO1F]N="`\/`HO +M1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8V(#4P(#`@4@HO1C@@.38@,"!2"B]& +M,3`@.3<@,"!2"B]&,3(@.3@@,"!2"CX^"B]%>'1'4W1A=&4@/#P*+T=3,2`R +M-B`P(%(*/CX*/CX*96YD;V)J"C$P,"`P(&]B:@H\/`HO1"!;.3D@,"!2("]8 +M65H@;G5L;"!N=6QL(&YU;&Q="CX^"F5N9&]B:@HQ,#$@,"!O8FH*/#P*+T0@ +M6SDY(#`@4B`O6%E:(&YU;&P@;G5L;"!N=6QL70H^/@IE;F1O8FH*,3`R(#`@ +M;V)J"CP\"B]$(%LY.2`P(%(@+UA96B`V.2`W-38@;G5L;%T*/CX*96YD;V)J +M"C$P,R`P(&]B:@H\/`HO1&5S="`O33$T+CDN,C8T-S0N07!P96YD:7@N02Y# +M;VUM86YD+DUE;G4*+U1Y<&4@+T%N;F]T"B]3=6)T>7!E("],:6YK"B]296-T +M(%LU,3`@-S`Y(#4T,"`W,C!="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,3`T(#`@;V)J"CP\"B]$97-T("]-,30N.2XR-C0W-"Y!<'!E;F1I>"Y!+D-O +M;6UA;F0N365N=0HO5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@ +M6S4T(#8Y-R`Q.3<@-S`Y70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$P +M-2`P(&]B:@H\/`HO1&5S="`O33$T+CDN,C8T-S0N07!P96YD:7@N02Y#;VUM +M86YD+DUE;G4*+U1Y<&4@+T%N;F]T"B]3=6)T>7!E("],:6YK"B]296-T(%LQ +M-C`@-C0S(#,P-R`V-31="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*-C4@ +M,"!O8FH*/#P*+U`@-3$@,"!2"B]2(%LV,R`T-2`U-C<@-S0W70HO5B`S,R`P +M(%(*+TX@,3`V(#`@4@H^/@IE;F1O8FH*,3`W(#`@;V)J"CP\"B]$(%LY.2`P +M(%(@+UA96B`T."`W-#$@;G5L;%T*/CX*96YD;V)J"C$P."`P(&]B:@H\/`HO +M1"!;.3D@,"!2("]865H@-#@@-S(S(&YU;&Q="CX^"F5N9&]B:@HQ,#D@,"!O +M8FH*/#P*+T0@6SDY(#`@4B`O6%E:(#0X(#8X-R!N=6QL70H^/@IE;F1O8FH* +M,3$P(#`@;V)J"CP\"B]$(%LY.2`P(%(@+UA96B`T."`V-CD@;G5L;%T*/CX* +M96YD;V)J"C$Q,2`P(&]B:@H\/`HO1"!;.3D@,"!2("]865H@-#@@-C,S(&YU +M;&Q="CX^"F5N9&]B:@HQ,3(@,"!O8FH*/#P*+T0@6SDY(#`@4B`O6%E:(#0X +M(#8Q-2!N=6QL70H^/@IE;F1O8FH*,3$S(#`@;V)J"CP\"B],96YG=&@@,3$V +M,0HO1FEL=&5R("],6E=$96-O9&4*/CX*TB"346?C26E2KQ>"1-**[\OY!G.#Y)`R]+^W#GCP.#FAF&^'CG.;(B^.XTTR-XZ +MCH+XYC@X]+6A+>BQRHX<0+*DK!6ZFAR9+H6SBH^&)=*"3VK*PMY:L<;XN^D@ +M2#N4B1=(_!B-N^+R@&$I)WP`4"[+&AXMHV>AECB7)^H7`3/-+0!1-DW3\P\Y +MC/0O33Q/59L)TU!3@PXWW@S(W8EV;0N94-1T:Q8N!0.8N!3TK0V/U7BCC%J0 +M^2%`Q#DXXUQ%AXZ4OTUCTF,=*V*P],TWWM`C15O7T145%^$.GB>-Y';!1[W7 +M-#5GHU?6,]S[^(]1(-[T57!E("],:6YK"B]296-T(%LW +M,B`V-S8@-34X(#8X-UT*+T)O7!E("],:6YK"B]296-T(%LW,B`V-C0@-34X(#8W-5T*+T)O7!E("],:6YK"B]296-T +M(%LW,B`V-3(@-34X(#8V,UT*+T)O7!E("],:6YK"B]296-T(%LW,B`V-#`@,3@S(#8U,ET*+T)O +M7!E("],:6YK"B]2 +M96-T(%LW,B`V,C@@-34X(#8S.5T*+T)O7!E("],:6YK"B]296-T(%LW,B`V,38@-34X(#8R-UT* +M+T)O7!E("],:6YK +M"B]296-T(%LW,B`V,#0@-34X(#8Q-5T*+T)O7!E("],:6YK"B]296-T(%LW,B`U.3(@-34X(#8P +M,UT*+T)O7!E("], +M:6YK"B]296-T(%LW,B`U.#`@-34X(#4Y,5T*+T)O7!E("],:6YK"B]296-T(%LW,B`U-C@@-34X +M(#4W.5T*+T)O7!E +M("],:6YK"B]296-T(%LW,B`U-38@-34X(#4V-UT*+T)O7!E("],:6YK"B]296-T(%LW,B`U-#0@ +M-34X(#4U-5T*+T)O7!E("],:6YK"B]296-T(%LW,B`U,S(@-34X(#4T,UT*+T)O7!E("],:6YK"B]296-T(%LW,B`U +M,C`@-34X(#4S,5T*+T)O7!E("],:6YK"B]296-T(%LW,B`U,#@@-34X(#4Q.5T*+T)O7!E("],:6YK"B]296-T(%LW +M,B`T.38@-34X(#4P-UT*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!; +M-S(@-#7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@-#8P(#4U."`T-S%="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*,34U(#`@;V)J"CP\"B]$(%LQ,34@,"!2 +M("]865H@-C4@-C$U(&YU;&Q="CX^"F5N9&]B:@HQ-38@,"!O8FH*/#P*+T1E +M7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-S(@-#0X(#4U."`T-3E="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,34W(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@-C`S(&YU;&Q="CX^ +M"F5N9&]B:@HQ-3@@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LW,B`T,S8@-34X(#0T-UT*+T)O +M7!E("],:6YK"B]2 +M96-T(%LW,B`T,C0@-34X(#0S-5T*+T)O7!E("],:6YK"B]296-T(%LW,B`T,3(@-34X(#0R,UT* +M+T)O7!E("],:6YK +M"B]296-T(%LW,B`T,#`@,37!E("],:6YK"B]296-T(%LW,B`S.#@@-34X(#,Y +M.5T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,S$V +M(#4U."`S,C=="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,37!E("]!;FYO=`HO4W5B +M='EP92`O3&EN:PHO4F5C="!;-S(@,S`T(#4U."`S,35="B]";W)D97(@6S`@ +M,"`P70H^/@IE;F1O8FH*,3@Q(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@ +M-C4@-#4Y(&YU;&Q="CX^"F5N9&]B:@HQ.#(@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@ +M,CDR(#4U."`S,#-="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3@S(#`@ +M;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@-#0W(&YU;&Q="CX^"F5N9&]B +M:@HQ.#0@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,C@P(#4U."`R.3%="B]";W)D97(@ +M6S`@,"`P70H^/@IE;F1O8FH*,3@U(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]8 +M65H@-C4@-#,U(&YU;&Q="CX^"F5N9&]B:@HQ.#8@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!; +M-S(@,C8X(#4U."`R-SE="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3@W +M(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@-#(S(&YU;&Q="CX^"F5N +M9&]B:@HQ.#@@,"!O8FH*/#P*+T1E7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,C4V(#4U."`R-C=="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*,3@Y(#`@;V)J"CP\"B]$(%LQ,34@,"!2 +M("]865H@-C4@-#$Q(&YU;&Q="CX^"F5N9&]B:@HQ.3`@,"!O8FH*/#P*+T1E +M7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-S(@,C0T(#4U."`R-35="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,3DQ(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@,SDY(&YU;&Q="CX^ +M"F5N9&]B:@HQ.3(@,"!O8FH*/#P*+T1E7!E("]! +M;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,C,R(#(V-"`R-#1="B]" +M;W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3DS(#`@;V)J"CP\"B]$(%LQ,34@ +M,"!2("]865H@-C4@,S@W(&YU;&Q="CX^"F5N9&]B:@HQ.30@,"!O8FH*/#P* +M+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-S(@,C(P(#(Q-B`R,S)="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*,3DU(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@,S7!E +M("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,C`X(#4U."`R,3E= +M"B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3DW(#`@;V)J"CP\"B]$(%LQ +M,34@,"!2("]865H@-C4@,S8S(&YU;&Q="CX^"F5N9&]B:@HQ.3@@,"!O8FH* +M/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN +M:PHO4F5C="!;-S(@,3DV(#4U."`R,#=="B]";W)D97(@6S`@,"`P70H^/@IE +M;F1O8FH*,3DY(#`@;V)J"CP\"B]$(%LQ,34@,"!2("]865H@-C4@,S4Q(&YU +M;&Q="CX^"F5N9&]B:@HR,#`@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,3@T(#4U."`Q +M.35="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,C`Q(#`@;V)J"CP\"B]$ +M(%LQ,34@,"!2("]865H@-C4@,S,Y(&YU;&Q="CX^"F5N9&]B:@HR,#(@,"!O +M8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O +M3&EN:PHO4F5C="!;-S(@,37!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@,38P(#4U +M."`Q-S%="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,C`U(#`@;V)J"CP\ +M"B]$(%LQ,34@,"!2("]865H@-C4@,S$U(&YU;&Q="CX^"F5N9&]B:@HR,#8@ +M,"!O8FH*/#P*+T1E7!E +M("],:6YK"B]296-T(%LW,B`Q-#@@-34X(#$U.5T*+T)O7!E("],:6YK"B]296-T(%LW,B`Q,S8@ +M-34X(#$T-UT*+T)O7!E("],:6YK"B]296-T(%LW,B`Q,C0@-34X(#$S-5T*+T)O7!E("],:6YK"B]296-T(%LW,B`Q +M,3(@-34X(#$R,UT*+T)O7!E("],:6YK"B]296-T(%LW,B`Q,#`@,38W(#$Q,ET*+T)O7!E("],:6YK"B]296-T(%LW +M,B`X."`Q-C<@,3`P70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C(Q-R`P +M(&]B:@H\/`HO1"!;,3$U(#`@4B`O6%E:(#8U(#(T,R!N=6QL70H^/@IE;F1O +M8FH*,C$X(#`@;V)J"CP\"B]$97-T("]'-RXX,C8T"B]4>7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;-S(@-S8@-34X(#@W70HO0F]R9&5R(%LP +M(#`@,%T*/CX*96YD;V)J"C(Q.2`P(&]B:@H\/`HO1"!;,3$U(#`@4B`O6%E: +M(#8U(#(S,2!N=6QL70H^/@IE;F1O8FH*,C(P(#`@;V)J"CP\"B]$97-T("]' +M."XQ,3,R-@HO5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S.#0: +MB`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQJCD0&R"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+ +ME0QS4J'<%%L4$,WG`4C$:B@\G(TFD;>A3(S32HT(;C48 +M"X"UIVMS[/>&JCAN$"ZIJ@C`"F-:*"2((6AL&@0"F-( +MVM>%`ZC8,(Z#>.00"D,HS,*THRI"-PQC*I(PC<%+8#J,(V)\H#M.XB26K8GR +M6ADE87!BEJ3!N%P9AG`ZL,`WK?M,X04.(&+2N0Y3F.-NPS2BG.@ +MY3?.-8K(LT#RZG891\&26R>GP<:`&T#0D&DR2,!04#P.<&A2*@U+&(TMYZB4 +MO)\B[*:`E.E:9!%36KD6S;+M&*[3;^IZJN(7!NE;_US4M-9)5\T7*%N-!ECJ +M!-OEMV5+F`965>(BCP-.<3E8=!!DXVS[5R7(\IM-KP(&J5R+D&R[I?TGD>5=/5>;=W6AIUX4"2-PYC@,HQ\6$`B0XX(6AR&U +MF>+]GA?;:WCAMEN.^9NF0_=1'H!KZ7Y;[ZJZW[/8:^]L*P:0RAW=J^1\P($X +M)Y"F$,)(25!)*>(_B"L%V++7>2J`'"HGKO/=`JUDH.'I0;5"RQU:NVCO;=B& +M]!J<5]&.,$&0S)MP;F[??#F"T.EKOR94_5=L&'H0D;T3!N#](4/79@#>`D!H +M$0P"F[@.2*3F0T*2&D/`939/=*&XH-">0YAS#*&T,0;`\Q5AJ#(F#$H=QM>( +MJPW:KP@#!EO;OV2I/>E)"#L28`LPCFS)>(4E\!N@2&%A+"V&L/-LTA]&\LG4\_-_[@9.NMDPA%>*%4XF=!:',Y[`92RG=Y*IT" +MV)6RPD7-52,&GJ22B"Q67"XR-PEFS)QE\PDT3$-*$,-"+`SP)1#.N92)B'(L +M-D$V,:'@\J"!J#*-DU)7S69&\<'+IB5HX@^I>;LEW1Q%H"Z!1V?E/6SN7E]2.`,U*30V>E0&D4XE2N%;VFL)X=D3!VB=(@ +MZ]'J?56?:M=I;IR..!I7NAT86&0.KXF# +MHM0C1NK%>:OK/JTW!S1.ZAU[<^Z$%%8Y=UE!FT"#E+)@+MH@S$M4Q4&A2QQU%K&@5,5\"@*\Z3'.W#J""F46@0+V"6 +M&Y>EU0W@@"K&)`X:`TD.":BQ&`;)5F'MU8)BC&5;DK8^]>2EA+ALG!I>UE=# +MK'.N!;_%2V-UM!0L,$`5C6AI8,QLKF-[6O[OW,5F +MSXW&FW/G7C-V@:.5]K1B^6V,;@V%;V]*Q6-J6X<0).6R,YPWAM#;/($`3$X( +MJ",ALAN:P:3[Q7F^-[QX3+IPHV7"SVKB6KSLU^U\H%?K!Q\T1+@"BN(Y*XC] +M^142BIBRZK(^(,%<%[!0%AQK5,I9`RID)`!;6/,;2*3!Y.3$$%Y+V\X(P:3. +MR(.-H+4FHY_HVL2Z8&!DK`3;KYHFL;^V]`TN2W*Y`+@;8>"B'5Q6?&I5FT!N +M+?V<'CM+T+NG0^*L+;UQH]2QD*;6ORTE;@*8==+&MC.E*S:*M[N*.9Q/`3CM +M^[AY`HI:]2&.T$J'NN^2$72&YE]0W1Y@*8)J9H&,D)T)3AEC$<[$M=HU&'W! +MS_"M((CZHI)N%D@,\+DO*,MI">=BC3EN7;&RI#KNHJ2D%=.`9%Z4Y.MJ'H'( +M<(/Q71:7-MI]$](L.N9^73+6'EP\L!%4[;PG/0_UC`2]%E&[[!WN;G8NV:II +M]T?I(,VERT[;,)[?<+N1B0_W*=X''^O^74EA%E4VEO0@L)TC&< +MO)-$IZ+!)L=!$R,<#SN[IY'R<^-1=\W_-A_WG+3:J[.]'5ON?#M` +MIAZCQ6G79/C"A(4YWK^YSP83[.:/7O,"H3+R@+_N76-5*>7# +MNLO4K"#S.\-OS/'^R#=&F:7T_X>9U-0+"=\/>>?T7JUT_I.7@H_$SP^(]47Z +ML2_4]B^>_:32GT_B]L?R_F@X]T[*L&A$Z0U8OH/BK0_X_`Y@OTN61"#F#2#T +MG8#*]@1,!`[LZT*(\D_:(<@0LVQ\9XV:1RH@:$:X!`:$R6*$C4?DVL*P:>R> +MRB2TV89\1R:(!DDW!TV"^PW_`6H,]ZW<9.5:=,\.>TSRUF[C!&^:[JZRNRGE +M!?"$RJR&(VR+!L,,;@1V1XV"!1!^V5""UNV7$.QT7B7Z0D7X>\K@KFS27R"(O"8$#"GN0BIW`8_@\TDB^N\LY1`F +MY4B*]'$\].MQ`&(X>ZF4#E%,KJ?)%40W%:DM$D[Y%D_JDF\]%NB(]$Z'`RX8 +M*,0(^&MPG0G4@2XN1`G4ZL.6=B8+%.LN#07H7R@;&[$6=[!-"V#N32!G%JZ, +MA"-VZ0CF7*CJ_"=,_&]0>Z#L1B#2-DAF14TQ'4E1'9$='>-N!K'C$FO28S`N +M8ZO?&<57'H_\?0Y6*,N,0,]*WK"J_*@43I':[O(4/)`C&5`6M&N,T,]V\"DJ +M-@[0!@>D*VN/([$^G.G23C&X]4"E&^.3'"#?'&KK'+'.@87S&Z?+)%(2-L8[ +M'D\PEQ'J9DCHCL_\WHUC'Z#='^8'($#>BM(*]5*2E-*6HR-A(HY,Q@ +MFNDK*BF^W>K.H&\.B9(^\4,$XX#(!>O&@;+&-P?5)1(<^J5K`@SA)?(O+>EX +MUZPT_Z*K)N_+"]#=!DR)!JUX=,)22>R63+!Z:@:E#8:O"_#?,H)8*`(%,Q"2 +M4)+V7S+&RS*=+-,`J`)A+4:<[0<+$&W@9::1+G*NMP[A,@R#,E#%,HL],L!` +M(_#3#6:K#;-^RM-$/B)1.*^%,T;K+NTNP%)'!1*8U#-=.W+8+G)@PNEZ,B8X +MX(_\RC$(;[$,]*A)(^">XO"U)(IR!R-+.Y,`48J`6U)9-;,+.],/`JL0DTX6 +M>O"HYD,"TK.J-D"8G41@#.\I/G%A/H4@M&M\@^T0L(!HPN.^`4(""F5N9'-T +M'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C(X +M,R`P(&]B:@H\/`HO1"!;,C@R(#`@4B`O6%E:(&YU;&P@;G5L;"!N=6QL70H^ +M/@IE;F1O8FH*,C@T(#`@;V)J"CP\"B]$97-T("]'."XQ,3,R-@HO5'EP92`O +M06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S7!E("],:6YK"B]296-T(%LU-"`W +M,C<@-30P(#7!E("],:6YK"B]296-T(%LU-"`W,34@-30P(#7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!; +M-30@-C7!E("],:6YK"B]296-T(%LU-"`V-C<@-30P(#8W.%T*+T)O7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-C0S(#4T,"`V-31="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*,S`P(#`@;V)J"CP\"B]$(%LR.#(@,"!2 +M("]865H@-#@@-SDX(&YU;&Q="CX^"F5N9&]B:@HS,#$@,"!O8FH*/#P*+T1E +M7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-30@-C,Q(#4T,"`V-#)="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,S`R(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-S@V(&YU;&Q="CX^ +M"F5N9&]B:@HS,#,@,"!O8FH*/#P*+T1E7!E("]! +M;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-C$Y(#4T,"`V,S!="B]" +M;W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S`T(#`@;V)J"CP\"B]$(%LR.#(@ +M,"!2("]865H@-#@@-S7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-30@-C`W(#4T,"`V,3A="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*,S`V(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-S8R(&YU;&Q= +M"CX^"F5N9&]B:@HS,#<@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`U.34@-30P(#8P-ET* +M+T)O7!E("],:6YK +M"B]296-T(%LU-"`U.#,@-30P(#4Y-%T*+T)O7!E("],:6YK"B]296-T(%LU-"`U-#<@-30P +M(#4U.%T*+T)O7!E("]!;FYO=`HO4W5B='EP +M92`O3&EN:PHO4F5C="!;-30@-3,U(#4T,"`U-#9="B]";W)D97(@6S`@,"`P +M70H^/@IE;F1O8FH*,S$X(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@ +M-CDP(&YU;&Q="CX^"F5N9&]B:@HS,3D@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`U,3$@-30P(#4R,ET*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!; +M-30@-#DY(#4T,"`U,3!="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S(T +M(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-C4T(&YU;&Q="CX^"F5N +M9&]B:@HS,C4@,"!O8FH*/#P*+T1E7!E("],:6YK"B]2 +M96-T(%LU-"`T-S4@-30P(#0X-ET*+T)O7!E +M("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-#8S(#4T,"`T-S1= +M"B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S,P(#`@;V)J"CP\"B]$(%LR +M.#(@,"!2("]865H@-#@@-C$X(&YU;&Q="CX^"F5N9&]B:@HS,S$@,"!O8FH* +M/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`T,SD@-30P +M(#0U,%T*+T)O7!E +M("],:6YK"B]296-T(%LU-"`T,C<@-30P(#0S.%T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-#$U +M(#4T,"`T,C9="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S,X(#`@;V)J +M"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-37!E("]!;FYO=`HO4W5B +M='EP92`O3&EN:PHO4F5C="!;-30@-#`S(#4T,"`T,31="B]";W)D97(@6S`@ +M,"`P70H^/@IE;F1O8FH*,S0P(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@ +M-#@@-34X(&YU;&Q="CX^"F5N9&]B:@HS-#$@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`S-SD@-30P(#,Y,%T*+T)O7!E("],:6YK"B]296-T +M(%LU-"`S-C<@-30P(#,W.%T*+T)O7!E("]! +M;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@,S4U(#4T,"`S-C9="B]" +M;W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S0X(#`@;V)J"CP\"B]$(%LR.#(@ +M,"!2("]865H@-#@@-3$P(&YU;&Q="CX^"F5N9&]B:@HS-#D@,"!O8FH*/#P* +M+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-30@,S0S(#4T,"`S-31="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*,S4P(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-#DX(&YU;&Q= +M"CX^"F5N9&]B:@HS-3$@,"!O8FH*/#P*+T1E7!E +M("],:6YK"B]296-T(%LU-"`R.34@-30P(#,P-ET*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@,C@S +M(#4T,"`R.31="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,S8P(#`@;V)J +M"CP\"B]$(%LR.#(@,"!2("]865H@-#@@-#,X(&YU;&Q="CX^"F5N9&]B:@HS +M-C$@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`R-#<@-30P(#(U.%T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-30@,C,U(#(P,2`R-#9="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,S8X(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@,SDP(&YU;&Q="CX^ +M"F5N9&]B:@HS-CD@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`Q.3D@-30P(#(Q +M,%T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O +M3&EN:PHO4F5C="!;-30@,3@W(#4T,"`Q.3A="B]";W)D97(@6S`@,"`P70H^ +M/@IE;F1O8FH*,S7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@,37!E("],:6YK"B]296-T(%LU-"`Q +M-3$@-30P(#$V,ET*+T)O7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;-30@,3,Y(#4T,"`Q-3!="B]";W)D97(@ +M6S`@,"`P70H^/@IE;F1O8FH*,S@T(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]8 +M65H@-#@@,CDT(&YU;&Q="CX^"F5N9&]B:@HS.#4@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LU-"`Q,34@-30P(#$R-ET*+T)O +M7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-30@,3`S(#4T,"`Q,31="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*,SDP(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@,C4X(&YU;&Q= +M"CX^"F5N9&]B:@HS.3$@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-C<@-30P(#7!E("], +M:6YK"B]296-T(%LU-"`U-2`U-#`@-C9="B]";W)D97(@6S`@,"`P70H^/@IE +M;F1O8FH*,SDX(#`@;V)J"CP\"B]$(%LR.#(@,"!2("]865H@-#@@,C$P(&YU +M;&Q="CX^"F5N9&]B:@HS.3D@,"!O8FH*/#P*+T0@6S(X,B`P(%(@+UA96B`U +M,S0@.3`W(&YU;&Q="CX^"F5N9&]B:@HR,C,@,"!O8FH*/#P*+U`@,3$U(#`@ +M4@HO4B!;-C,@-#4@-38W(#1HY`BI)!C`HO%[2()-19^-):5*O%X)%RH8YJ5#N"BV +M*#L:12+1E4QR*"H*1P,!0813C#$*1CC#891`;S,("&;S<=#+G3G@QB-+D.!1 +MFSADAJ*#R]:IVMH9L*%P;).]X:J.&X0+HFJ"+^*8UHH)(@A;`@0"F-(VN8%`Z +MC8,(Z#>.00"D,HS!2PXRI"-PQLL)HPCTRT8&@9*`\JA5VO]56`TUAT8%M^7\'"A672M`24&EHA13]0U&SL+ +M7",8TC,-(QW=>#SV#>^1WS?&39).%:5L&#RUUAR_Y17U@42PF#AG)6;URER? +MV99V(27+4GB=4448[3U0:(T#!AN%&2YCIVH9/>V55O/>76;7F3YG86:V+1M: +MZKG6&ZQ2\E!EH+&"F/(VC$-XV:-BFDU*T0;AE>FHZ?J6];S+NJ5SG6`Z;D>M +MT5B.O6.H^6YW2FR6?G&T!1$8Y[.HWCJAVU;9MR'4[H>V114RT +MZ9OF\=7K4*!M@M]O&&T$UV%`6AJ%(J#51H:5L\,$['9W<80W(4"F,:0L^I,7 +M#2.$.8^-SJTY:M3!FU?5;WUGL3;6@<;"E7`^S@?7,.&M%\//"/!PE7@T!`\F +M=O)\1C.-(YL]$(KC3:HWJ):W=\3VWM/:>Z"Y]3X&7M-@&UM\RQ$<*. +M*`GM]C/(%OO:`><&*3PIJB2FE@RYF7YOU?N"!_+^W^I16H&1TY&<.080VPF?T&1_CTH5J +MF!JZF&4,(L-05H#EA4"G&P-?)#EKL$4\,Y@JXQX2>8,EI@Y!XYX>80@@B/$F +M)<383Q0A2].%A@WK0OBO'^&*A77&F=Q#1V3M&'.V;.[IWB!PG`0+E%`YV[-D#@U:M)&"Z1(UP;;3& +MZ$!F`027#I)F.\47_/4,&#DY,@)1S$!`OLG\KBD/A.O(.,4A8(ER@F>:(*S@ +M;&#*C$:)$2HF(60P\]#"5[X9T,RC"#9\\9&S2O?: +M7]1[\$G&,""'`.#;V/3A!:$T-X9#+*=;4_8,H;:!T%,LA<-LX%WSB!C`&<\Q +M6M0T)^^I@$J'QJ'--/*""Q@:4;3VPR:J@%'Q$GV\9""%@ZS^1`;(,R(%/3^H +M`]"AM!HY3;CJZ<&,GZ,5#7ROL^*N)$1?<'/&>:QFP-_B!&BE4:GX1LGY3ACM +M.J"4\0DA0D\&-:9V3+E0FRMU<'#PU3V2V>];Y*4M0>12# +MM,@Y4TIM0DSU#*_6"K#"TQE9[40PL4>6I*SF8M;LA&16S.:HR2GQ+*JLM'C! +MYH5:*AP(*NH5K!3]+1AZS7'=9%M[\-[7)TMA&.IT7)E1GMM98\;D+04+IW7] +M"=@;AV$N+*"Q%R&37*NGX&]53+V317[*:ZD"U'L1DJ$U^J,S7AN#*=274F0@AC6X0 +MX*D2S4JGJ%>/$D#6O`S>\RQ]=Z&!2IJ9?-]&*3RX-KJK=B5WXFA,#>&$,C^@ +MSKQ!E)^U.);R3J4@GS%EXL7*',//+&$9"C3*4E2FV[[W(!(BBA\$&.L>`@DS +MCB/DY,B9C?%`>Q<7KFJ]N?D^IV*;WV54?$.[$MHX2XQQEO'>/7+2=$VT.ILL[Y2N=PBAX#*&/2]$]0:WS+B>E<[8%U#N?-"IV +M49[94LM/G.:G);F9UAK+6DX<^1[/.#*$Q_0=0\9>6J4D*8+0B!/"FIX(022'W\>@O$&&`-J;Y3/@3%>!HKM;!O4UK +M[OLW[@@S2T))G44!RIC.%4RN-QM]8\M:Z/6OYX2]FUTNK]"!0K;"%+<[ +MA)!>$_(&(^:=3@*K2(?'ZV:!XWFS@)M1)*F41R=W5$OJ&!N8P'''$`P(3V1RRKWI]*:#0B[P3EX1T*#DZ+=(3: +M%H@C@'=<@:%/!S#GA7F&SX6S#\<]A??BCRE;P-6[R?/F$$_;^5OS*2Y9QMV1 +MG4S(0?7>P5)[(T1*?"^'\=,BN>_O'S.][7$G]B[*;$\U7?2&L8F3_#*0Z7'R +MO7AGY?\V7^T`CT@Z +MD$0.1*8X;'R7*3"3QP4!:0GX&PE4*)(A(Q!8O`O1@3]KF0TS^,.BI<"4'!@XT8^4-$'K_SLBG +MR;H(0D(,(-8.`-Y_1N8PC(,%\.L&!6;73RR4[^R=YK$.YA!FSH$5KX:Z[_Z2P,HX4%<4 +M40<0L0YI0P@&<5,1L8@Z[$[4D5KQJYR,+R;8!K\9":D39[PHS_S2#\7L4T8!/3Z,!4BA7[$Y`Y]1JY9R\<2H%K< +M)]`HT3,'I)2W*#D3\%L&<'IX:EH(A40.$%;T)^\$HI+TZ$#+23((P-(RHP +M9] +M,84YLQJY*C4I$V4R:`,ZRN+W$S+X;<*2ISYMI&@*@,(,0RLQ(&LNDYTE3,QQ +M4Z9ODVI1@[H!0@(*96YD'0@70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R +M-2`P(%(*+T8X(#DV(#`@4@H^/@HO17AT1U-T871E(#P\"B]'4S$@,C8@,"!2 +M"CX^"CX^"F5N9&]B:@HT-C,@,"!O8FH*/#P*+T0@6S0V,B`P(%(@+UA96B!N +M=6QL(&YU;&P@;G5L;%T*/CX*96YD;V)J"C0V-"`P(&]B:@H\/`HO1&5S="`O +M1S$R+C$U,#7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!; +M-30@-34@-30P(#8V70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C0V-2`P +M(&]B:@H\/`HO1&5S="`O1S$R+C$U,#DR"B]4>7!E("]!;FYO=`HO4W5B='EP +M92`O3&EN:PHO4F5C="!;-S(@-S(W(#4U."`W,SA="B]";W)D97(@6S`@,"`P +M70H^/@IE;F1O8FH*-#8V(#`@;V)J"CP\"B]$(%LT-C(@,"!2("]865H@-C4@ +M.#@R(&YU;&Q="CX^"F5N9&]B:@HT-C<@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LW,B`V-SD@,38W(#8Y,%T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-S(@-C8W(#$V-R`V-SA="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M-#7!E("],:6YK +M"B]296-T(%LW,B`V-#,@-34X(#8U-%T*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-S(@-C,Q(#4U."`V +M-#)="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*-#@R(#`@;V)J"CP\"B]$ +M(%LT-C(@,"!2("]865H@-C4@-S@V(&YU;&Q="CX^"F5N9&]B:@HT.#,@,"!O +M8FH*/#P*+T1E.#0:B`:#@;"`6C.6R&1BJ+"` +MC@J.$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQJCD0&R +M"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$ +M:B@\G(TFD;>A3(S32HT(;C48"XH@TCP491-5C6E?T<)?)J/!Q!%-6A16 +M$VI,\I"H-#,W_'*A1X!2N1\KCJAL%RHA`&P<*-(TD4H^884XO84#.-\/A2*@ +MU1S'<$QZG:VK;GV7R/J^LR/!2\KW>]28GB>&X?B+IKC1>5YKP>5<)6F;V1)^ +ME!;)H8*I@N@T_3=-R@PS2Z/I,<+)IFU:=M@0:B&VIZJ&P;I_K4%!;KNO@4%` +MTQ+LVT)]SH8Q]MJ?!OJ;ZZMTTB[HNT$[O1>\U-*`9AI='"^5P7E\-=-XTV^J +M.9G1E]T=G&%<6&@97FCF@8/H4BX748WRLZ`Z(=CF/5+4^13,&09!OY/F?IYW +MFUO74EANE=#_!>[]F;/67Z]EG2K$F/\<@_Y:3+WQ@H""QT(H>`PAM#@95FD*(A0@7PRT^;`R6O49.X@EZRGMJ7/2L^!004H`W-W!=$2 +M)$4'016E`W[@8/1$C#&--ZNFIL]5_`J,2Q#;/[?DA)Q4!8SJ%2.]^&(*`A-_ +M!F"A$89PTAS.>B$)T$V1JA-+$.,D:Y%)T5T@90C6(2K1D6X5:IUPA,Y8`D:$ +MT(H30K'V/\@4S`Y-+(F5DB%\R-DW&F.\KD]R5CQ)A2@,TFR +M/CK%*.X0X]`H6Q($-R,P0!6-:MP,1R)!AMD*XPXTK9)S3B6THF#5"5KUC5-1 +M6,M@ARX8#`=@DG5%!#E`UB81SD43%1I,@Q3#E5&V-W-*>DM$^2PA=-J6;\<9,R[4*A6E(9G*R-H-'Y!$EP>$!1`0IE;F1S=')E86T*96YD;V)J +M"C4Q,B`P(&]B:@H\/`HO4')O8U-E="!;+U!$1B`O5&5X="!="B]&;VYT(#P\ +M"B]&,B`R-"`P(%(*+T8T(#(U(#`@4@HO1C@@.38@,"!2"CX^"B]%>'1'4W1A +M=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C4Q-"`P(&]B:@H\/`HO +M1"!;-3$S(#`@4B`O6%E:(&YU;&P@;G5L;"!N=6QL70H^/@IE;F1O8FH*-3$U +M(#`@;V)J"CP\"B]$(%LU,3,@,"!2("]865H@;G5L;"!N=6QL(&YU;&Q="CX^ +M"F5N9&]B:@HT.34@,"!O8FH*/#P*+U`@-#8R(#`@4@HO4B!;-C,@-#4@-38W +M(#$&(TN0X%&=.&4&HH/)R-)G-!T$!<&0U@0R&&[$!(,N4&@H.^7.A +MT%I0%(S&./,>4'(H-9A.0IW0H,F<-XN%)=*A*!1%L,,K`W&U&C@TI&%H4R,T +MTDT7&XU&`N'-;J]O^/S^M7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;-S(@.#(@,3,U(#DT70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C8R +M-B`P(&]B:@H\/`HO1"!;-3$Y(#`@4B`O6%E:(#8U(#(S-R!N=6QL70H^/@IE +M;F1O8FH*-C(W(#`@;V)J"CP\"B]$97-T("]',3`N,37!E("],:6YK"B]296-T(%LW,B`W,"`U-3@@.#%="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*-C(X(#`@;V)J"CP\"B]$(%LU,3D@,"!2 +M("]865H@-C4@,C(U(&YU;&Q="CX^"F5N9&]B:@HV,CD@,"!O8FH*/#P*+T1E +M.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8#@0'<0#,72P0$T0% +MLNQJCD0&R"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2 +MTJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TFD;>A3(S32HT(;C48"XSRC6CC<076:H(P`IC6B@DB"%H;!H$`IC2-K7A0.HV# +M".@WCD$`I#*,S"M*,J0C<,8RJ2,(W!2V`ZC"-B?*`)CH.DB26K8GR6LB'*CO +M(&0;AXP0"@Q5.#D/-A36GU"SI-\XAE.:+L +MI&@8I:&R64?/D_4!02R4(M%#)W)P0!D&5%HY=P;7@K%(BO,PR#>.[D!:J(45 +MS6]=8AA^)8=BF(XKB=45XV%@!G83;OU8R.60_MEL!9L08Y+MI3`)@WC",DS# +M/2UK"X&=^7`(UR26!2N1@KE>QH]-&AN&F!6&\X862O844P-@V#?0,CWK<5[W +M)&%R!E=B@*X&VB:,O*]L!FH92K;8WC..0PTKC&V8OMV+;AMNXXIC5?A:&F/! +MCHKF*YD=E68XMG6!HMHAQ:=JLRZ,U++JDW73!A1;5)[1M008*-V#CO:*U8;N?;[EW.W]UW#:\4!09O +MT&@/)1T:5RKOWD9/+;]<+P],9Q-FJQA.$Y41R7*QXZ5U=/+86\V!"4F1$_62]-P+*$#LJ<,F!Q#VGUO=<@^`PSXE&@S3T_-'B +M\G-KT?4SM]B^@8NB?A"9HRD4+AG1\AQ_+L7]JB7X_Z`4`("1!B(W&`Q^CE/% +M)VW\P"NU1`Q8W`]W[=XD)2>C!1DC@$A."!:CAZZ8`AAH1%#A,[,T0/V3'#MV +M0(`B&^#@A%;YMWB.JB+$*.T15A`T3@#`E9_(%J1B)`X&SS8]Q])=%B)B6(+I +M;2G%]:BUHT/X=A&L*8:&$,QC,S@H3.V>D[*XN=HIAE&MZ:,"UI#2GS&M#.'9 +MSC4X7*':PX8H"52--%?*V!\P(%.RM"-)M0LG2+E<-(WM/$I'RRF*!*@%`90W +M!V,)"Q>SCGVE%,BCERTQH4%\;"ZH*P90QH3#DPI.AAXZSEB'`V)ZOE@2#BG- +M4W1*7I1:2TL!&DCG$1L?O&IA""I+!W9C)ISTP`02?>&"XJBC6DREE.?UI;,N'52[A9+Y>]`I/@X1H>6B]"IDT,?-,R9TO)HN?FF +M7$\ZC`;4)EO2A2*8C%)G(,JFE..QIV&Z,QLU*5C-D$A'R%(XEJ- +MW.>I#$ZE-V!NL(*A-&32+6`6JJSV(SSYJZ42K\_DST`DY1*@B-*#@U!O"=*T +MR&DTH-,'*5=+*(N@7V#>BI`K'60/]1J73L9>4>))2!?=(@74DL_2:R9>J4S- +MF>^FEL+WP4P!!!"F$,)(25>`TB!7*H[;JZK`!Q4TH +MQ+(K@N@K/*+A&Z_I@"4'4-H<),*71`V9UJE;!J6#?6<(098R!NDP<$J]6PW! +M3]1\!R?61,!9TMV!R\V_[PR!3QKW5-+8,2C+1JO(^ +M\;K&TWF?U82?LF#!!D1`A*]5[$S7NC+?!3B9KZ7VOP#*.ES,7*SCRP$&N"HE +MO(5-<\%N!XIES>?@&0]UHLX-GF;=PAM\)SWO)A>?6&JP,R?P$(D(80UAP#>F +M8QV(,3WSOK?>'R8+]XO;??XH#P\:P,5>;8N=2TZ8(S&WVJ-V*J/6R-8`$&4` +MRY2RIE8$!O3?Y+R_G^_D!7?G,NLE)%^0:C1#S0E%NQ:GFGG!EH;']U\A798# +MA+.@5$.!M3,B?/P00S!TAU>(Q[-@9,X9U+^Q5FR?X^,E:`K%DIE--:?9B5]$ +MFL)2*!9Y7K7Z;7U9LV7"SKC?(6#JB.'P-]$Z`S!4ENZ[M&ZGG:G"F>"\WZ5J +MI%[.=6'$HM7#K=Q[WV=.3*`2D\S`7ROGA7;2S,TX8OOL\##=$V755:JYAF76 +MH=1LTU-+S5-']5HW/UC,$&Y[7:S#*TYJ%$-P4O!@L5!/!K>3;;'L)L^2MBA2 +MV.[2Y6S./9GV?FK:2+8?'H01I/1#U*^R-VWA1$.]X>%$U!J)"J%S3AHO"M;. +MV>,JANRN8[+(*\UL+Q9LWCV,0EW-.C6.X[8#@#:V0)$\JCE=O"D'N&O +M>7/"+?VEH#JN$Q1F;=A[;K&A=L`499[,]S7!%SF-%.YX>;25^A`P?Y?K0-SN0 +MZ-;Q%,W5UH)]4JED,RG6(.N_V_V=-FE#"&7:_9[I[?# +MCN*%>Y[Z0K&&,?.3,T=\"SZ:B.,R>RHK-G65E`TVS<[PU?1ND<&Y)5[NC.O_ +M>PY-<;;T7FH&M3<9?:P9(K!RP&L^H>SZIQG6X0[CA(2C6#YO:\,]8 +MLTW>[4)4*DAJ=4DBS\8*P\5`-D0FGXGVN(N,N0R(!BQ:X^_*;F_.T:G8Y(JJ +M_RQXW2_ZW8^LA$]R)5!:FR?JL$WP[H^& +MC$3.^,U*7X,PX4!8*&0H#8#(XJ04M^G^865)`L@!`RK[`V.F-N:0=(_:ZLJ< +MTPVXZU!0ZXK,O.L*DP1$\`L2^47ZX& +M):*I#6LB\2:6#*#LJ&_\\#R[B#;"&":#>3*#-%9%<#+%@_H>VFE"\ +MHFEDX(!HJK!=%W!A!0^N[!'F^>4@=5&*YI&00_$LV5&;&>;:KK%(Z>Y(JI(3&XVXK04V4Z!:4^VZ<7':I='>:PUZ44**UTW2#%'L^K'PHFAHI%)`_W +M&)&,#E("5"*D_)(-(+)I&B;N;R8"7-@!F6"BFUZ*C&P]*6=*_ +M!&96ZS'8W;(Y!7#"!F:]* +M=-#)*>E=)-+M#2)A&&=4".F80XT]*$]_,#,&?X-A*U,1`M,4@3,:T0>5*Z!1 +M,BS8(],M+))[*^R++3!+(S+9*1#`[`>#'X7C))-/*C!E-4?E*P",:>0DDP"@ +M[\^_-F6U-JR,5],/-Q&:@-$*>()3,:QD)6GA,P>I*^SE.4_G,].; +M%I.?*JAI+E#,MM-3`$-U)6=4"G'`U$4K-E,!/&5`PD5)/1//*W-W,8S*D`8S +M.!/BQV/U.),O)XVQ)\TO*!,[.8_M/\]@FI*O.G-,A;-0[2=(9M1:=2!`0*)> +M(Y0<0Y-I0BCD3!0I-S)J=^>"H,>)-ZP'-^:S*\BDY(>#F#2#T0X!T/Z6L"F +M4X:#PSJ,\#N#*F8K."F#&4F:=%:G"OQ$Q2$T5/A2;"FI'3/2D2U*^Y9 +M/U(P21,^A!14A(-(\H!13$MJ[01B8#,***II!L=51V^`WPOHQ`"H,&Q4)?$Q +M2#5DV;/41R!@@/0S`J2[27."0/.&2E1"NO,R1!*^GJA94N];2V+:>"7W$O-+ +M+G.K+J]>;V1E6:R5]2H8\2F.4):GC6')\JJEY60W#64)]681N_V[+ +M%Y#.Z]6HLW00;'6U7BO*S]#@C+1PY.6W'4#2#'.Z#>K-$8YV[ZRLG$LY5U0J +MP)7Q5ZNBBG7X+G.-8!*^K]8'/[8,P@)27/1J_Y4\W:A@QFH,1D6-`+8E6W7E +M6ZDHPW8P0,\*PZ#+"&U)&*-^#D#JF^#39`6T[\0Y"'$8[VSO9(Y\=I,,D"B> +MV56+7W,77\S?9D_$-K6/9M"_81:!0%890)6G:"7W;G5-:+8HR5#?:49D"2:< +MO8T]:DM_:J3+9`G$(W)E7LN;`S9F\Q9=;39C/NR-;.5-9;XR2==;^R:!`"J#<1.:?8\U$-D"F#A&2!`0H!`"%42P(Z;9F!C>/9A7_< +MA%80U[;I'O3);O>M?];W6R(=>VWQ8N9E`/'^0X#@)#=BET(=<-:I:M:P"$V. +M#(,Z847Y()92B=?D6)?K;5)Y;8:U?U"[.=80WE>E@!6D;A3/]68 +MBA3`?-9[!C2X2F9^!SBO6QAK(FK4S]56,<"%'*0F#;5>PA7KB#<7B8CX<->32F.]10SX,'C??@=W5K4WB.2OA`T99F_2QV:+2A6"BS8`!I%+BE%E-# +M9P)\^X[)D-6CD1@$3GEE+T(?#^#81,3*C*"*#Q@>2)3=<50EDSC=F2KI2(/U +MB*.55R8L;KE7,D6&.7B;E0;_E5&WA1E=A5D'`)?_D/;MAA;P,-8CD;05DADD +MSV1]AZA]`IDWF4B#D[B-5R;I.!E6\_2=E,)7FP678`!KE9P]$M/-DU +MGO97H#FH!;9?A)6$>IH"6AE;*/BID'#'G#EKG'=%G+IO@+C#HC8MHI@:#DTX +M#Q?$"'$;HJY/HQHT#%HXK1I(R(Z+<1?ND7JM +MJ[!/J__LHYI:H#A$K$Y&9KR +MCNCR.V2DD[OIFBP+O]&GFKPU)3K^P=Q!L$M,9XU7EA-(F/#YBP#)$K>GN^,, +MIB7:\HM%AT-D">#J#H#AQZN$1'IG(W*0;)B(:YD+MOA?*F=&4;-9POO=455Y +MO]FH.J`4("`*96YD'0@70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R-2`P +M(%(*+T8X(#DV(#`@4@HO1C$P(#DW(#`@4@H^/@HO17AT1U-T871E(#P\"B]' +M4S$@,C8@,"!2"CX^"CX^"F5N9&]B:@HV.3(@,"!O8FH*/#P*+T0@6S8Y,2`P +M(%(@+UA96B!N=6QL(&YU;&P@;G5L;%T*/CX*96YD;V)J"C8Y,R`P(&]B:@H\ +M/`HO1"!;-CDQ(#`@4B`O6%E:(&YU;&P@;G5L;"!N=6QL70H^/@IE;F1O8FH* +M-CDT(#`@;V)J"CP\"B]$(%LV.3$@,"!2("]865H@-3,T(#DP-R!N=6QL70H^ +M/@IE;F1O8FH*-CDU(#`@;V)J"CP\"B]$97-T("]',3(N,3(P,3,*+U1Y<&4@ +M+T%N;F]T"B]3=6)T>7!E("],:6YK"B]296-T(%LU-"`W,C<@,C4Q(#7!E("]!;FYO=`HO4W5B='EP92`O3&EN +M:PHO4F5C="!;-30@-S$U(#(X,R`W,C=="B]";W)D97(@6S`@,"`P70H^/@IE +M;F1O8FH*-CDX(#`@;V)J"CP\"B]$(%LV.3$@,"!2("]865H@-#@@.#7!E +M("],:6YK"B]296-T(%LU-"`V.3$@,3$W(#7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@-CTB"346?C26E2KQ>"1,(R#* +MYDIQ@Z:QK+`,;)V&07(VEH8HNU3TLRCL=Q[`04#G`X4BH-491I-2)1NMDY!L +ME0;SN&)564`UK +M(#)5Q(B7UW),ER:D,2"$D(PC6.`WRF.@YA8C&6!EED3.8&.6"LQ0TC$VX06Q +M&,T6Y>=O3E<%Q7N'&).RCH8/U/"KL!=MWT!GTUQO;P9AAB09/YI-^P$OXN!F +MU2'2O+,MRZ*\IC(-X[L$&3P4=A&WX/N.$U1ADBAKB#5*!K"7)_6=:A16\AR+ +MB6GY[&MZ:#-Z?+8PP052_VE@5IL^3]J'#Z!'"?)@%RY<<'/(77'X4:]L`09& +M,N2Y/E,O,4QFS#=M"B"F-&TV<$$$P6D^8]O!6O]-DF390-V5,$'#?[A@FY5% +M4^%X;!>(!P%P9<[BM:5MC/!!:_S+X]7S96S&2A<.K<;JV&(9O\&"586HW(A: +M](85FO4]#R-HV=;PL9ZCQ',L,GZ=7V-;+J@%^8(`GAU#H'"!`(`S)80@Y5PR +MW4;IM<4MYK`-D>$"@"Y%R:[H(/Z$N!P9R9X-H;7=F19RA8Y +MH;PVP*6.9!FX;TJ!C#&10)P=0VAB1`99B*2X7PRC0J1YC#(;O@A*"X[*`"\- +M_)>T\ZH"B`@*96YD'0@70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R-2`P +M(%(*+T8X(#DV(#`@4@H^/@HO17AT1U-T871E(#P\"B]'4S$@,C8@,"!2"CX^ +M"CX^"F5N9&]B:@HW,3D@,"!O8FH*/#P*+T0@6S7!E("],:6YK"B]296-T(%LW,B`V +M.#(@-34X(#8Y,UT*+T)O7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;-S(@-C.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8#@0'<0#, +M72P0$T0%LNQJCD0&R"S0A%0%"\C1R!%22#&!1>+VJ +M.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TFD;>A3( +MS32HT(;C48"X&X7!F&.$0SH.3GMO+@4!<$`04A25(TG2U*TQ2E-4O3 +M=,TY3]/5#248NRJ@7!E+JN+R(D#5%3[H!B'`4!HE]2`4%M350'"N30C@J58P +M$QS+$H;S16$VMX-(W#J/$'CRWXRC:V<6#8APICJ.`X0R.@RMD,0\P?!+;-P& +MP45=<].W34%U71==W4Q6P:!DH"5P%5=6W?=5CA18H95M7%YAA>J7)_7U@!18 +M4S7[-,UV0WMEV:*=GVY:0AVHAP@C'$@X6Y;PZL<)(SC=#-NA!;]PNJVX8AG< +MUV9=?.87;F007BK==IW7\#9A6%97[?]3(]F]>N'@^$V(E^&38THFBF%HB">* +M=G6ABN+L>%%E,N,H\#",@RC'",6"X%,'VQ;0Y8[DUP3>VP:MWE^9YCM^Y7B& +MUZ55HF=4KGE^5K*+M+$@(`IE;F1S=')E86T*96YD;V)J"C1RG`C.1HY`BI)!C`HO%[2()-19^-):5* +MO%X)%RH8YJ5#N"BV*#P:32*1:,AC&A03#29A`5!2.!@*#"*<,V-10>3D:3.:,:7!D-8$,AAMQ`2#+FQH*#OGCH=!:4! +M2,QCEC'FQR*#683D*=L*#((-,+A272H2@41;##*P-QM1HX-*0+1C0ID9II)H +MN-QJ,!<.:W5[?[OA\JY7H+W;5.[:XP;OBCCW!JHX;LBNJ!K\%`IC6B@DB"%H +M;).*8TC:Y04#J-@PCH-XY!`*0RC,S;*C*D(W#&,JDC"-P4N6.HPC8GR@"8Z[ +MLNVL*`@*96YD'0@70HO1F]N="`\/`HO1C(@,C0@,"!2"CX^"B]%>'1'4W1A +M=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C7!E("]!;FYO=`HO4W5B='EP92`O3&EN +M:PHO4F5C="!;,3(U(#,V-2`Q-C<@,S7!E("],:6YK +M"B]296-T(%LS-#`@-37!E("],:6YK"B]296-T(%LQ.#<@ +M,S`U(#(R.2`S,39="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*-S8Q(#`@ +M;V)J"CP\"B]$97-T("]--BXY+C0R,3,R+D-H87!T97(N,BY/=F5R=FEE=PHO +M5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S$Q,"`V-#$@,C`R +M(#8U,ET*+T)O$`DB"%H;!HX0TC:UX4#J-@PN +ML.00"D,HS,*THRI"-PQC*I(PC.M/!0SK6T2&5%A0-`WM2S=),..@4M+5E%4 +M8.HYLS6H43A5X4#$/-1LRPP4#PS04#*,;JS/48PU&,3%157HZ.JZ\ZC8VM=" +M#6-=4=7-4,.,HW#)48WQ7;@T6]2=&VH[`V4[7505%70[C2-CM5U4HY5/=0[W +M0D-1NM.Z:O$%R."H(B_U(-XWC6VP9LB%#?X<&5&4=2&)L.-L:#K.R7X@,SKX +MPV+/##>KDXG1@R#*.8QL53`TC>-U(X\P]RY%.`N8>&H4JB%&9X?1C!Q=$N84 +M3G337%D0QC>-N-7$.=L:/1`Z#D-XR#J,<36!CU&-_D`Y8TWV8Y%L>:5VY^48 +MCG^(#@D(6X$*B:,!7`W.0V3?MG2U,1<$`9!8Q^'AD)X[,+1D7#L-+,X@.^36&;8#G#\1Q+E;C=_1MT>,V$,PV&GC.^UM*C2Y&LC +MK?_?-A&EQ^PTPV#G6G'-A2V9_#4D/^GD_N#F.HX#@Z]M\<[^O^5GWA=;9?N> +M9A_Z;:-XSAR#"&UJ#]'>OE#D'5F3SP4-E?*_H&3]`F&_#JL4\IYVXL)56'-^ +M`.#OAS#S!H,L`EL'>-@%DPH,59JR1$<:#@*`QHTA8;!6ZWH6P%!P;!^::X6M +M.6,UL[QWPX/6?&Y+ +MB?L&808`*\O):!D58XLX4'SD!M!`X18:+G@LQ!`N5T[?U?N`!D#*94*'NG/. +M`"!1S50ZF,C*"`,((`YP!#@9VE3*Z)AN;^W@,(8E0F..0&XJ\$I&@N!`$\-; +M?PZ!WE<'FGL"(NP0H3!V$PF+5"DZDE08L^56B-[9D32G9)"&$,D/C)*^ +MGQ55%='H`KU3J:Z1!I5Z*.JH\BL8*))O.K6:8.3TGJ+3>N9&JLLI$55C?74( +M=;Y+P`::_BOBI$:!G8X&<,LL#2J6=7*E8QF8].1G3-.=;?70`RFP1#`W4'H0!M7>:0&32'MFD-U9(U5$%P,.!A=>-]EPC +M393V`HKB4BN'2]F`9R3`SMX#=11NL8A4-:KM*J:8KG"(9`TDA:R==K>%60W/NOA"Z&$G +MK7@NO/JYYNJ"RH-_0B9$RL1*[H9"'!QIGV@M9566K:(PZ,_O";'#<5ZN)0Z!Y#@&EM]PSZ]\XR8@41JB?HR16E+N&EN\L?2]6Y:ZB6&L6B* +MR3B!BP;(NYDHKG:4KGJ,%%A9,ZN?6I63X87R:8L#I0,:)`YO!-1E!!QD4.L$ +MRK%UP(*<]YP;RAG7#8N//=_;6SL)\EDH +MY+3]19T.7R^])];!M-KGN:3E+7$^KFE)"J6:'2`W!OD:W +M!N73>$&'ZL\9BKR7?&ZCE(YQRMLZG6QT\3NDM&OMAYOW>WW@6<,Z9X8=\@,U +M&/K?:^_P,.7'&ZU_X[5_,>]@H"#S3FT#$L@H"$;\UL/O,-31=CPTR,?`A<\X +M$()(7`4]B-UV3R8;]OXQ67'J/C/HJM%U[P7JG<@TLJTOP59J:W1AS56')^"@ +M5UIT8[9[@O0]=?*X*J4,GP<3?'>120QGWNCV>!MTEYOWMY_>B)3'[U;>BWDW +MOQZSDUW:DJG>=XE1D;;6H#3LZU3/B=2_ZT"]ZV1#H&C_3D8%"$9T;1Q69>3Z +MB9+232[\J8C[R8YQ;[R9B!;[R&:?8&9*ZV;9*@*Y3*Q;HJZ.8QR.Z.2G1.`$ +M$%1[2`;>RU@B0CARPCA``&:#AW9+Q@IT`XQ*S\I-*M0X[W9'HC::K00R0GPL +MP&[0('(@4'*IHK#_C_R_D&;/S^L'#?L!((*)*JKYBA(S:*XTJ3@'"JH(PQ9Z +MR?`TH\(&*+<+XXCYR:,*Y*2:RSS^H&)W+:XHL+90L*8/"<;_KR+8T +MH-16Z#:JK-IAJCT3`TR%1&I8:'T3;MA?T3KS,4#D[IRPT-Z)$6\,#&**ZJIB +M3*#0)*P@394$@P$-"QBO:WL-L!:JH*Y=!4XC0%"`X-P-RQ`&S$9F3XI;T:S7 +M\:S6;Y2Z\3[2ZJH)QHB9#4,<"JH*I7$(<:P(KG34##;GJ5T="+H%`)P*H(KV +M2(T;B.(,,5A%L?1]:O<<)2SYZP#NRSRZZ4SG<>Z5D?+Y2JIPAB`UK)SMQA*F +MK5I*S@H(@)(*8*`)@()%@PZ$Q-;:IB*%1\BV;WQ^$EC3LF#Y,(!GQJBQ$F"- +MLF[7\F#P9U[:`DC+PG\)Y+0KBK1@HE+QQ!S=Z^;;:^S;L%`-T2\*HL@H2\[: +M0$$I!W(&$*"?K=[!#*P'4JR\HMK+I!0_A),KA*YQPHLL$1(&@GY# +MD[,N+,TJ(%$Z40;/LT@J*+(H,^,S,[9#LNDU\\"_:?B;XRHH49*ITU:CI68- +MT\`[A1HXP_*9)%B!8.0-;V5"0PZ)QKY;TEAB3G:R9AD(I/`LLZC^<.Z\RV+Q +MPHK=3=\*D^\`,0HBXRA08H1+(HT!*$="8)*%205";J4F[3ZRBB-#33)Q3N2R +MJ%4(="<;%(TGS\KKSL#$)*U#9%0ZZQ](QZ=(R8+2A<4,*9-1<"*855KKE5;#4NQ$@/)DZX<#[*3*D93P]:*X +M*%BZZ)@,I<*+8W37E3*JU9@.Z*\;M=,9D-22L-A-:$8'`W0)T32Z\<@[PW3] +M*'3$:)-08-ZKU20W5:Z5]<)GT33RTAU>P%#B[C36X[RZ[%L,E9;&-=-.%AP( +MA$LFP[H%%BJ@]==C)?[WCMZ$)3!8#(\!0X1EKW`-BD1TTVBNQF!6X$`.!&AE +M:BH,UF)&1%)PH%`,]1IOED+%]=;APV3M8Y%F)$HH9Z8-`$`,QQ11@HA80PX/ +M%4+X"H1TQ?Y8=H2$%,2E`D*EZG#<`/1%P-XVJ/0](!0@(`IE;F1S=')E86T* +M96YD;V)J"C'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD +M;V)J"C7!E("]83V)J +M96-T"B]3=6)T>7!E("]);6%G90HO3F%M92`O26TR"B]7:61T:"`T,S0*+TAE +M:6=H="`R-#$*+T)I='-097)#;VUP;VYE;G0@.`HO0V]L;W)3<&%C92`O1&5V +M:6-E4D=""B],96YG=&@@-C(W.0HO1FEL=&5R("]$0U1$96-O9&4*/CX*'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@I.4E9:7F)F:FYR=GI^2HZ +M2EIJ>HJ:JKK*VNKZ$0`"`@$"`P4%!`4&!`@#`VT!``(1`P0A$C%!!5$382(& +M<8&1,J&Q\!3!T>$C0A528G+Q,R0T0X(6DE,EHF.RP@=STC7B1(,75),("0H8 +M&28V11HG9'15-_*CL\,H*=/C\X24I+3$U.3T976%E:6UQ=7E]4969G:&EJ:V +MQM;F]D=79W>'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@Y25EI>8F9J;G)V>GY*CI* +M6FIZBIJJNLK:ZOK_W0`$`!S_V@`,`P$``A$#$0`_`#;6-8U:/5KZ..^EBCBE +M*HBDGJ6_RE_EP"NMZN7C#:E.070$"H_:'^7EZQ]8.M:DMO%.SF4_W,(DCDC?TYK'_`%$]Q^2 +M._3FL?\`5RG^X_\`->;].:Q_U_\L5U_P!(\W_-&;ZM>_\` +M+%=?](\W_-&-KPGN/R1WZ;_`)HS?5KW_EBNO^D>;_FC&UX3W'Y([].:Q_U;].:Q_P!7 +M*?[C_P`UX!^K7O\`RQ77_2/-_P`T9OJU[_RQ77_2/-_S1C:\)[C\D=^G-8_Z +MN4_W'_FO-^G-8_ZN4_W'_FO`/U:]_P"6*Z_Z1YO^:,WU:]_Y8KK_`*1YO^:, +M;7A/;_`)HQM>$]Q^2._3FL?]7*?[C_`,UYOTYK'_5R +MG^X_\UX!^K7O_+%=?](\W_-&;ZM>_P#+%=?](\W_`#1C:\)[C\D=^G-8_P"K +ME/\`$]Q^2._3FL?]7*?[C_S7 +MCDUC6W#%-0N&"#DY`)HM0*GX_$X7_5KW_EBNO^D>;_FC#I=7OD@:!=*NP&B] +M%F]*:K_8/*;]U\9_=T[?":>^*\)_FH/].:Q_U;].:Q_U +M`?JU[_RQ77_2/-_S1F^K7O\`RQ77_2/-_P`T8VO">X_)'?IS6/\` +MJY3_`''_`)KS?IS6/^KE/]Q_YKP#]6O?^6*Z_P"D>;_FC-]6O?\`EBNO^D>; +M_FC&UX3W'Y([].:Q_P!7*?[C_P`UYOTYK'_5RG^X_P#->`?JU[_RQ77_`$CS +M?\T9OJU[_P`L5U_TCS?\T8VO">X_)'?IS6/^KE/]Q_YKS?IS6/\`JY3_`''_ +M`)KP#]6O?^6*Z_Z1YO\`FC-]6O?^6*Z_Z1YO^:,;7A/_P#+%=?](\W_`#1F^K7O_+%=?](\W_-&-KPG +MN/R1WZ$]Q^2._3FL?]7*?[C_S7F_3FL?]7*?[C_S7@'ZM>_\`+%=? +M](\W_-&;ZM>_\L5U_P!(\W_-&-KPGN/R1WZ;_FC-]6O?^6*Z_Z1YO\`FC&UX3W'Y([].:Q_U_\L5U_TCS?\T9OJU[_`,L5U_TCS?\`-&-KPGN/ +MR1WZ$]Q^2._3FL?\`5RG^X_\`->;].:Q_U[[$P35]892PU.90#\ +M18FE3TI\?MC6UO5U;B-3EM>W7 +MMDB\MW1O-)AE=IGDJ?5DN%XLSD\F*@,PXU:@`.W3MA04]3S?>1%G5))J.(W: +M,D!+AJ$H5-*@'#_3U].2]A#.R1S@('=G(!AB:E7+'JQ.5EV.G'I!^"3PZSKD +MGU\-;!3;LJVC-;7*B53,8VDI\1^%/V>O[7V2,2AU76'U."5[>X2WF@47'*WD +M].-EGE0GTPY/)@%W!.WQ$<;%MX3_.*5:3=7,UWJD5RL@6*X'U9FCD1&B, +M,1JAD%"`_(;8:YLV!D!3LV;-BEV;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-F +MQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-F +MQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V%NO?\;M-/\`W<79LV;`VNS9LV*NS9LV*NS9LV*NS9LV +M*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV +M*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV +M*NPMU[_CDW'R7_B0PRPMU_\`XY-Q\E_XD,(YL,OT2]R5_P#C!9LW_C!9LFZM +M_].1V'_*5ZS\A_R_XY-Q\E_XD,,L+=>_XY-Q\E_XD,(YL,OT2]R5 +M_P#C!9LW_C!9LFZM_]21V'_*5ZS\A_RL_(?\G'P_P@L/^4KU +MGY#_`)./A_E9YNTT_P#=Q=FS9L#:[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[- +MFS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[- +MFS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J["W7O^.3 +M;M-/\`W<79LV;`VNS9LV*NS9LV*NS9 +MLV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9 +MLV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9 +MLV*NS9LV*NPMU[_CDW'R7_B0PRPMU[_CDW'R7_B0PCFPR_1+W)7_`.,%FS?^ +M,%FR;JW_UY'8?\I7K/R'_)Q\/\(+#_E*]9^0_P"3CX?Y6>;M-/\`W<79LV;` +MVNS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV +M*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV +M*NS9LV*NS9LV*NS9LV*NS9LV*NPMU_\`XY-Q\E_XD,,L+=>_XY-Q\E_XD,(Y +ML,OT2]R5_P#C!9LW_C!9LFZM_]"1V'_*5ZS\A_R_XY-Q\E_XD,,L +M+=?_`..3L_(?\G'P_ +MP@L/^4KUGY#_`)./A_E9YNTT_P#=Q=FS9L#:[-FS8J[-FS8J[-FS8J[-FS8J +M[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J +M[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J +M["W7O^.3L_(?\G'P_P@L/^4KUGY#_`)./A_E9YNTT_P#=Q=FS9L#:[-FS8J[- +MFS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[- +MFS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[-FS8J[- +MFS8J[-FS8J[-FS8J["W7_P#CDW'R7_B0PRPMU[_CDW'R7_B0PCFPR_1+W)7_ +M`.,%FS?^,%FR;JW_TY'8?\I7K/R'_)Q\/\(+#_E*]9^0_P"3CX?Y6>;M-/\` +MW<79LV;`VNS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9 +MLV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9 +MLV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NPMU[_CDW'R7_B0PRPMU_\`XY-Q +M\E_XD,(YL,OT2]R5_P#C!9LW_C!9LFZM_]21V'_*5ZS\A_R_XY-Q +M\E_XD,,L+=>_XY-Q\E_XD,(YL,OT2]R5_P#C!9LW_C!9LFZM_]61Z?0>:=94 +M``;'8`$DR/U(ZX?Y%9+W]&>8]5N'@FE$K^F`D;$?"[$FM/?!8\T1EE7ZE<;D +M"IC8`5-*G;($&W88/C_G?8G^;"#_%,?_+%<_\`(MOZ9O\`%,?_`"Q7/_(MOZ8T5\?'_.^Q +M/\V$'^*8_P#EBN?^1;?TS?XIC_Y8KG_D6W],:*^/C_G?8G^;"#_%,7_+%<_\ +MBV_IF_Q3'_RQ7/\`R+;^F-%?'Q_SOL3_`#80?XIC_P"6*Y_Y%M_3-_BF/_EB +MN?\`D6W],:*^/C_G?8G^;"#_`!1'_P`L5S_R+;^F;_%,?_+%<_\`(MOZ8T5\ +M?'_.^Q/\V$'^*8_^6*Y_Y%M_3-_BF/\`Y8KG_D6W],:*^/C_`)WV)_FP@_Q3 +M'_RQ7/\`R+;^F;_%,?\`RQ7/_(MOZ8T5\?'_`#OL3_-A!_BB/_EBN?\`D6W] +M,W^*8_\`EBN?^1;?TQHKX^/^=]B?YL(/\4Q_\L5S_P`BV_IF_P`4Q_\`+%<_ +M\BV_IC17Q\?\[[$_S80?XIB_Y8KG_D6W],W^*8_^6*Y_Y%M_3&BOCX_YWV)_ +MFP@_Q3'_`,L5S_R+;^F;_%,?_+%<_P#(MOZ8T5\?'_.^Q/\`-A!_BF/_`)8K +MG_D6W],W^*(_^6*Y_P"1;?TQHKX^/^=]B?YL(/\`%,?_`"Q7/_(MOZ9O\4Q_ +M\L5S_P`BV_IC17Q\?\[[$_S80?XIC_Y8KG_D6W],W^*8_P#EBN?^1;?TQHKX +M^/\`G?8G^;"#_%,?_+%<_P#(MOZ9O\4Q_P#+%<_\BV_IC17Q\?\`.^Q/\V$' +M^*(_^6*Y_P"1;?TS?XIC_P"6*Y_Y%M_3&BOCX_YWV)_FP@_Q3'_RQ7/_`"+; +M^F;_`!3'_P`L5S_R+;^F-%?'Q_SOL3_-A!_BF/\`Y8KG_D6W],W^*8O^6*Y_ +MY%M_3&BOCX_YWV)_FP@_Q3'_`,L5S_R+;^F;_%,?_+%<_P#(MOZ8T5\?'_.^ +MQ/\`-A!_BF/_`)8KG_D6W],W^*(_^6*Y_P"1;?TQHKX^/^=]B?YL(/\`%,?_ +M`"Q7/_(MOZ9O\4Q_\L5S_P`BV_IC17Q\?\[[$_S80?XIC_Y8KG_D6W],W^*8 +M_P#EBN?^1;?TQHKX^/\`G?8G^;"#_%,?_+%<_P#(MOZ9O\41_P#+%<_\BV_I +MC17Q\?\`.^Q/\V$'^*8_^6*Y_P"1;?TS?XIC_P"6*Y_Y%M_3&BOCX_YWV)_A +M;KW_`!R;BH!V78@$?:'8X"_Q1&`#]2N=_P#BMOZ8$U'7EO;*6U2SN%:2E&,; +M4V(/A[8@%A/-C,2`>:MS/@/^4#Y?9'7[NGMFQ3ZK=?[XD_Y0;T?L-_>?[[Z? +M:]NN;)N`_P#_UN_YL\`9L5??^;/`&;%7W_FSP!FQ5]_YL\`9L5??^;/`&;%7 +MW_FSP!FQ5]_YL\`9L5??^;/`&;%7W_FSP!FQ5]_YL\`9L5??^;/`&;%7W_FS +MP!FQ5]_YL\`9L5??^;/`&;%7W_FSP!FQ5]_YL\`9L5??^;/`&;%7W_FSP!FQ +M5]_YL\`9L5??^;/`&;%7W_FSP!FQ5]_YL\`9L5??^;/`&;%7W_FSP!FQ5]_Y +ML\`9L5??^;/`&;%7W_FSP!FQ5]_YL\`9L5?_V0IE;F1S=')E86T*96YD;V)J +M"CTB" +M346?C26E2KQ>"17!E("], +M:6YK"B]296-T(%LS,C8@,3$T(#,V."`Q,C5="B]";W)D97(@6S`@,"`P70H^ +M/@IE;F1O8FH*-SDU(#`@;V)J"CP\"B]$97-T("]'-2XQ,C,Y.`HO5'EP92`O +M06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S7!E +M("],:6YK"B]296-T(%LR-S4@-S@@,S$V(#@Y70HO0F]R9&5R(%LP(#`@,%T* +M/CX*96YD;V)J"C;W'\158U@0#5N#OJGP[#QM1R>5R[AJM#7;=>N?7.CT:]JKGN +M.UV\QG8;H.%ON16_'7O'Y^+8_+S/9[?=6^=8.KT_AL/IJ=GV>Y^_Y2-TD+>J +MH]#S/4XCD/6K\$/?!<&-0^*OOFXJ./`Z2]/.`;P-H_L-PXG[O-9"KB/#"2+Q +M(X:,JXXS@Q5`3THP\45P%%ZE1:],&QO'"U0>Z[[1-%$0NC$L),1#4.R-(Z*O +M^OD*1K$4A2?&4AJO%D61M)\3RQ*42RK&DCMD+]8]5S-*,,OU9UVOW62$UI3%U2A+4%0';=/RS=-^6 +MQ<-_P7<=LUA\SYMF6@Z%D39L +M2RC%MAHVCNKI6COSGFH.ZT+OZ!H>K:NPKHJ,J>ML\UF%ZCL*\3''FL;-L[!Y +MP]^P;%MJA,[I;*[CN>Z;KNV[[QO.];WOF^[]O_`,;IO`[VK%V;=Q"?,ZF'&< +M;QW'\AR/)=[WW?^!X/A>'XGB@)VW#]SY2(\WXWG>?Z'H^EZ?J= +MKR_E^PB?F^K[GN^][_P?#SWD>S\J(>:C/Q?5]?V?;]W1_)\WY(7[8`\Y^W0_ +MQ]_]_Y_O_.R?B_.`1!GZOW=$_I_\"8%0+@5`&`<#P`0%>._Q$B=$^#,1HCO*?01B($5H*17@O%" +M+D77W12BF[A[<7HR1EA/&",+F(QQFC9&U_T:(".5CE'..D=2..[C='F/3[7D +M$73@3R-*1HUQ[D)(5Z;R"E1_+,VIM$C44QXD-)&23QGD.W(L;!`#+Y'2;.+) +M"2L`X\CIJ2AGA/%TX!IP/'F/*29,XIESH1&>Y3K' +MD"R-G?/*@E!7.STG"A:TXJ%D#9],VAZ]%<+VIE3-*](EL)_IHONFM.%P4DI-3^25 +M*)1R*:Y./=0I[U$-VM&E[&*DUA +M/.C^IJND_524\QI8%:E@U6JQ6^-E6J53XG+*:HT_:\517S1>D+'T75GKW6FP +M5:U_UNKA8>+M3K6VX@!;0W3N1?*X]];G7SNE?FZE^[\7/B;:NZ\H+LSCL92 +MR'<.7\Q#$'#^(L +M2X>PKB;%.&W?8#NW!&QU7FJEGIK@Q+V#L5XCQUB?'=],+6IA_CS(6.-$9XV1SCC)V2LN8HRWE[$6/\`9`M%F2^-I +ML,9EM;F?,V:+C9HS5FG-F:\X9SSEG5X&4*B%DP3EALV6LNX]R_H+0.%]#/PS +MMG'16B=&9XS;D#-^C\Z:2SOI31>CL6VQJW;,T+=W!N$U!J'46H]0UNS!J?0F +MJ,DW]M9JR^.J]4ZQUAD?5^3="ZVU5K9WN>M.,=CMK_8&P24WO?SHW2VQM)[) +MTJ1K2&&=9:XV?H/!^D=<[2VAK/'VN]-5SSW:[`+_[#;?W%"G7A#9![CC?L3= +M&Z]R;;L7MW=D#=U;QWI`S>U^4;6Y5?_ +M5W&:X[NNUE'&"`N0QZY`Z7AVWL>J,@[-VQT'G_8\=;4Z[V?L.@=,T)YCO +M#A<%^X8[A]U_EL?'Q\7S+H?G'$>L.HZUVGLG@+1X7UKV+M'*>A9(\1X'Q>A- +MM=LP)V[BF8(M7S[KOO.VR^!NFXIR)UO?_&^"YW?7GGG>)>G]-ZGB.D>)]\]= +MICU'F7:='-SP+8WE,(>7\QI#O/G_7RBY/X?PWHK2\WXQQ7Y'K?8>JS=[_Y7R +M?8_+]D[/VDI3B_/AC%;WOEMP9N][S5V??>_?!ZY\3X=T83>Z\9^?]GY=$?F_ +M=^WW'L^8>1U[]?T_;_%6A^UYY];PC_2#$`4`+JS3#\3\;F@`BXKUCZ+Z#YCY +M#9CTKT,";^3TC-C];^,#+LCM:E+=[^XI3A[_R0T`YZ3?CHL$YZCZJ?+_#S[J +ML%#\+\D%\&1Z,%2NL%D&9[T$T'$';/+^K%[?,'AZ$'4(,(AV4&JQL!,(J0\& +M,![Y\)T!K"S@<$D)2!<([`T),*D(3\D#$+CX2_;XKX\++=KR$'Z]Z;T,\-$- +M,-25CT$"K^#KR)<`$,4,<#KML#Y_$-$>K7+O2,\)DAL6L=C]+YLCI_LC\$$!4D,$,>,D;%D040\DCLIU +MD:4>DB[6C6DETE\9L.YSD9\GDFT;S,,G#8LGT3;SD24I,IRZL8,H3?\HD?,D +M$BLJ4I+D,=\E<61VLJ,FLLC,*_$14^4_4[$!L",I]!9[M!L^]!\[T3,;CX\R[S\+=`LNLEE!%#1X=# +MDK=",Y[F\P-$R_4GDV,YU&S$+\%%1[U%B%=#\;LKTULWD8TZT\TX5"$V3N+, +M=(]&\M%'U%\"TZ,\DQ<^5#U%U&[5KD5"KV$XE(L\%)T13IKCU)E+\Y5,D>D\ +M;;DHM`4K=);X5%#]\OU&DTU-KP5$,K](4_-"T=-/-/DW-*--,\L]S\-"U+31 +M]#%.],="4V%.=,SQM.U(,[50M2+O=/M2=2M-$#U0,^U'51-557 +MZ(%7U83=%8,T]/%9+[$UB%4_U8K=E8[WU.CQ$,%5!\59U9]8TK%75+M'M6U$ +M$.,$3=-"E0EM>,2 +MU,54E>[G%&M@%4E'-?!XM?4A5;]'\M=5U(-+UA=BU7$.U3 +M5-=9%>E*]AM94W5(E02TEC]`M?SDMD](\YM@DYEC4<5;EDM'MBK]=4+JUE]! +M]@=FL35652UD4WM/=H%]*4Z=I%7\GM=K:-F\IML3^%EMGCM-3%C=F53==+B%I=JRU56,G-E +M%NTNUKE0%MMCM9];%@ZZ]A-3EP%P*Q%P=A5N5K`]N+`%QM[]D%+E\M^]?MWUJEU&!;Z>!6"6!)V-UM#5L-[M1RZU^ +MV`<#-M%^#)-_.!US55=TV".$&"=(-^D\5WV%==V&$X-?%PMY:G^$E!>(.(2D +MN(E2F&V&M0\_MWN(Z@V)-45\$S$PLD^!^*"P^*5NN#-V]*"#>&EQ>#L`U=&+ +M,'MYMOMY[D>$\1%)-$5V>"]XN%S)MLF,V!N'];V*D2=,-E6#.`.#&'EGN.TW +M\TF&-_.]SU#MT&2>%#$&1F$.1T9 +M^2SDEE,,.'-_&%6.;H.'V3-`>4;)V.N5,LN/^.63E4>3^)>,5A^&N7EQ>3%Y +MV36"&76$+J>,N+E[UXF1^5^16`V8>7.!F#V8F79V&+<]>$V/4"F6-1^97^-.8-'6,.,=N5NF2N53M5IV4]T6<-\F6M86(V0:4.:L]&>>>B3^>UK +M&9V7K@N8R%&?&?*H-W;I&)^=3:N;2#6@6@:0V?>"N6V%F+^A=5N9\[&=&AIU +M^A]]^1,#%BF.%Z^0^=L;&A6C)U6C>B,G^4JUUT.6F96A%Y&DQUNE&;FF.?E5 +M^4-(VF$>6=FE.06'>G;DF5F8%%N;^*F7&7NG.GNFLVFB>CM@N;VD<+VH><65 +MVH*_.DNHVEV46J\I>3V9N0DZ5WF+%Z&LN<^@&I=<&I6H&I^2 +M^KV:.BTENN^O-O=7.>&1^>5$NFM`UW%G&KN;N;>PMS&L]KNM.&5PFBNLFMN" +MFCFHV"VB&P-D.$>@KVNM6$N@^F20FE$EVAFS[C6S3ZV0\_&O69V)M9NSVTB/ +M.T.J5M5<-:SJ.UVUZ-K*#86W>WFWNWVW^X&X.X6X8EL6T1KF0@AKR0.Y>YAQ +M&Y0S4F+)^XYLAG+/VZVZ^[!F3/I<6VIT.W3&)B&[>[.\>\F\H]PU1NHR9N>] +M1N*<5#.F>Z:NS!&ZF\V^N^V^YK),0UXUPV6_A68_.[IS^[Z?2QZ="[PLK!8N +M"WRFRR._'!W!YM),0^1,ILK*I=>XTN*V@@JVRB8L10'!/#R\ZMA`G"'$O$Q' +M7"1"'"FZN\1A7`/`6^)"R?:HZ\XMG$"=JP'!G$G$_'G'O"?"Q=!@I")@XWQA +M(['%Z@_&.YZARR!2I3*]1C92_*2OBBQ:ZOZD*B*\1:A2ZX7'W+V\QFA990Q@ +M?,9=7%V]YUG`?&7`O&A/2X)BJS:F"C*@"WBGC&O.Y+*\W+_/>ZW,(WI(/,A) +MABG"^,^0O#6Y*9G)ZRJPBC2M!!/')6_1R?_+O/G2K+'/QZF_275JI?2W6"3G3'()511)$A5HN7#'0S*9>/) +MI?).G$9>JOQ.Y:ZS"R?.)7_$?6/99LW69@G6O"G0?,_0J4:[I3/4?7_9"B"] +MJSJSJJ:L75Q;I3G9GG8"WO$2S +M?>?/7_>`@233&GCOE7E?"/D7D!F^^G,_)$@'&*K +MN\/F(\Q??EGG?G@M`U33XR!I)NGH1N?`':GDO7AEW(!!/BOGOIWI^ZIKOJ0A +MQ"WDBN8SHL?%OJ'K?KGGWG`T_7/H_J[3INWH#4GL_M'M/M7M?MGMOMWM_N'M +M/LWN!PWF?FG4#7VXGO7O?OGOOOWO_P".1PW-!U?-6Z.W'Q"&IY'JRQ<('Q/Q +M]TOP?L7QJ3WR'RR*/R73_7<+'R_SI[B7*('S/=S`GQWSWTQXJ7">L@`OWZE'U?X?TGUV-7[ +MO]1TWZWZ'\8`ZA'Z/^'\N]W[`O?[7]?_.^'W/]_^/_H`P@`$@0!`4%`8!@4) +MA4+AD-A8&`T#@H"@\'`(`B<(A0%`L.CT?D$AD4CDDEDTGE$IE4KEDMETOF$Q +MF4SFDEB$,C@'`\W@4YG<1B4&C4SGD$H46C$%H<]CLUIU/J%1J53JE5JU7K%. +MGD;`LZK<^K=&BE+F-%B<5`,7C,+CE9MUON%QN5SNEUNM;A,YO`$O5``EB@\U +MLU'M-)`5DMMVQ6+QF-QV/R$TO=\KM[OL)P%DF&#L=(M=[V._X$LR<[7=\7?\?AV.S[.OAOH['JD7+]>PX/S^DHX8%`W' +M_7XOV9P3FN4Y[#NBF3P.J\L#O)!3S09!,&NS!T(PA";(J6VCELTW+WI,ZSZP +M]#Z0ONG41Q(KS^N4_Z@LZPK/KRZ3<-PV\-P7"4#0G&T<01&\=0ZVRTM[&3JM +MV[<'-)"3NPM&$>OD],?QBU\B1D]J_RRO'<:37!\4S.%-3E3=/0?3#VRD^$_/3/4IPI'<[29"TG0 +MNV$CU3/\U416JWT4AKB1/1\Q14M$RP',\[R8ATXQK3ECT_9-.U`VSY572SPS +MR\E5S34]35-:U7T+:UN5M;['UPG%&U\`-%W/=%TR_2,R,,Q$7UA*L-V--MEW +MM>M\3C'T@O+*#96D^,$T!63S0S8=!0HV\?X'0EP89XJ]:9#I%`Z9IS%Y]%V@,"J&AXU`FCZ>J6E:UK.NZ^NFHJ +M9J8`OWLVS[0_>K7=K&P;=M^X;BDVQ,ILF+[O=`"[7%JF;EOV_\!N&Z5U1V@Z +MK26KV$F.351D62V=Q_(U9I>1\KR7&U)RW)\O;'-WTU/=65-O5>1X/E> +M/XOH07Y?H^:\"RK]J7L>SPNJ=GQ&V<4EU8^)Y,EY?YGR<[]'@5C?WUWIU7R^ +MI]OS_G]EH_3_-4_=^WX>NN,R;=5=NR*<[1HKMD8GH5&S)^+]WUP-?U`]8;[W +M>P0@<_:"T%'DP9?[!6"<'8-P??E"-SIS(`/:;'`-[L!7OM\,I!.!2Q&8/5@Q +M"*&D)%MPWAT_1;T.'[PV1H4+7:POB,C!KT& +MGFQ`B/$)^L1(0Q&B5%V+<68EP]C%&",D7XKQ)@O&8EL385-<)3`9C<4W3*7C +M+&F+T:X\1AC0O>+$?5\1_CU'Z-45H>2#D1(*0S^XF0H<)"=[D<#J10@/%*!+ +MI82LND6]9Y\7(=/3D\^F4$=Y12=E(\"4<@'C&KDVIR5,B)5NND<[!G\;XGKM +MA<8ES;*EBL+EW)B8$F9@NLA%"7_L2A1`*=;AY<11EU.282T9I37FA1B +M;3OZ-S/H[-:8*@6=.0HU26B])Z/.[H_1FE%(**DJH"?ZB$[9]1&2M$TJ,IJM66NE6:*5FKQ#5E3!E +M0UBI]79]5=:_2+)E3%,-;::42ILH:*M?[!U*K)8"KL6H[5+L=9.P4.;,62D3 +M0N6JN785LA96ZJD@:26;L?#ZR-J;62'6ZR>U%L:SQ\LO;6"5:)O6?GO3.?-- +M8U5]ME7F-EPK6VS4NURXEP8QVVLS;6PM:;01.MY5)HEI4.K3=W%"L)83PH1Y$2)42X-G#06<>%-<;.!Q;B/$I,YQ/A2&27` +M=^L@THP+@B_>0[^+$I'@#(^!\A7UR+D_(V2*!DBQSAC':!<3XTA+3B[=YGJ7 +M=N;>>\)IZA9?N5=RH^:,V7E)7E?#,MKIU3PZA?,]Y,QUZMIF3-F43=9YSQ:J +M0N@,P7WS?+/%V),Y8QSICYG-EL^9\M7FFXK'&4Y_T#H6/<9\VZ$D/"8Z.B43 +M8PP=>["#![PZ3T[IFS6J]-6N21?^\&KM*:PU9K2TUN-0ZB;(PO7VO]@;!V!E +MN?::\[ZOUP^;3FD;FR"N!LG3U7]H:W8;KHKFHL7KE(GMO;FW=O;?V]J:ZVL= +M9:JV93W9:+5[0+J/ +M.NP=I8\@4]>5>&%NW*2KN)'^KY9Y7U#G-<.U=[9.2^OE`^W]P<7H;"W8N6]D +M*)UNZN'>^>-I43"OD<3Z>!F2B'PV+N[3<[-WG"/CNOI".^;-FF2SM0*]$J-H +MZ_$^0+IQZST._O73P[:D#91).Z^(N>N7L_>O/=>]5#%A#*/7IN])[^-DBEH: +MSM?L]*-`_;ZD\3[KSGO>]LFUM4'PGUMI=MC#["&=R%N\,^?T[LO>+??4[3]K +MVOVIA?J]D_&3F_H[223[X3AOE\=>XH7^:]_Z.P/U/BG-/DIM/3JYE/M,%FLO +M%!/Q/\,L/]-=/^-3O_//F1F:.3&8O4/'G,*1JA/8OZ/8JXO8/:/WNZ0&LXOH +M/O*&A.YG`09+1/HP5/^P<0APB/[ +MEQMZP'N[P:OIPBPFPG"$P?+#ORPEP5HJ.Y.2N/.4K+0KIHO*E_LF#(0>"60= +M0NNUG9NV.Y00";03.'PDO-0(K2P7/4N%.!("GG0-0\)30PPY#J0ME,0R&;NV +M1`-4MVP802PCNQP4/]PJ0A0RO'PZMXP^$.+&0\JO&6P]P[1)+&B6Q#"5Q.OY +M1-/NB3PHE>0:"A0;*+/2-X.%K($Z0U(\Q70U'AP2"LM'DE._1:-GQ.11-PQQKQ00_ +M1'HXE7151#N6/,0W(VO%141I1MQ(-WE]F%1"Q:&&Q9Q?&MIC$\1K1Y1T1/1M +M0$0=1/P_Q]12("1C1&0)&#QTN`1F0+IL&61NOER"BZO(F`1=Q[R'0N1N1]Q[ +M2+,UQA1$/#Q%0(2!PXQDQ_1(Q6+8/MEEQW+*I1B[+KN$PR1"1)Q!R,L_R9.W +M1GO+2.1QR/0E13PF)>.0QMN3RA..K]%]DGP\/6P01P1`#0P,R51\O!RHQ,O( +M1/17B1R`)P04QCL40GRNP)RL2F"&#..N.T2O2S/J2P"GRQO%RN2SRW.]RTNM +M/I0JRWRZNU2XQ3"QQSPT2BPO2%#ZIFRJP+PPRPPO1@1<0SRI3$11QANFP9PI +MR>RZ1K'F25P]3+#@242)'?S"Q,S.1@PKR:P[30QS3T1+SMS&2/1KXPYC%I?%41ZS)RJ31C0T*3+S0*F(3F*T-M02MLN$,SF0M)G4P3# +M2IRCSB*P1))FREC&R(3HN^R,3%S;3%4W4;):ESJUPI2!4=T/,:S/2@TIQIR[ +M"YD1#+#*QR4M3_.CL54^0$48R65`&(-$5!S3T[T=3@S)5'5+ND,+BOBNU)12 +MS@2R/>5,51,;5-"_"P5"M#SPT]51U6,5L1";B?5.R`U*500;U6U;L*57B(U8 +MSOU#4\R0U<5@J%,6C\U.3'341%U?J&&\5F5FUG5GUH5HUI5IUJ5JUK5KUL5L +MUM5MUN5NUL25[R/UE6&6)V&EQ +MV'U/4\5\I*V*6.)_#[V+U9V`KJFTV262V363V464V565V666V767V868V969 +MV:6:V;6;V<66@6.VH +MI_V/G16(6GV!6I6LIS6J%BVK3^V)6M6PVMUBC]V02LV1.SVQ6U&XVR636#B4 +MRUVTVUVYFW6=VWTK5RCHV=6]V^6^V_6_W`7`W!7!W"7"V8S]`#03V`6?U:W# +M7'7'W(7(W)7)W*7*W"O+CBUQ7%VKRV5$6Z7/DL5B#\W-3'V,U:W074%$5=#* +M1B72U:7.NNW4W9#@75U>546$555@79W=EPNQ5-U[6,77R]W>7B#(52D77@60 +MW&782RWBWG"[5!'M#+W-VOVH2VWGWL"X7HM0U>UR4MW8TQ.10LRAN27Q0M7R +MWSQ>WTWQRB10WT7R0L4.):KUW;VX6$U+4J/).!M*21R2M-7^QU7^."R21U5R +M&?L&7ZV\7OWFS[T31EKM1FW_+98(X`L^T4X*MUX#7D1$WJ4.8%JX/045R#7] +MX++&X28,X38'MHX*2#X47[6F%TV[S\V\M'4BSL8)2$84X"8XF+.-0+=*&892-XD-BT>SY83 +MXIX@8I8K8G8P-T8RX58R8CXL8L6G7JW3J14_8TW_8`8GM,XZXS*PX\8YK48A +MJ')O8W8/5#XNQ+4(7X7V,D*^Y#WUY&5%WVY'WWQN9(Y)LH87XLY`6O9!6P7P +M7LY.BKK#7@VT3A9/92*`+H9,90WEWAY2Y6"J907E7.95Y6Y9RU93Y+W7917\ +M4PR*Y%Y>Y(7U9?9*./LF9A9&K]Y%9?Y$..8UGMY4988WWF50Y=P^X\X^X!XQ +MK68]X@M"9M9L*D8_*GXVY,U?7K7/$C3%XJM*XT9MXU8J8[*_869JK.YF(4KH +MX$X9X/K%O43JYV1UXHYTJQYUYO9YYW9Y4!6\8V9FY<9591F.R881X^82Z"Z( +MK":!:`:"8Q:+Z*YZ8_Y;Y`YR8X'-Y^:!X?S<:#16Y_YWZ`Z4Z3M!:.9PZ%:/ +MWO9!NT#14F47Z5:):,Z*=:HZ6I/Z7C\8$8M4;:DG32F9BY@Y*YB7XZP9ARD:QYDTOR$ZSZOLDZ$ +M8-R.X.Z09HU;9::ZN5MKX.:%Y8Y1Z[:^Z[ZWR=:XZ9Y-X&:_;#:W-Z:\Z98C +MZN;#[':KPD:M/;7[SQ/9TXZV;,9@:T:R:TZQ9E;/IE9D;,[05&`"3?W3:YMV +MTGZ?M7:J:*:IYKZGX];8ZI+`9P5ZT<:]9H998E1@;9:@:=ZJG]9X[7XSZ6;B +MI3XK[`;<[%ZD::803QX12+[A:,:3;D;@;K;6:2SC;:M-ZB;ET-;!;&;GJ;#V +M1P7S;?KG:+;N[A[U[J41;LZA;C9+:\:X;=9-9RY"8&T)[TZ>[@[K[J[N;WQW +M\`;MTY[P7%;[ZY95XO:<<@\='4\T\U\;;0\V\@:A]<=3TV/"T,\$C,UT7#.-[/<>^$ZV +M[O]8=%CE6_\S,^-`^/^,]UL>>/>2\M>3^`=::Z%G +MPQ>'^&>(1'>&^;9<>"^=^9[2^6'%^4ON<^=#=H:F]\^C]!>C=Z>E +MTA>E=$>)]^^*]_^A>2>F/`]T]5]3=Q\+40]];O=J]S4_>@O(>4X0^B]6>FR% +M[_^H=7>V^U]-]=^M/*>RN_>S];*XR;>W=2^Y^P-/]T>_[I>Q[L8M\F;F=91. +M>SS<=(?!=H^Q;J=G^X]=>X>NX;?#=L7DVS]V>7'*2&[I_'=P^O^^=>_(=2?) +M?+>V>I=%?$>J^S>KQG>TF`_0]]^L?"4?^D_)LW,U^Z0[]$[<?^=>_D:V>$>;_D?G>??D^)?,>*?6YG^K?.^5

['Q>A_M\D_N_%?8 +M?P(KY?Y?Z>:_I?X_[?F?ZT2PH>0[Q`""``2 +M!0."06#0(`@*%`,`@$`0H!`&"@4"P>"1*$1F,1:.1J!Q*-R"/@20R21R642> +M51Z62:4RV11V+R:83272N;S67SF>3&>S:?3Z93^=T&@4>BTB<4:DSNATRETJ +M=5&FU2K2VAQT#`:#10#U^P6$#UN/Q"&5FT3*$PN&P^%1N!12U5&TR.IW>B5> +M\WBH36GWJ^WO!8'"5*?W^^8;"U7$XS#W/&X#%9/'8N[76#62)@6Q9W-22S7# +M,9BU@*&0Z(:*Y3.&P:C:/*Y3);':73(8/99'=;BDXC>;/@;O+1G? +M;:.!Y^!U[.V'/Z6S\S8:'46_-P76\N,278<'E<;R_U^7 +M>[?Y>+Z^K+]8"2/+LQS#,TR2P_41R8Z,G--&DH-=*3M2H[CN(:[KEN8T4_SS*T94 +M'/M`4%0M`QC.;T430E#451M$4/1]'4BWU*TG2-*4E2%,T]%E-5#3],4[4M24 +M)-LE.>_T33BZLZ+5.T#SQ6%:UM6]<5S75=UY7M?5_8%@UM-U62;)46V!%KLU +MG5=A6=9]H6C:5IVI:MK6#8D3*_5U%UM94#-5*MKW'=Z7K>U[W3=E6V/%5?6_*=FK5/E4+K3>#5%4U.5/A4^TOAF#U'A^$8 +M7;L%8CB&$XQBF)P;CF-8EB^/4LZU]6,LLGU_?\[X"CCP8(M$MS3-*Q-&;Y[(6@3+J>HZ#)&:Z +MSJFH2OHE5/[;43Y/.4][/M&T[5M>TZ56B3O.[^AZOKFL0EK>JZ]O.G;MO6A; +MIO>NO+%>BL]H\Y(AQ/%<7QG&\'W/BY?1/J](Y'K^SSW";#$G4\-U8`@']/U? +M7]GV_=]_W1=E?9XCXV._![C!2]ZGL/%_;W7>/^9_`&`!QDDNH*W`F!4"GSML +M@=`^"">W(MO4$S,(2PBA3"R% +MSIS-P+@411;@`(;0WAQ#F'4.X>0\66O%?$08A1#B)$6(Q!ULG\*]#6'L38G1 +M/`!#]R41XJ15BM%>+"NHDMAB6X1$6GQHE+)(R/T@9( +M0WD&^21,E9+27DP1Q?4C561ODC("29JY,RCE)*6.K)0#),D])^.$H0"PREA+ +M&64LY:2UEM+>7$N9=2[EY+V7TOY@3!F%,.8DQ9C3'F1`MU!TI52/E9*""9SY +MDS3FI-6:TUYL39FU-N;DW9KS++"ZF5=$Z8SPTEJ^>B])=3NG?&*>,]9^3]G\M&62XG;FAGS/J:,_Z$4)H5(IU#-:"4%G+0>A=$ +MZ*45+2L2AQ;*(41-212CU'Z04AI%2.DE):34GI12FE5*Z64MI=2^F%,:94SI +MI36FU-Z<4YIU.QU%)46T;BA#^;U0ZB5%J-4>I%2:E5+EO`B65/Z@1.GW1:JE +M5:*489;0^J,:4S.KU#F5U.[#6'L18FQ5B[&6-L=8^R%B9P(`>38*P +MV\M_;.U5QKG7/6?'M5:V[967N;=" +M[%V:&&;NI=-LB*:-7`C';6[5Y;S)TBW=RU%>KKWGO=>\K-Z4J7?-!>&\5[2/ +MO116Q^_D*[^PAO^YMVYMX6L.OU!@B[T<%8)OS@>%$+L`PM8JHM;N$7/GY=M$ +MBW=;*1WKKA?@FC11KOH/8U?SDD]N-\F(,0ODTVV&7:PEQ+B5I^)&=/>R@ +MA+'IS;=MCP]67$&#LNXTR5E5XV*6"(73VE8^;ELW82SCFC$^3,LY0-BY/,AM +MLX$6Q_.V\%;[Q7!?G)3!)WS(B@M$X7S/IU_F=M0YX-GIHH[=]*%VPCHS5[ +M+\)YW/EK9EQKWM%:PV^-\F8:MYCSB>'1>L,ZZRV:]M"FT]B92UUE3:&2,EZ? +MVDY7'3EGF@8OZ#V8:P_6O=N/@V^3@[R$=6OZQ=K>%&4]>8TWBJ8^ +M^]3`Y]S]L>DFRJH[K@O@C!^%N&7^X=@33^ELY8-P%O/A6$$]8.XGPOA["=XO +M2SU@#0_%>-/'PW27@U0,07POWRQ>N98]9?7;JG#^J^7 +M4T;X1UET>[]MO![]FMZW$M\;$X%X_U/LM?>-\[Y3UVP^X:EYDOOGF0^V\94W +MY?VGJ-H^F[AN!#6H]<:*^-\_)7JV]NF[.C/6GY>)>Z=][SPCYO#;J^Y\A[_L_UIS_\:^2`VL]>^( +M_Z^*=$_$_<]N-W`$]T.8^R]^U4^"R*2@_4_X:"[\XTW^S22ZWO`+`\XJ3S`R +MWI`V*<]"]Z9,_N[8T*N&ZXULVUFW&^=`K%6:E%;``>L +M\^VO%"OG%'"7#?%,4JYA$S%F_8\9%<];!N_/$<_?$U%4/8^DT@>\]S&5$.X& +M_JLK%(Z+&`_-&%&=&(2-&A&8V"S:TG%E`-'.9Q'#`40J^J]@_I%$]]%\Y[&` +MXM&[%I&]%8^1&./4_,_<_G'-&''0SY"1'W'8_C&I#Y&M'A!1"^Z;$7!6[:`&`0`3+I+K+M+O+Q+S+U+W+Y+[+]+_,!,#,%,',),+,-,/,!+@ +M>;,7,8:0Q])/&Q*'`C**NR.R-.@<+-+G,1,W,Y,[,],_-!-#-%+X-0?@?:+- +M-,?7-1-2?3,;5/[0T=8<2 +M?1/[0'+3,A*%.;#"BG&7([&;(^+[/C+.---S+I.JAM1G.K+JAQ1Q1G++1K0K +M1]1_2!+I0O/!0Z;70[0R(:-2.H(?1&/W1+-C,E%+02ZXY;1;($-U.B@?.G+M +M1[2[1M2_++3!1[2#3)3+/S290`<90S210Y0U3<(B(322+-2809+5#!+9#$TV +MT1(G(I2L[W1>B;0C1U1W4)+O1O4/2Y3-4547-[2'0#/"(B<6+737.^3V<50% +M3K2?.90/*)+;(C(PU=2O18./2S,Q4%4+1O3#1LAO4)5355495A5C,Y4=354@ +M-*-32/4K3E3G/&,S4T[5#=014\XC)9'7&_5%1<0--O1C4-4'553'415?6E5E +M6I6K+_5H<74H+?4E5S253@<34Q/)%Y'C1/3Q135`?O0;3\)/0?2U5/5?536C +M5;4+6G6M7M7O+K/U2-3=216Y7X+=5W5W7#5\J7+E;U<;;'<5,;0-;8?4`3)]=!=#=%='=)=+ +M=!;3<[=3=4?47[.50FZJ%>3>9>;>=>>E^1:EDM*KO1-=E2E+;>A>TF/>7>W>]>_?`J4 +M`+>DEB\(G$^U80KDO->7#6KZ(H60+0G98-2C&TT+?67`1'?:K!??=:DTES>* +M](KXNU?9?TKG?Y-!?\H:JS$597@>K]@C@E +M?W?'?[(4C*.Y@;>P`"M'A0L_@[@\J]@H(8I06(I]A+?J(C?#ALF#A7A8JKA< +M`"EQ9.AE>OAI@VK[ASATHMAXOBMVK=3O@TY9B+B,HIB1"3B5@Q+7B:OAB>P; +M%0TV3I065K3XQPYNX`YABE$0R`I!B7*9G(V6]6*@ +M4IC`]M!NTXV*VDTRZ@@K84)23YDPHL=K&33T:=AXI(\(`-,CE`:^2W-CT3DP[>HMA=CAG-G2G$K9>MF??3FC-KC: +MZP4Y*.[R4!$I!J-[F\.3DXJI$W))D;F3<$LG?)F=H+EAH/.AGA!`_CE'BW!YI-GZ0; +MI/CKCK3T8MHF8;HRHIE-HQI?G_HW>"N]<)6!I!@CY;C?1>-.?:/I)IKI1B=J1H!VX=OIOIOLE +MLFH5LJABT!E?J`C**;IQHA74T;%@)SEKM*GYM.2HEFU1L7K@Y]E-F'F_6/'3 +M%S3UM)MJG_MN57?S93B#FA=ICEM<_3L#N%MD>CC;EGNONQNSNUJO7%N2V1N7 +MG9J?2FTUI7$M)=(UFRQA?QNWO9O;O%/-O#K]G=I'Q%Q)LIP/Q/3MC5I#J]J$(BE? +MQ@H7Q-CWQI)5L;CG8=R'OY`IPCQWM-QEQ]5_K>G(Y7B'M@W<8=L)Q?R0H1Q[ +M@KP3Q30-Q7P;Q;L=5&\SEYRH+?QU,>F.PTF#S2F-S6F+S:F)S>F3SBEYSGS4 +M27R5RSQ0N]7)PYO%P]D^UOIIN!ND:YO]3WI;R/S/PMSJES@6F1T*SVLVQXU8(TN3%!=UUYIF0(GV_U\ +M/ZH#MUOKP[BZO5P9W)R_G$9AZCPSGSWYYMF'[+U'YK7%N@S[[QP_QN,TQ[E3VH +MT3CK[]L\C+U[[5:RBY\9MWR=R#;K[E\"^$ZCZ%[L*F8'\/L[/6]=Z&QET/IO +MH/J(@-WZX"2[[$>A[)\QF[M%\3[3[!IYJ9H)JYQMZOQQA/V:6/E&\G]7YSD] +MF#]]Y_O)F$0E\^4D1H(W[*_D-M[\RP1#]3IG\U]9)*51[1X]J7]E\>F?KBM; +MW;]UICX2V)^7(1"U=<8Q_'VDQA^!BU\!FIGL//],^N*%^CF]^5^IV)^MW_QF +M][H'LN`"(``(%`X)!8-!X1"`"``%#0"!(A$`*!8C%8M%XQ&8U&XY'8]'Y!(9 +M%$(7#0$`0*!HL!I5%H>!)?))=$9C$XQ+)E,)S.IC-8I%YQ.HK,9W#Y[$9M0) +M;0J--)W0JA297+:)4*+&JE%:#5:/7*=58E/ZG0Z=,ZC8JU5*_9:M8*R!)2`9 +M,`[`!*#%8F![U.+S>Z7+1$:W:\WFK#-[59-13,Y/M-9:;.[[?IIYE;3-,[\OEQ^?SMEG=MPMCNL^B#?* +M\V3?P:YRBM6HT"*1!S;;C]P2 +MM+$4^%+E$]E&/:0UW'E^9>W==[Z'HZ7W]N39%<52QXM5>/Y"30IZ6W>?\'Q_ +M)@?74I#7L^Q+:_[M[B#6C?OR^GY/Y_M^^L.M/BX2TOG^OM>,^]^#]7^/X:V^ +M*`T"8%)$?T<(SS['^00)(^Z`2C("/R@6S"!$&8.0=)=`U]!83J0B13`![<%2 +M"OQ69!Y@D&X60O@4^<^)SX1P1A*[&%$%GO-TAA!J`D/8@0=ADR&&B<"\O:6= +M#D[<%X5Q!5A"Z)T47H1#0>]8Z$1HKPFB3#F%29C_%L07%^,*;4B%FC`5:-$8 +MC-P_BE&U\L5$?&>)8N")"_XN1,3*?LS1731'$C\;8CC(",1ZCX3*0L?X]QL> +M4\V1DC9'2/D>R-4T#D-.:>K%J.T*(NICD/(2/LGI#1G<.2*3L>Y/RFE"3"11 +M89(2ME=*^6#%4\+^?VBAX4-7$1WAVDP_Z!T%1FE!(B4LI9!GS0O+\U,P9E2H +M.(XN#$;IH-+5N4.$$,XY'HAQ$J3:#"S2`F3,R9\2Y=I[-3+^@U")_SAG'%]"4YJ/4'H!*FA=#:5-(H>3" +M:L1)KINCK1>C$^:-3**U0DU'BO#:J,INL'8=2%>EDSRHG7ZI]$( +M3URL%8@QU=K*67-W8I?5$J_UOLA%NP-A:CV83/:*'EI+4&,LT76IMCJ9T7KF +MI*LMLZQ5<(_(*,]9+:UBLM:FWQ'[5RUGK'2N,VK)DA4+42D]RZ@M\G'4.GM) +M9#5GG9;^ZU,)!UMCC)5<-K[)6BK1*2Z%/)B1DD#>.]%*+J77O81NX-C);2WN +M]<:\"#D,F;0,V.]-S)R3%0.A^_5TK^3HM[>W`UVW17:9S+=XEQ:HDGM/?VKI +M5[R7[+K>6CN`\+%,O7@?#V"(/U[NQ"3!DN(*6AJE:.JE8(U3?PK@*/5`ZK3< +ME'C"Z-)\"X?NM>^SB6L2WSP>]^YY1,,W*R,;^W>2*?XOPU*JTT^L=7LQY7S$ +MF/\'8HPAE#"5R<;Y'D/DO&DH\F9>P[E'*4L[/VLBMB6"5+H`WTQ28N^^H%Q6GG/%6<\GRS+F;'>:,W6+Q[FS$V;\@X1RCCG0EI,IXCAMFS +M(&6,A:$TAI&R^DZW0TT5I>"ML='Z#TY:C3V(+XX-L!J.X^9M-ZGL/JG!>HOUK +M'8]=]:;+TMK?9VKXRXVK#KW.V1]@[BR'D[%.CMLZSV3@K;F5MFOOU)G1*&8W +M#XLWOAN_R'9![\G-MC=M:=MO!V9FFFEL;RXNNAN7)6%.&Y@V!EWA]^.!<#J1 +MP74&W=YOT&N,XF?WWO_='$ +MZ1\WR;5WGG$K^^GF,N=,:.WMG[)/$\^7X[%K_7G9L^[2JWGJG?6.LU)ZWE7!FHMOZYTYRSN, +MT>YZ5WETN[_-=3]Z[W&[ONJWU<=>/L_#_A/"Q2\/C[NNWMZ;@QUX[Q\3O(Z* +MAOX#.&6=C-COS)S87I>W;^Y)SCM,8,Z[J]!8;S/!.C:(RIW[R?BG9>,.!<\Q +MNUNH7-V!L/WG8RC=P]C.WS?7<3\T]?BK&OIT?X;WQZKX?%<['&]^Y[S\XR(+_^H[;Q;XWW/#>SLW[7Q&;>O?BPB5V +M^[GS"3ACW[E3ZZCC,+&+^(GC^;^CR#^S-3@S[[_;N[P2KRL#ZZ@@US(KBCZ< +M`HRZ8\`Q"ZJ[(C[(C;[$>)P,>;:L>L6$>[P<PDZ2R6,A9 +MVT?,@9ORU9Q\@\?\A,9LBTBY',ATAYO4:1T@`LB<3<;<2<;4HJ+TGLI"T1UBX!TIO4G$IIKLG9'\J,=J`AUE0TFM.L?%152AZ-2T?M3$GTFTEM353J-]/%1U4,J54%>E>M>U>]:]=E=LJXZU?%9M>3CPY@`=@=@E@M@U@]A%A- +MA5A=AEAMAUA]B%B-B5A5?5?!E45N]\F`V`Y,6!-[^!N"UXU +M_=%>"0QV"E&-QF"^$%-Q/-_F#9:F#M'N!>$.%5+L;>""?>$JQ-^N"N%>&ENR +MY.$ERN&`R&$])6#^&N']R&%N'%J6'0R.'C!.%.(&)1,&#+FV(I1^([$.'V)> +M*ALV)LT^)^'>&6#UC>*N+PA6*[Z&+(Q^**:F).+^)6`N+&,8QN,M]>-&+^-6 +M,6-BU6+>%&*>.&/*FN!^(;U>.@D6-V`./6/..6'./\JN`$<60>1>/>&XM]UF +M0Y->1-WF1F%>0N(F2.1&!6/&2N*F0L$.3.,F.V'N+N3N-.,.4.">4>)&3F4V +M(&2^5.(V5>*64N5V&N6&6.462=^^6UXN7&7.-N6>,V5N7N2V5&8&763>6N8N +M$.`M-&9^:&:-,F7>,^9E_%]^:6;.;6;9UF:F8F:V"]ZU[N<> +M<&4^(6=&=V=^>&>-Z&=6=>']X&9%0N;^>N`>>^?%669>?>`6?N?TE.7F@-S> +M@>@EL>?6@]]NA.A5JF@&AM]FA^B%-FAFB=\&BNBT[F:NC-V^C>CD_^CVC]V& +MD.D6>FDN!FD^E&.^B6E5XFEF?!=F2FF%VVF69!=)FVFV<)VE^>G^H&H)>T"` +MO;!NFNGEU!,.H6I>IFII;#>*.9]6H^I&A&GV".BS6HOS'U_^@VJELVI6J^B& +MK,40OVJ>KUU.JVEHD&L<5I_^LVL]QNL&M5&SKD1Q*^KFDFN%ZNM.N=)[F&NV +MLNKNO5K.OFOJ]S-<.^O&C&P=S.N6PVPYX.Q.G>QE\.QVQXC*UJXFM^REN>RV +MRZ^`E*[NR>SEZ>SVS[_#R2^6T>TFF.PNT^U!'>P6UEG^TVU[52>I9>Q6E^V= +MP.VNUZUJN&S>WEW^UVVVVZIVW3\.X=T^WVT^X!J&X6Y=V.XNVVYXY^Y.Z6D& +MZFWZ*VY&U>[.YF[>YV[JUV[^\%S6YNS^ZR:^Z.\^VF\6]6\FX.V6]T-R?.#6 +M?&]:ON]N^MFN].R^_2>>\V_MP>_^Q_`*QN_G`F`F^'`&^6Z&^G!<76_&9'!" +MBO!7"4%B7?"F8'"R>O#'#-M%"W!RSVZ_`?$-\7#>L.A7#V['%&O?%6XVV&\O +M$'%_"?%>@G%O$_&UJ_`VPW'7&O'EG%$^^/$N]G"/(4R7!O`_!_$W(/).&W$? +M)G(V_?)'*$WO)?'_)O(^O/*\*O#F7.S);O%W+W'O+.OJINT7)_,ME_&/&3I# +MKC;O-?-DYO,^N:UH\_.?.F(.^_'&?W/`\7"_*W/=/?-W-[!>R7/70F%G/O-_ +M."$71/0?19JG.VM36NP"$O172=970W&72\3&N_'?3?!G3NXVMC2O,G4=F_'W +M-#;FLG3/2751V?4NZNJ!Z_3760PNL&;G7G7O7U-,8L6Y]G7'7)[N^_7_9'9/ +M90\>HD:NJ76/8N)E2?-ZBO//:':-IW:?&6W':W+O;%PG;71VD>Q?;_)7_?&H$KG>?>@[)QW?/@'@*6,RF4G=W +M?M3)F[;J$O9?AGAL9:$K[^B^W?@_/@RFU/A:+/AWC7C9TWC(`T'\R'?GBG6? +M>S!M.$/&7,0H\$:WD/OF)AI]/J&+/IQ_GK4Y?D7J?;/ +MDHO7JWKF5/H9;/G/KOEWK^*Q[R6Q;?E&6,0OL\7'EOJ7M9SWMOB_L].'@7OO +MOQ><8S5?K&8?NWN_DGF+$J(_O_Q?QA=$8WB/M/POPPA)D_CGRWR]*_??M7R? +MRAM?S'S_T$9OS7R7SEH8AV>7U'U/U7U=YW:_=0R=?WV/V7V?VGVOVWV]=7TG +MTH@GV'W'WWW_X'X/X7X=:/W7W8P]9?XGY7Y?YGYOYU:WXWXXN5C7ZGZOZWZ_ +M['[/[7[?[G[O[UB/G?XYJGUG\G\O\W\]8]VP@(`*96YD$`DB"%H;!HX0TC:UX4#J-@PNL.00"D,HS,*THRI" +M-PQC*I(PC/,LD.K.M,@+:B\`!B'(<2:KD),`++"ABTHWA2ZC;+C*0QQI +M.%(J#5/\O4$ +MB4PI\MH:!R%P;0A1LT0C)+3#<,D\2D.@T#2.=6!0.CJNN-+LUD.\K#1/`;UF +M-#,O)+@C41+X%*XMK^-R$"N,B]U#S-4T)!:_88(XO0%!0*,^#I2U,2[0*T4X +MG-P65S7=95^#A0Z]\5=?5@5Z%`N!F&4G6%/ZA6-9"=JX_4SAS +M4EUT@!5J*!:Z]SU;EO4S<-!R!1`:T>H]&9;=J\W?CN/AG60QC>-H6S\%J4!< +M&X<)2^,FPB(B_A0-L:#(%SF#8-@0-;&3?A!?<9[&*[1M@WXR3@R(4#N%(;,. +MVK2L>%`B7KCS(L*[['3W*P0#=MK-AV$`\C>.NP)"G@ZCFQPQ,RPP4#.WXW-^ +M,X0BX%,_+(LU-HWGP;/V',D:O)87:,%N02B%`F#>,(RFTR0C#Z38#?%?K>I?GP^QCX9:RW_O^D[^T!HTNU\'M_S5G..+/T!0&QV +M2JWK&P<.[J``<`Y._>"&TVKZ@4!&,T_\TIKH"@H%$D&BOWV1*@RI*"890QG5#"&(SIQHE +M,>)A&.*)NH;QI!0&YX1R8R17>RYQ8A;5-LF(NLT'"H2N&Y/V\TK#,%K(19FL +M"([-GBN?4ZHA.A/C2+2+M(1J[WXDFZ:U&0W4.8V!S<0')&,<04-(#)%DW49@ +M;1H!E$J-+!5 +M@.U8$W0$&D'P9F'DT^%*01$2 +MT=?"8=^S^*MVX;@]9*5C'I&'LA9*ZSDX!!B5P]8P\E[Q0H.(;XU%W0R7-NS: +M!Z24KMW4HC<^E-[6`7`)#<(TIX0:W&2E>2^ER28`H13!-RCCD77MNC8:[ERF +MWL!L;?2^+;FX-R!0O>WJV:=3]"-.%<4>%F`@.ZJ(KF(YTS`DD"@.1&Y$!&4U +M/^92GDEDIQ-0>21@+D@YH:':W!V0ZOLQTQ9]*CZGY`-*XXTX:SC9!#@&\W]1 +MP4OWPODNAKYX+K;AH;FID$+@*';Q,89EXTK6;2Y$C +M:&6.&7J/IPSHB)Z.;**9W#F&.!;7KP0PR#9Y1YI<H\ +M0$>NM/X9&LK5)\-7#@C1&3Z&R+`11%O2"+@08+?S=1L@;P04WT^&5AQ\]1*P +MTB"YS4='/3_ET#!4!/D(:9,!F!Q9X4F(1U`$:3H('>(?.*?&;*?J`*%!DH:"DE*):F/0!KJ?CT$2(&1)4!_#\; +M1EVNF>JU4.M-!LDP&JZ3Z$T#B`K>ZBW0ESWXNG=,?-Q('1'4W1A=&4@/#P*+T=3,2`R +M-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3-"`X,#8@,"!2"CX^"CX^"F5N +M9&]B:@HX,#8@,"!O8FH*6R]);F1E>&5D("]$979I8V521T(@,34@.#`Y(#`@ +M4ET*96YD;V)J"C@P.2`P(&]B:@H\/`HO1FEL=&5R("]!4T-)23@U1&5C;V1E +M"B],96YG=&@@-#<*/CX*GIZ>GX^"F5N9'-T7!E("]8 +M3V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M92`O26TT"B]7:61T:"`S,C4* +M+TAE:6=H="`T,C8*+T)I='-097)#;VUP;VYE;G0@.`HO0V]L;W)3<&%C92`X +M,C,@,"!2"B],96YG=&@@-#8V.0HO1FEL=&5R("],6E=$96-O9&4*/CX*$0F%0N&0V'0^(1&)1.*16+1>,1E_OF.1V/1^//M[2 +M.22632>42F52N62V72^83&93.:36;3![R"=3N>3V?2&!/E]T.B46C41_/9[T +MNF4VG4^H5&I5.J56K5>L5FM5NN5VO5>-T>Q6.R66S4B@T-_0RD4JOV^X7&Y7 +M.Z76[5.POZ]7N^7VD7W`7N_X'`6JTT.?T)]TF[XW'8_(9')5"\XE]XI_9;,9 +MK%X>UPNVW!\Y/2:73:>NY6SYFU8JRZS%ZZR:S/Z[+8NW5_1ZC>;W?:;56;8; +M#7YO5T+:X;06K<[_G<_H<[@\76T.$=78YVC/]_=7DXB?\RG:..4ORTR/>CS3 +MGS]'W>_X/?I[/C/OK]G\0*B?KO9ZV/$IKSP$\S=P&]D"/C!,%-X^:QN&Q3[P +M>_9_OM"BD.0P[+O"W#QO4]:GP+#\107$D2L;!JQ0D^RCPM%3K/Y"[.K#&2%- +M#`,/)R]#TQS'D1Q-'\@*_%"CQ5"RBQ:^L7R,_L9PTGT`1PW<>/;$,>RM(,L2 +MRJTAJ-(L6.PXC]1@[+OL_&LH1%*4JP_-U[WQ?-](?>37'^?&`8#@6!X)@N#8/A&$X5A>&8 +M;AV'XAB.)8GBF*XMA28>9[GV?Z!H.9'YD]^OW@&A:3I6EZ9ING:?J&HYOHF47 +MGI&I:QK.M:WKFNZ]JFC.MJ^O;)LNS;/M&N;`Y5_;'M.W[AN.Y;GEFUVIHY\; +MIO6][YONF;MC6W;]P?"<+PW`93P7#<7QG&[/Q&K;SQW)\IRNH\AMO)9D@N8H +M%H1_Y9T&I('G//9^?X/I=_Y_HYGXS[<5VO6]GUG2=3V_7=7TWFY +MQW/O]!UWN^]\G:?3W?Q>GN'F^_WWV^-_$!X!/4@7`5ZS+X$0"?I"2!K +M[GN0=@BV>!T"W[0?ADT-_3=WCNR@U`R&+/("P5A5".#<,8>P??/"F!,086OS +MA5"B(3-8+O:AU$B"D`8HP.A,^"(\68B1,?NYYT47H-Q`B2UB*T38NQ`B>\B' +M,`WU1MC%%R#CH7U0S?-&Z,SZXBOCBO"N,;;WZ1VCI!:&K@8U1]:@^60T$8WC +MZC3(EK,+)'/!D7(U_L,&GD&>=$Z9U2^'Q. +M(ZP_&2SQGE/.>D]9[3W8!/"=Q]IX2ZG]*V?389^2%G_063=`7]SOH)0:AD?: +M$0VH'0VB4CJ'L:G[1.C$2:*LIHNRQD3,&.4@9#2)D%)&/TF9)2AB=*J0LMHV +MO.CK*V0C\I8Q"FC+Z9TU8K3=EU.:<3QIXRUB]0:/,@J)2]?U,1]10>+42F5" +MVIU.J75!GC1*1-+JM3^K%4JF-"JS3VJD3JN5AE=4>=M`A_U*JZZ^LTFK]0JR,YKG45R]<:JUZ:#7>I$XXU5KK+5=GU=ZGU;L)7*OC0+#53KS8FO= +MD*^UFGW6FP-=6<6-L$_FR5C+%UNL[:"K34+-689C:6Q%+JST)HC72.4BV7VH +MD[7:M\EK(VCMM6RPD0ZFV0C?&BVL(85NLME'&PME*T5JP=N((6J[D7[K7 +MMNC(&S-M8L2"M]<^^3*[P7LC6W6Y%K+SVNCI)9]#^+_Q:A%<2_$1Y`7&O]7& +M_N"<(R,L_@R&5O+BPHC+$;"=^[WW]PQ>Z/<1'X/BO)96Y5KX#8?N_<%]L"<2 +M7@P3AI\MQ<2/V>7C&]<%,88"Q-AZ)>)\?7/HN'D+)#M7JY/NUB=Y4,\.WABWEV]&19$7CRA1:R\3' +MO1AS%F_-N3LVQ#??DO$T/8P0QT-@=\+]<=8:BWH',<&7HX=:;FN_FHLKQ[CGI'$MJ +ML69UB[&S%U]LM1?A%EG)F(WXPRQM&Y^%K\CZ:T1>'6$#(IY)I=7K%,7L%84C +M;BA]FT]+WESI=B*FE\,U1S/#C66Y;=:KM%N!IVKKIX&BCNENNWJ.:ZW#MS=5 +M]]T25WQNRR>^]XRSW'5[@=8N`;ZUQW!.#VGX+N_1]BN&LVW=:G?W$+#W; +MWGKGB^Z]X6WX[:S8YO-WG +M,S>=\RX3@2M4W*033Z'S"G'0NC]&I[.7HLT>F\VY_E&TU&>J.'WI3#J?5>M- +M]TQ:WK?7W)]=P+V#LCB^Q5*[+VEOG9YU]M[=V_N'<9S=7I]5.1Z'I>'>K]A['V7LYB54]#K?T?GJN^WL;[ +MGR7N_7<"]][KVWP3^5>;YGS?'_/8U]'Z7B_J,I^M]?P_V5 +MY_;^YX/[R_OP?A[_^,_?Y?S=J_0=;]7Z^R_M/M^_^'8/Y:MJE_7M/]_Z?ZZT +M_XOH_\_.^*^7`#`$_9`(^A`-`._C`2^K`7`8_M`<^U`A`BZW``X=`L_W`F^_ +M`K`TZI`P^%`_`D];`+`S!&Z_!"^/!0__`X_)`]!8H;!4W%!C!;!+`5!/!JHS +M!FW[!THG!XT=!\H9"`TE"$H-"(]Q"-"'!<_3!A"4EM"0]["?"A"8_="="FEC +M"B_S"PEE"U"XH+"]"^G]###$ES#)#*EK#/#1"S"J_G"O#6E'#5#@E9#E#FE1 +M#K#LE-#Q#RE%#W#XDY#]#^DC$#$$D3$)$*C[$/$0B3$5$6@C$;$<>G$A$B># +M$G$H=1$M$N;U +M%C%D;G%I%J;C%O%P;?%U%V;1%[%\;-&!&";)&'&(:[&-&.:W&3&4:S&9&::E +M&?&@:A&E&F:=&K&L:9&Q&R:5&W&X:%&]&^:!'#'$9]')'*9Y'/'09U"T[W'= +M'?'A'BGC!O`>M/'E'O'Q'S'T85'I`I'6CZ]O'^>!(#($=/()(*Y,C,O,Q,RFVG:>C+TK3"W+Q'',Y +M,7";,;-!-#'--'*%,JC9"E-1-3,F=Q)$(%-=-?'3-4<[-G,_-L:68!-B=7-U +M-K-X9S-],[.#-/.&9Q.+-)"M-,R4AXP#,(UY'7.7-7!P>%-VC@?-.BOFOM&S +M.K-S-8CDL;)H=XB`S_'%/!*7/$?O/(C8Q2V4@TPNS^D]&#/4A)..C6O"TY.P +MU0U)*3&5/O)Q/8?'/R2DU/^VE&A0%*W0)-HJDRQ/]*K/,SQ03/M-Q +M/7.NR50-05*BBY/XT/+#&/0?,I0[,LJ:9 +M474D@/4%4K4/4O4PW$F/4I48F0[I";,U5'5)5*F4R>'[5352'Q55575#"M5- +M5C5E5DD*:)5:GS5O5?#=2'42<55M555Q6!5T=%5Y4-5\'Y6$PQ6$\#6+4'6/ +M635^'[-\]+6;4!6?6DU837]7U2?7JH)8M8C8E7*P%8K8A878]8#8I8W9%6Y +M896=8=9/7Q`I8Q238TX%9=`[9A2)9DR?9I!?9M1]9PW%9U5%956M999G8O:% +M6]:)9S:-9)8_9-:+8[8]9\VG:!5A:/7I:39_:7:9:E9!:U9):Y9-:A8E;`PQ +M:I5W:M7W:Q:G:]:C;5:[;%8/;)8Y9':W;=;#;I:_;M;+;9;';U;G93:8L=:S +M:?;Q;;:5<)#=/>';W=U4E=Y>+=5>/=9>3===E?>O<5>E=M +M>I=Q>MQ?!9?S?#>W;7<1>U=I>Y>!>A=]?E>)?A>-?=>1 +M?I>%?M>9>]=W?/9W?3.3?7?)?%>7;_?Q>C?U>G?Y>5?]@5?9?C@;>[@?>K@3 +M_@S=+7_ +MA)A;@MA?@Q@C@U?1@1A[AM9Y?5@%:#B!AC@E@W@IASA-A7AQ:=A%B=A1B9A5 +MB5A!BAA=BEAABIAEAWAIB#=ABWBQAUBUAYB1A]@'B/BYB3A_@YC'B;BMA9C? +MBKC;B7CGB[C+B_C/B%@).'@-CKBO;W@]CCB?D%BCD)BGCOC9C3C=D-BSD1C% +MD=C)DAC-C7C1B-D;8MD'D!CEDECADYD+DUD/E!D3D]CID9CME-CQDICUDMCY +MC5D5DO:KEAE5D7DQE3E%D?E)DCESDGEWDKECE?DS2[DWE1D#E[D_F-D[F1E/ +MEOF/F)E'F5E#FAEUFEE+F9E7E_E;F#C#F!EKEE;/EIFQEMEGF'9#F%EQ2ZF' +MG1F>'Q7[>;4?6O8)67@!>=9883GA498T8+G)G#F'7/7-G9F77JGK1KR?-J5K% +MH#J?)CKVJ?JIK52UJ\8#51L1*5L*P%FH=+L`E]L%KAH(VGL?K_KKIBE[KQL; +M*#KVE]63JZHYJDF!K]-MH-M%5SKIK98)M%7MJ;MEMFF;6DE[GGL_JAJ]JV'[ +M7AMIM_N`F/MMMYMS2#JCK+N1N2[WM:SIN5N=N>GKN8933SNINKNM3NH$6]NU +MNWNYN[N]N_O!O#O%O'O)O+O-NSO/O3O5O7O9O;O=O?O@.$0SOCOIOKOMOOOQ +MOSO",^7:7AO]O_P!P#P%P'P)P+P-P/P1P3P5O_NOP;P=P?3>("`*96YDGX_LQFZSE-5J]9K==K]AL=E7,L_M._-1M]S3]QE\)OH7AZ])]D^N'QZ3:.-L^9S>= +MS^AK]K>[_ML%U+]ULOV+[UL'I=QO,OB*YRZW(]CYO/R/59/;T?A\?E\_I8NG +M@>UVNKN?Q4N^U##,$\CUJZ][5O4XT$+7`SZP;!T'P@R3[L`_*]H0Z\,,&JQ_ +MG]#+?O"IT!.0\KUO0I*20*]#EP3%<41+%JPO-!,20)%D$14\L71E&D(Q['T? +MR`VC_.XOD*JG"[MPP?B!*I)D/-*[Z%.%`L4O/&481/*TM2W$TNQ6L$=QW&LL +M2]+D9P(Y,@S5-33&LJ4`K\OS1`TP +MQY0M`QI!4Q4'-M(4C23*R&_LXJO.\YSI.\\.!`#@Q%05"5%-,%4?/U`4.I)DG6`TDI5#/]BVA9-!T554J599U%6?5L9P9:MY +MWI24)SE;-=R3?=OV^[T]/%8=R3_,LLX-&\N42L3VX9-%2S)+%E7KB>*4C>Z# +MVY3:"XS#2JPY<#@7%/EB7(DL4S/AD53/B4P1'=LM_**$RFN6"Z/JNK:NMS:LNT3--1K>N +M,QKVP,S/+P:!H47:QM6U[8K[2M.D>?[AN3;Y\P*K8%MN];WOFLR)N_`<#I4/ +M[&S9\)#Q'$\5Q?&<;QW'\AR/)(CK_"\MR^N*Q#_)\YSO/<_T'0]%T?2='S3P +M'^??5=7UG6]=U_8=CV79]IVO;=OW'<]UW?>=[WW?^!X/A>'XGB^-X_D=U3F[ +M27Y/G>?Z'H^EZ?J>KZWK^Q[/I^7S?M>][_P?#\7Q_)\OS>K[G4?/]?V?;]WW +M_A^/Y==]-N]4@GY^AU/5H%V/^N](&_Q_X^X`OW?S`>!$"8%/4?JDV`T#X%O" +M?W`^"<$X(/*?Y`2#,%8,P1@]!^$$(780-2/!""T(H,0==E"=^C_H-POA-"B& +M4,X:/OA(\V#4!G4P#@+`1_\.X*P_AV_&$\18BNLA[#V%T2'6P6A9#6*$48I/ +M2AN_M_$/H=0P@U#^)L6X3$A8JQRC/#E_$BHO1XCS'N3D9)'N_E%)F54JX0R;DM$V`<6H!/]@Y$ +M2%3]X>2YB#*F2LD962_F!*V0\)9*2WF#*28\R9E1LE=)26,RYH31FE%&9LTY +MK37FQ(2:LV9N3=F],(TBW72SCG).64\YZ3U8W +M.%)I`A^S[GY/V?T_Z`4!H%0.@E!:#4'H10FA5"Z&4-H=0^B%$:)43HI16BU% +MZ,49H.0.=I`Z-4?I!2&D5(Z24EI-2>E%*:54?'S1R?"FY]S?IE3.FCYQ\TM7 +M\YN?0_::T]I]3]ZE-Z7*>GR/^F-0*D5)J4[^H5.744[J75&J54W85-BK5"JE +M6:M5)JM1VK%6ZP5AF_5VEZOJCUBK16F:59*B4PIY&"3L/I?5J>V[.5-=(:RU +M@+'UUE;'F4>K>\6N]'C2+=?8RQ44Y:QQL0ZVOU.JC6!>S"RR +M-C+.6'L>\FR,D[/Q2EI:&R=?:<57LO8N.<099USL-%Z1EB8%Q`EG+B9\`K:/ +MSMC9VT +M)3J[B3BN-8*%5II)7,F-;Z$5TK0POKN_"S=X[LQ0O?!V%EWZBUG>)?.X4G;I +M1,O7="+5Z+_6[EM*:_]\96WPOHZZ^U;GCWZE]'BSMI[$7M@1>J,5[,`7JP17 +MG!4%,&6IJ]>%X=>[Z2QMS*2,-A+TXGM/;>Y,'L(8=P]!2(6*<&UFLQ,Z[M88 +MGX6QID%XV.;`9"=OD#(V27CY$J_DK)V3WP9,Q)E#*F57IY2OQE:35=LM2#RQ +MCO+L?L$RBL=F&*67\S2#P/@?-,,LT9)MM;BW&9,D5PMG@+-L-,WY&NC@&)>, +ML%X4SS%'/>0L.2`NQA?#^;-!P@T+D'0]M,ZOMQGHC1NCL15ER+G#/U?)*VUO +M-;/2^;M,UMQUDJYN+\Y:KP!@;4<-='Y:Q_J_2^L9:UWKW8& +M3]?W9UP^C8UY=@PHV';_8N7'?8L?U"W9NR7V[+M'M//[O-H//E!*7:C\]K6? +MBOG':4N\YO^QO%;$UB9:8PSCFO=E-M[66RSC2V,9HD;CKM?.,,*[92?S]>7/'"8$[AL?P^Z# +MF&".)2PWW&+/:HE1MG(\`-$NTT_U=\W6>K +M[8VUBGL6>NAWWS!VGMU8.R=O[E3[9?9JI8H[M=7M$$LZV#W1CWK]:N07_VMV +M;2?>9F=5C7HSK?5M1<"[!878G`?"=KP=Y'KSN/$>+\5&KQFS_-78\9A+P-8K +M2R/S*ZKCV2*]Q)NCU#S=VNJ1[]=[%[6Y-]>MPKA+F_4^(2G]'[_VU-)'6:E/ +MUGD>"[IQ<\=)F]=[_/WNQ?>W@G*NC_`]%U_DW"/31\6<8^_*N/NW +M;J:`V1'7J.?]5=[S7]K]VS.`_I]5Y;4_F/0W<_K\/!+F;&+U+4"N*Y;F2_C1 +M#TD!#1*7CTK'S_KX[_#3;BSKK$"X+U+?;YS#[5SZ*&S\K?[D*N2\B/B62'BR +M2_\$K_RF;P:Y[NIY3O"U[X$%+&3W3&"N4&L`:U[WC]K=S];#+%3JK:#L*O"U +MJYRX<"+?$%SP#N;.SYJ9$#S`D&2T;N,):&D*,*C^ZH;>[*<*\+BG\*<+L,": +M,+[5$*Q\:Y;W\-"5[5D-2Y4`C=+Y\',$*UT*4(\+;0<,J4;Y:%S0ZZT%;?KF +MKGT!Z-$#"M,,;K3Q,$#GL"S4,1:S;02_L"L1:\\!JL40S'RSCYCE;,:V#\D1 +MKE$/[C*1<2#_D1D.$2BL,2RL#XKC,)I_+YD)4/L#[G;IZY,445B_<4K5CW4/ +M";$5*K<5;G<5JWCKC5T643T4#G$8T4T7,'\82K,7RK48"Z[;;5KY<3K&;2+" +M;W+]JWR/\4:5\7B;,:"K,:3"L)T:L`$3\8[B[0+RD3[XS`<9,6:^,<:JC5+V +MCO<'$&[E4`$;SV:Y[\<.+U$-SI<9RJD>L,,A*3$A$A4AJ04ADATB**DDZ^L.KHJ_)W,>$7*]$<)[$F"TCB+R3[C:4#4FZVSXR)\B$7<'C=*T +M424`*Z"73V$DJ$#W"2+V$FS-!M"$2=",4 +MC>4Y\>\XBJ-"SXC[TH$*LNZT46R'4X3<=&=&LJ,X='$X=$\&U$2K=%4%5%DM +ML]+]4M%+=)5+5)$95";GZK5'ZF5'<$T[#:+J;^#!3Z]-E/=-4( +M$JT74?\O"H%.,\BG]"E"M,%0M12-=0E1=1Q[%1M1]23*]1+`JY50*"+%,^J0 +M4`LZL^TY21K^$]#2]';P$\SP[+BPT6,K-,TV$\=PJ95.=N$P[WTFL#%0]15S%IDGUO5O=QUP=SEU +M%@\V\Z5U5UQ]=T5U]U%V*;-S9[[OMRUFL,%VB;%VSV[UD4]W,BMWB:]WTH4) +ML#E;5*=W=T[9E#-'*^4^4.+ZK[%G[>SSM]=1U\B55557;%M(EE"Y%^L^$B5^]_"7 +M-B=XQYR(SP"S5#CI$$M]D*^`52=5&!V!]]UV6"QZ6"&"]1^#.#51>#*15Q;L +ML%-BTF\;=3:RF"MCL"D/<04`3;\0C$KH,`UC=UCME.V%=?,$5O]4AZ.`STTI +M=],+$Z.&RP5&]9EM=9TRDSLRT3%-W5V](+^.% +MT5U^=,JYKTM!&F(>.,TD7$"]7+/%_1^5P^%V,EP%Q$`EA6!&.E\[/.& +M=U>0S_.&-CV%LU%@5R-:.,5,:+.-:%-Q%;.,\]4FDQN0F3:U4G.&3KL^8L!S+=P."V#EL6#M9&9," +M6:>:^#&%.;&;=JV;3,UX5?-5DV6=#N>: +M+-4]U9=_F25+N=>:FE3DM^9^?-?.?>(6=L0]76A +M6@=O.=>@Z-K#%G]:D=6ANBT1%$N86!K_](6ALLF:N?S*M^NDB0NCM[6E296E +MFEU\>;VF.FFF"3",><%B&5 +MS&K^.>,-3Y.>2Q6FRR%F^$-:C;JVHL5FJDW67D<]5>+>@ +M.7SM.L=[FKNIU:-;>NFJ5DDV6"FI>=S<6A-TL#KB#%LS(6T&FFMVR>T +MNDFTFU#H.#[Q4:FR[&SSVG><5GKH&9FQ6B&KFRV?FA[;FG^QK],`VV&@L].H +MUB]`=#6G.H>6%EVT\DE6.1<`.MNN>)=Z-!FJ.1+,6T4%6(&?%E][[$V(TJE5 +M>,"/.K&8-M6!=.^?6+>,>*S7,O5;VYVNCTD5^]<9F46C48.[<%VM&SVM5=5= +M=F6\K)[XN-RU&O2UE>N.EAD9&Z;Z6N.XF@=D4149>[-_F_B;^36YO!+!]A4R +M6Z-MG"6<.Q./$/-5NW6D<;S[.?&=^566+$>IF5-`%C]))5Q-?G&R& +M%TDV,Q>^&YF=G&.O6T?+3^U^)E&^V=B,&MH#Z%/5G#E>S/%T"^9&?NH +M5HNY6U?%LANU7+[A/,7,=N.^?,V:_,J8'+W$^B6;?->EO$Q[V/F/F;'.+\VD +M7"NE7/#0%Z^SW.>/,9'0-2?/M3.@&,>V_$ER/`EK70UA^PFW$Z^AG0E271]* +MG$LE52VBFCG-$7[%VD'1I\_3FBO4NOG,'-+975KC_6"2_3 +MW6C0?6W6[-O7.D6V.JZ.W0#OW*-W/'$5'64_-R&ZNI +M\]?%&N]5M8_,_#K.&\^D.]+G,-]"?9LM-2_`7;7+?&4L/<4D&-5E56>4UM\F +MM\.3%I78\>TOU%O'>7$`[;UB&E.>?>SN^OO2I\.06`O?.'/%G33EG:.1W@?8 +MNZ%DUD$$G-C6K/B$+WC776Y[,6";4?AOE +M#77D_EUJ'EOF+*&UMRG;W0[D/15NT&ESUSTY'CKCB_M4WF&";OUD+R':6._D +MMA.XV[7#[MW'7(C36D\GGE.\<=W25I':R;65U8,R/J,I;FSO!G$.KW>DP?BNZW=\-%!=TCM/J6.WR:26P +M+Z:)??^&6LO&'JG+C;3Y4TV]OI=-&49?9_FDAWF?Z[)7[/[3(W[G[K(/[ +M[2CGOG.D5:R5XJN7R&;SF=?> +M!?^#LV'A]!SVGQ6-B.3U$ONL?Q\>R=*Q^:UNWW%.T&BPMGTMIW/!KE8I=2VW +M"BMVXD@S7$Y4FY?+Y'3ZDOW=EWND?^FZO=[W?\'A\5AZ[\PF&G^_\?K]GM]W +MO\/E\^^[?`^'W_'Y_7[W4WP3L/0Q#^0'`D"P-`[Y-&]+ZP.]S7P*D2HMLS*F +M(7"CCP;#*602[,%NY#3Q0?!K5KPAC5(NZ#61!%:-0Y`+U18\$10,J<2L=%2% +M1(K<=QC'J+Q<^D/Q\U#HN=(T,.JB+,KO)3HQPV$EH-)$AQ](#M2%*DB1W'4N +M0=&LBPG$T*JS+RSWN;,L(SO&T\ME/\]S[&%&,30,;T%'CQQ%.L\40JU*I5*=(0U1T&4_2,C +MPE"5"2DZ$Y4.YE%KK-[*U'(=0RQ65;.G3U;S16DV5U7U?V`UM>6#8EBV,O]A +MV/95EV8HUDV;:%HVE'[_-#`$@U[:=M6W:%GVY;]P6-;UPW)C\WE>M\7R\5[WU?M_.%?E_X%@;.8#@F#X0N.#83AF&OZLCS +M05/V'8IBN'O_B,.XGBV.8ZF.%X]D.1)K:K>1?461Y3E4TY+:\KVSE>8Y%D&9 +M9KA.:9MG.!9QG6>WSGF?:#>&@:%HMTZ)HVDW!I&E:;:>F:=J-F:AJ6JV+JFK +M:S7VL:UKM1ZYKVPT;EN,Y.H*;;1M.U;7MFV[=M^X;CN6Y[INN[;OO&\[UO>^ +M;[OV_\!P/!<'PG"[EB#YROPW%\9QO'+WW<,.?*@^7YGF^=Y_H>CZ7I^IZOK>O['L^U[?N>[[WO_!\/Q?'\GR_-\_T +M>U:VRK/R_W??^'X_E^?Z?K^W(G[]?$I_L7^V^_IB3_H!+3@`QJ`M1P<&'!02:K!1_A!'',P9(X*$4%G!PE@XSZ#Q1>,<7U.IT(7&>+D7 +M7D0?C(B(TIV(5'N/C(H_2#4 +MRF*2!Q2"2&3LI)'0^Y**94*5614BV/2-B2HJ-,EB!R44O(]'2\JYE?+!BLLE.2M1XC4@LJE*2BE3+N4;L^F"3\*+/XEU""6T#H(P*@T]:`3 +MY(M'6>\[Z&L)E`^EY:U'S4-S+HX1!HU1NB;YT?THI!'V>5*Z7*6I;2^ +MF1WH_4SIL;FFM-Z=&GIS3NGR;IY/&J%4.HE1:C5'J14FI3PHWD^J=4^J%4:I +M53JI56JU5ZL59JU5NKE7:O5?K!6&L58ZR5EK-6>M%::U5D?W6NMU;ZX5QKE7 +M.NE=:[5WKQ7FO%;:]5]K]7^P%@;!6#L)86O)A#S#^L58NQEC;'6/LA9&R5D[ +M*65LM9>S%F;-6;LY9VSUG[06AM%:.TEI;36GM1:*I=J[66MM=:^V%L;9.H(" +M"F5N9'-T1HY`BI)!C`HO%[2()-19^-):5*O%X)%RH8YJ5#N"BV*!B+1H*1:,1P +M,AP*".93H=#2;C.("F=#"_;^O^KBO(*]:U)VMKJ!N_R./V&JCAN$"Z)J@B_BFT00"2((6ALDXIC2 +M-KLA0.HV#"U(Y!`*0RC,V[,C*D(W#&,JDC"-S2Q,UJ?*`)CRO.B2UP6MC_A< +MX24,0%P:+,JX4",-(SCJD*?)>%P0"8-XPC(Q[(CH-$;"X&89!D%(J#4L0C!B +MMD*K0GX;J$O`B`4%K^A@CB\@4%$P#8-@WS--"QK+-J +M!0HW,!280D&23W7)@7!K1ZTU:&:A-Q40:I5>BQ7NE5]7X!2`@`IE;F1S=')E +M86T*96YD;V)J"C@R-R`P(&]B:@H\/`HO4')O8U-E="!;+U!$1B`O5&5X="`O +M26UA9V5#("]);6%G94E="B]&;VYT(#P\"B]&,B`R-"`P(%(*+T8Q,"`Y-R`P +M(%(*/CX*+UA/8FIE8W0@/#P*+TEM-"`X,C(@,"!2"B]);34@.#(T(#`@4@H^ +M/@HO17AT1U-T871E(#P\"B]'4S$@,C8@,"!2"CX^"B]#;VQOB$A(S=A(21$-T$U44-F+2$A)V(V(3L_2&XA(2=B +M-B$[2&=B-6-U-U`C45(L22$D1#@L-5%#9#-5%*4B$A.G)'52$I +M:6IT-5=$(G0[:55H6#510V0L-523I%63510V56(2$G8C8U:UDQ2C510V13>GHU44-D +M42$A(S=A-6I327$A(2,X1TI(/F9/-5%()U,*-5%&*$,3PA.S9";2)O +M<&]6(2%0569>24HZ<#510V1?(2$G8C8*-6M0*F@A(2,W82$W6#2TQ8+2$A)V(\(3I@/6@U6D`X03510V0L +M"GI>06XY*#511B8\(2%96VC510V1>-5%*4$(A.G`P:EY.)SY% +M-5%#9%$A(2,W83549R5L-5%*4DLA.G`P:G)R/"5'<#\G<"IS.%5R94L_7UUD +M"DLU1C5O4U1"+BM(3C0D1WX^"F5N9'-T07!/;B$D +M1DXL(3(P0EM>07!/;B%J1G!4-6$\(B(C4596;B$Z<$AR-6-K(FHC97!`:W!! +M9$=9(24E6T<*(U%0+68A+T-0/B$A(2(35(.$MP +M)'0_2B$A/#,D-5@W5"Q05W5N7S5K8C9>-5@W4S0**SQ7;TPU83L^4R$A(S=A +M(21?240U44-D9B-13VI9(2$G9$M>7$!%;2-*54]#<%`R(B$C56=A3"-EC510V11(2$C +M-V$U:E-)<2$A(SA'2D@^9D\U44@G4PHU448H1R$A3C\F-5=3;%07!/;2$E-V=)-5)D7',A(2=B-B$Z7B1H(2@V964U448F/`HA +M*%0Y4R$D1#=!-5%&)CPA)&%@+S5:-UAA-5%&)VXA(5XQ/"$[-D)M(F]P;U8A +M(5!59EY)2CIP-5%#9%\A(2=B-@HU:U`J:"$A(S=A(3=8-S8A*%(B:WHA(2,W +M83588EEC-5%#9DXA(2,W85Y+3%@M(2$G8CPA.F`]:#5:0#A!-5%#9"P*>EY! +M;CDH-5%&)CPA(5E;9S549R4](2$C.'(A)$9.+#5H(V-'-5%&)G`A(FQS1S5K +M63(G-5%*4DLA.FE!5#54<"L_"GIZ-5%#9%XU44I00B$Z<#!J7DXG/D4U44-D +M42$A(S=A-51G)6PU44I22R$Z;U>;(_'] +M?\!@<%2L%A+Z_L<_,?F\[0MUZ]M;7O-YM\[VZ)PQ$@2C1/`+&."A33.A!T%1C#3HNI!\-0C#$NL^T25)-"CS185AR91TG.)2-9PQ!D> +M01&2I.=:D^QY'=GRM7UMP]8$D5._-OT._MB0!5= +MYY0T!9"P3ZHWH>B:+HVCZ1I.BX[H&FZ=C2E0%I6IZIJNK:OK&LZGJ+A'^?>O +M[!L.Q;'LFR[-L^T;3M6U[9MNW;?N&X[EN>Z;KNVW6'F41[OOF^[]O_`<#P7! +M\)PI][SJ7#<5Q?&<;QW'\AM_$:[R/*\MR_,=[WW>=KO?<>'T'6=#W"!=_Y7E +M^9R'@];UG=>)UWF^KZWK]IKG/=OP_D>3[NPH)['Q_)\NT>?[FO>AZ?P?;\WW +M_AZ_T>)]7T^']?X_S_7?_G\7O/0@`]]_<`X".F?G`6!$"7K0'@5`V!SLX&0/ +M@E!-T4$8*07@PX]Y[6H.0=@]!^$$(2*O:11"*$T)X40IA4T.$B:R!#]AA#&& +M4,X:0UAM#>'$.8=0[AY#V'T/X@1!B%$.(D18C1'AVHQB$+A_Q(B=$^*$48I1 +M3BI%6*T4Q\Q*;T0.&$&8O1?<`/F+*R&I0O'[&"-$:6YQBBU&6)L9XU1QCDVF +M-D9&NQFCG'F/388ZP;C?'N0$.W-W;A9,ML=W)UZ3X9/OWVAM<)Y5FK6W&MMJ[76-KI4.SU<[+4GJ?8FR5G;6T +M+6>\4NI+RG=UBIM7L'7WPKA>I'9"5K:\-S]P3<*W-C[=XRH_;JRLV*W6OQI1;!=,[ +M>V$K)C^SEI;<8VKW6*R,\:?7JC;0S&&*\=60R-;S(N,[/91RM7&IV4,69!H3 +M;VZ=]K;R?NE=+$ED:U6I;%B^_FJCOBFEK3/U +ML\:Y?GUJRVV&W-D9(VOJ'(F:-MS]NWK76 +M>P#\R\*LO>>K-[Z#86W+H;0V$:._YGS7G#LN;UXXGPOB68<4..M=?SCG7@FBM% +M;BMIU/M$[.S=HR5DR.U-LGZ"WQKS+68[3Y5VSW/>/6<\9=I;HCO^R\@8MFO, +M>:EY^QV4;1R^;W?.Z5][MJ/=F^=_]@\?GS'EUIJ7:VME2<'FN3>=\_X387B^ +M4R]P5XWR_CJCRFY#SHGE[,^;O-^@O)TV9TW_86:I9[#;+;N$6F]E +MY7*FN,':Z^/Y;O=C^EYCJ1V3/>I[H=.;=Y_(_-C[>3]+_K]#_BR;(;W[-2M +M+YC_S(+GCO#,#<#@[_#)S_3[+I+G[I#T3CK%3B+H[AD"T#J@CD3AS#4!+0#V +MS"#BZ5+IC5+#,#*_$"+N$";G,&2#3=3F\&<&YT4&T'$'9R\'4'D'YQ[K$#D# +MT(B8#BS$<"C,"[#H,$:7!]+3K,RS+CR73X;HK^;%<(;DK2R],);D[VK$ZA,( +M3Y\,;O3&S3$)2Z[@:@<-4-C@$-C1+L3N;<4!C,RQ3?4-;4+7,,,%Z]L";N3_ +MD,CR#8#"$$SV["S4B:KJ+M;$BTL0<$S>"DZ6423PT2+9#=37*5[MRKC_3U40 +M,`3Z:T\3KS+0[4K0CR,3+-T+"3T%<444K@KOB[S6KW39*S;1D!SY31T/BX,3 +MD4[YK@2[J\$5K<;+C]Z>:JZIZBC4KW3WRZK+CJ;23W+'49D+ZD,8[$RE[;#> +MCXKO$`3>3R3939SZ3!K)+\D-SSK8$1;[;-\-KXS[3Z[ZS2\.L.#R;[S^L`+X +M[T38L>S*[5T%+C,>+^$=C^3]SGS9D7[Z;^$+L?<)T24?<"[LL>D72_46\0#\ +M[ST`CK;,BSLC3<\`T4SK#;9JHTT41D8C" +M[>D.DQ+Q3$$U$32P$K+ZL>[_L4"?$/[2#94QZO+X,S6DQ\5$:;TI^LV3-LQ4T4E;;0,6LWLDTW;X%;-<$O=6=--$EF%3=ID4 +M-4BM[0LDS)LY+;<6 +M<5==$M:>C^M\EAM;ST-;]]L9M+CSU>-EC&%:EXC?\[,*C@T\]%=A5V-U[5CH +M3D;KRO5?CT;WM?\]]U[.5\4+D@=:+U"]TS=IUBK_%]4DC%^MI5-U>N&#[-J%=M@DD5Q^/UP=)56F/]Q=P&0=-60N0TK5R-)V,L%$L6."RET-/]W*V-S5$+M=Z5S +M%R63>1C!],D%=E>)-PN)=[[K;:L`%V3(\1M3^5.*$U]4U']UF4KYTR=`DR]> +MEBD>&&K8\<=8[D&5V+K4=9DT&.>)F6]3MA]HB3<;=[N=%_4_-B^+=7+3>&3KB^TQ=0=9=GMC5%=R^(M2NBF;^B^#28EU>AFE%_UADBEW5JEK#? +M=D6,U'>6.E&D5B#:5QFGTL&-5V +M>E4RV/N1-Q61&J4J6JFJLIVJ^K$(&1=/N1L$>1]0%*30F'%0D)]T=Z<*LEUW +MVI6KT*]+,)4M-+4$N3[M.D^FV4U_4`%T$C\PEKM1,G>ME=MUEV6*67E(-AU` +M>Q&,.%JB&:6AMKE6UZU5;P,$%Y6RNQTTM[,^\T2<*[;/49U9V96O>>NI.I[?%]DXU=DR$9;=<^,/%B.QN@FO$`E>^L +M5FE@\8E?\X6/$R&E=KV;F.N"V!&<^!+W&YVNE=]Y^X&G5EN"ND=&EBU;F8MD +M.+FX4>%CLQN@UY&9&&<=&*$R6Q*R6B&4.,6D&U-3NBU\\[E*V]-#6'6'MH&M +M^'>&F?\@5GN_UFV^UL.TFN^?&&K_]J*S&+='6#^Q.H\<.[\_^+.\O#E\%&5% +MV9F"<&.GFMVI=M.2#[E<&-$)M,E1W%VL^/-S^IK#%R]T5SMGG%G!=$/$.B6K +M=P.K7'T'?('(,&_(?(D&6KNIFK]*FL/&4Z'&-S]RNL,53TG&6M%8BE\AE+%@ +M4*>[%M5STV*M%NB2NJ%^W$?!U3FDF)^Q6S=#$9&A=6%_ND-&]KU]W`F@\X*3 +M',N43N.U?#.:.#<1^R+Q,_SM-J.%=+SB<0S:>],M^8.$:YW/>,6ZFX>744,W +M;]32E9+VU4/3=?.-UOK>T_V^%L4_E9.EV+TH]]6L>TO$6]_-&@&XJ^.X]'W6 +M<:G*3573\[^??)D1\GV`%(UE,*4S#2LYO&-!-[6G.TV%V[VR$S6\.YD=3=G: +M/-VBT2SR5`M;%!FNL/6(%!68O<&<6W/26X/`?/^&.DO1%W6P<@#?U:'=ZPW1 +M'.VC6+7=TSF'VOL5^WW#'!N<&@&O5H>\U"W=/9^#&;U\+P$CVQ^@VO^WKUJ6 +MW)/&?)3AN-:C,=5278L:_8M,6=?+]/^/7CO&T!&HW+_%=MN.ED5RO975W(]. +M?(WEKFOE_F#F/F7F;EOB/)?$MF\FVM5O5>^2>,_C?G>/$@GH?E&I=7>LK$SS +M#J,$NH'GIMG?O<\P/JG4N`7-W@_=L#F54..4F37>&#L7'76%6W^$G4_$&T%`73 +M>A<=>_G:?3^8,FC77P'+U[G/W9WA_BM>FC"J'8;2/C-<>4#H&Z=?6]C_RJ6` +M_TL+[BTF>VVB,"5B?6&"_A?:7;+7&"/=DE4>7;'#^_'&O=&F/@W@C%WO?`'J +M<[&_/0/>MF/>^U^&<<6C/PWV,,WYUJ6Q7W_U>^GV_'ZG;-$GT^[?9=TWG/B>,?H50T;'D:[7I^L7CCH\FUNG]M%F.$*'^@? +MX@#[@3_@4%?\'@T(@L+@\*?<(@D,A<"?+YAK\C#^@[ZC#\AK]?L3D4CDDEDT +MGE$IE4KEDMETOF$QF4SFDUDD1A\BBL7C,;CL?D,VH5#HE%HU'I%)I4NALCG< +M'CL:?\.IN-B.)R%\NN!O^ +M0T%\T6>OVEQ6FRN:Q$PM\]N-D?]FD!W^@WN=T]WX. +MGS/&OV%U'(X7#R4)U?!W&^Z&W['4[/7SG$E'5ENM?E2JD>N>SY/6]4Y[7M[F +MF]/LYO8[T,^/@YW'^7%V>DSS;,6];O/!`CMO7`KW0/`SGOF_K^)2\3R+DV*Z +M-[!+]PQ!#WP4Y;KLBYSZP$ZS*0RY\`/L^+?-&_[-I+"\-05%\%Q@XS'LF[KM +ML+$A]PBL;S0HSK[QG(<9.TXK#,'(S4OTS,4R$QJ\R@[,DR$TC\1Q(D-Q+(LM +M0*O#5.ZW3DQ.@L>M?'[90[+,8R[-;Z3=$$K.4^<3R5.K(H@U$R/HZ+#S9/\M +MS;+C%2DY;53P_%$)TBRH-<\JK11/-`1I2DW2=+4XRC14&4O#DWT3/<4LW0LL +M4'0-)TM5*)3V_+_46GCQQ]2$!U34U*S)&4,3E-32T2_<[U;5$6P=!]5T%8]4 +M4'7,Y16X4S4>\]B-#5UFOY:MISU'3:1LQ#*2;*EON8P3%W!<=R7-4;$W#4MJ +M7:S]KWA=UR6^P4PN'="%V?"( +M8CB6)X'1BPT=?>'XIC>.8[@&&UGCV19'DBMY!:.2Y3E65IMD\@99F&8YDD^7 +M)`BN;YQG.=9WGF>Y]G^@:#H6AZ)HNC:/I&DZ5I>F:;H%80E@NG:GJFJZMJ^L +M:SK6MZQJ%9,QL&P[%L>R;+LVS[1M.U;7MFV[=M^X;CN6Y[I1M8S/NN\[UO>^ +M;[OV_\!P.]+A1Y\I!P_$<3Q7%\9QO'\=_X?B +M83X-'^+Y/E+;X_;7ST:5:QZ.K^7ZJ;]JJJW:YC22:O[BG:M[_K>5YOL^>I.# +M)*BJA_3[I\_9\7Q^+\O7_.I'V_!^'I_U^7Y?H7Q];]WXOV)L_A1;_'^O6?^] +MI]$`TROO*%`:!D$8'0)=S`N`B2$L$J@E`1!A*X.P/4RJXD4(8+.X@Q")3Y,X +M3(\@@2F#9`H6P!@+!6$[LX4D4@@O8F4,X=DUA]",S\)8;0W=C#F%RQ4;KH,3 +M$$PZ%Q]Q./ZNPNT+8C.PB1`&'BJHHPVBTKN,$3C<)>A7#*(L5V919A^K10BV +MS#126+'$A<<#@$LBM&AF,:HE*]2^2.,2'HPQ>C6KJ/AIX[QX99'J,L7(Z&K) +M/(TE9^)#R(95(I#ZYY,27DU%U_:>EY1FDZL"0I$Y)R49+)8HTD"8RJ)A*64S +M(Y4%%E82^6!,9[3GG'/3FHX>:TUYAS08[%F;3C'HS?B].*;D.)I3EG0^2<\Z9V._B1.V> +M#LIWSQGI'F=<]9\,P?^X*?D_9_3_H!0&@3;9=D=H-0>A%":%4+H90VAU#Z(4 +M1HE1.BE%:+47HQ1FC5&Z-NNHY1^D%(:14CI)26DU)Z44(H]2FEE+:74OIA3& +MF5&"I'C']3>G%.:=4[IY3VGU/Z@5!J%4.HE1:C5'J14FI52ZF5-J=4Z@=4:I +M53JI56JS;2`@"F5N9'-T7!E +M("]83V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M92`O26TW"B]7:61T:"`U +M,CD*+TAE:6=H="`U,#$*+T)I='-097)#;VUP;VYE;G0@.`HO0V]L;W)3<&%C +M92`X,C,@,"!2"B],96YG=&@@,3,P.#$*+T9I;'1E]9K5;KE=KU?L%AL5CLEELUGM%IM5KMEMMUO +MN%QN5SNEE?[YJMYO5[OE]JU0?;^AE6K%UPV'Q&)Q6+QF-QV/R%MN^!?V5RV7 +MR]6S&;RV:SF;J."R=1IUXP.%R.IU6KUFMUVOV&(R;^TK[TVTIVVT.UO&BV^# +MT.HK,GM3YQW&K?(K7(Y5CYNQZ'1Z73ZF2WNFOFTW=^[6![%[[6^J6UT]P/'5:1W:M'VQ7=M6W2=>OU7]-JG3<[PS/- +MPPY$=1R;*U76;9E76S5-$V51=ZVM6UXT',LVVY?M_/G),[7!8-.29<,]6,\< +M_.%>4T3!AUFT=-54R\KSW7Q+N(8=4]_X[CSZX"@]A8,@V1P[#\0W1*B%U+1, +M<1C(%8Y?'LPQF]N88M`U[S-%D78K?F/Z#H3(6]`%?TQ3MOP[/ED88MN@:'J. +MI:FMVBJKY7`C@Z?C>J;%L>R+.V;*,^RS;[1M+][9M.N:9A:W4#LN +M[;OO"LM&TJ1X4\D^MK$:_6+IV\\-P_$+!/G!\9QKP,!M^VG\>Z0\KRW+\QS/ +M-+XWC^1Y/E>7YGF^=Y_H>CZ7I^3[[WO_!\/ +MQ?'\GE>MR'L?+]7U_9]OW??^'X_EY'S]/V_8_Q_/]?W_G^_\2!W`_(!0#@)` +M5^[LTHOW?_`N!D#8'0/@@Y>`,!8*0"'Q`)$28E1+B9$V(P^(;.W@%#P?`^!^14A\/J($"8?C_@$_.,$88Q1CC)&6,SQ +M(JQ1=M%.',58KQMBS%M#,0HSQUCM'>/$>8]/*C2^D?4;!^Q5C_&^0,<8$1SB +M[%^/2DM)"R7>O'26,NY>2]E\]Z6`^F<4V)S/%F@/R- +MT')J3'G)%Z3;NIRO/GF[V>LYWB/8=K.6>\^IN.XGN[N@,\I_SXH,\.=,5H.S +MME5)F+4\'Q4#=S1*@\]J`4"=].*;=%*"O"G)16D#OYTP\I)+6+4[IDP*@5-^ +M<,VB!TKG!2ZED>B"4PBU0]WE'X;3SIW1V??E:*CSZG]4 +M.M52JD47H)1^MU8ZZU)JU6&I\L:HU4JE.J5,F(N4/D55FNCQJET3I?1J2%=) +MO3=K)6JN=8*Y5YLC6VRM;JUU;KQ6>N]=R"U[H-5%W<%K`RYJQ96P[Q[5UVLS +M(RUMFJS5OLY6>S%EK064JS9^R5AK(V\M=:*T<4(_6FM+8"JTJ["3QL-2^UE7 +M;/6]NA;"YUP;.T]GW1B[-6[#UCMO;*[MN+<4[N=<"\5PIG6D=U<:8U#;!D"L +M+3:O5`JEU,NW8J1U&JRV*J#?>M-0ZXWBL=?RS--:CX%NS?^S<7;YWHE#>IW- +M[*3WND1FXF(HLXP +MN30[$V+<;8WQP\+$,I,1VHPMCG(&0<4,49.RGE>U]!,K9;RCE2V=X,L9=R7EK,67,P99S#F?,N:\JYLREF:VKSLB2 +M#R-Z&T;1; +M2&DM(Z,T)I/36E[K47TKIC2U]WH9SPE-6=]\7FY[TWJ'4%L]6:?S[F35^A]/ +MZRU;K#0^MM<:KO/7C7>G-;#>EJ2Y%[<236R1@R?U39^Z^UIM +M71>NMK;`UYMC8^V=5;"V]K?8-JMQ;=VON#Z-V[EW>\_96=< +M:40W)66U=OMT[NP5O[>6W]\[AV1NS@&M=X<'W#P;@/#>&;(UCPGAO"-Z8OQY +MC'B^,[W[XVI?BC/'=X\4Y!PK;?$N(;CY'Q/A?)N"BYRX +MMD7C'6N-8EXYM#-4]<\]3WEHKIO9]15$Z)V?LW1]W=MZAVSM79-?]P[7I;NW +M=-LZCZSG3K??NN[.Y[FJHU_+'YPR]E[,GA,WYNR?FGQOC/'^(\AXKROE\X>+ +M\CYOQ.*O)>8RCYKSOE,T/-YUX'4^)\_9"]9ZV;'I]F8^\'ZOUWM?;2[]AA/9 +MOJ?;^]]],OW.IJ4^_^)\64'P:46ISC7KT?CO0>?])Z'Y_G/I_-^A]+8MY7@_ +M6^I]'Z_W_:?=^=][\7X,64B[[A+&7L>>=?MKVGC_=^X]N[+W/JW:/Y]QS#13 +M^G\O_-$O[/\/_O[N\.*IOOU.,OV,[/W,H*)0!P!.].HMC0(0"/\N:,UP'0(P +M*0-N`.JP.0+0-/SG>/D,*/!0&+JOL.F/^P0O\P/05P*N"O#/-,VP7P/P'M_P +M00806-]O3/TMEL(P?OA/E0+P:0+QJN0UP]P60\PD0_M6PKP?)I0$PXOVM4,!J.1`1".UN\Q +M(1!NY.?*/0PQ'P-Q)0[Q,NWP#+BK`*%N=P%Q&/M/F/JQ4/R/N/)OQQ6OS14P +M4L#+0Q+Q51817OR/11;/RQ=Q5GJ*$H/-[.-M4/C1B1BI%J1J2HL/4/AQC1FQ +MG(S1D1DJ30A-GQGQK1KGY1HQI1@NO1AQL1OQP'QQM1DQN031&,VOMQ=1>Q:Q +M<1U1W1V,W,LOM)QQWQ71>/IQ,T*G0N2*Q)NKPIR(2%Q"O(1Z2/Q.0 +M6PTR1R#Q#0W2`1IODQJL,OX0ZR5R;0QR/240I,%Q3R3R*.A20RR@RFR?N<'ER+J22,PM+?R'RJRLR +M2.GRK0E.&232F2QR<2R2SPG'D2NQE0%-[QSJ8L,N/RV2UNERS2W2R2TL52M2 +M]NJ2GS!RHN^2727ROPAJ?0RR12]0"R%3(3'KI.GQTRWR]2)S*3!3$2BS%11R +MZR"1YJPQUQ^1ZOP1\S31]1[O,J5JF0_3538Q]S433S6391=Q_)B3/QEOE1PS +M?3?GMRY)+2Z1A/53@3CSD0VS/2`3%QJSDSGSH)T0?2C3FO9SHSKSL01SIS=S +MB1NSC3LQG0109JOK$([R.'JL&SA2802R-3P1KSQ,QKOREHZSX+IHT3MSF303 +MBSW1L3ZO0OSS_'P4`L63U2CR8SK3^/6J?R[NP,%JYMHJV/#M'T(4&L#J/-I4 +M&4+S7RX,",&4.'>T"SJOW4$T%4*2^*5*T-HJR2IHNT,S"2\M.3Y2.K.QTM&T +M6)GS\1MS]3O42/;OFN!16T94@RKJL@4?T +MB4J/:4J4DLJM.Q:4EP_,!RXT3G4\1BT +M`GITLJH4Z2O4[3>U'QB5(U)3SISTG5&T$5,U11B5/SNTH51U41FU2R!30U"G +MES2S9S;58GI/+1T4BO/*Q5-O2GJLDGMU(T`5#3[U%T=5041U"-*2_3)U=--U +M<5;0`HR4A'F2:'Z5CS+GLUIKGL.0MOT5ATQ5BQO,63,3#5)U>20,ORJ0N*Q' +MM5R4XM4T/SRRMIPUWMX'CU5RD5C*@5.R^UE21U$4-S`*,T_+$PBGYT_*`5L5 +MY5XS83X5V+GV%3'6'R:GDU[4#U\4:4VS-V,V&PMUMN)5XV&J(T5M]5JV,5I5 +MYV2U>V(T:V26#KR5]3M5NTZUOSOV0.I5^1")QJ:Q64@6)4B+>'X+&++UW652 +MU6&63V(666"5>6:G;V*3V4[VF6-5DPV5;6=V?6//5VHGO6@K;6AVDUTU7VCU +MVV36B5D6RVFU*RYU63]M;6B3!6WM,4WTDTW49V?NS'XTOVNUW3_6$5Y5ES*G +MS6ORRL=6TSAVUT>4.U#V5U8U8593<6`U_USQ'6!7(SQGWV#6+VPGH5?U?64G +MZ5@J$7"SUPLU,54W3/;6G725'73W6/674PY1O76W9,AW14#6GW2W9W2!NU5_TT0T.@5SX"T!7*/"S+)NKJQ37^GY29V#W\W,UJ7^6 +ME7GX)WWVD+YW_U6X)43RL5S6YR.6M6O47N4VBTX7[GW*=046^VQW?W]X,VVX +M8X37_7HU+R9576'P8X#X#8-7FV1*>V,6-M@WAX+'NV\K:7MX98FWQXD8:7E6 +MDX.VV/L7O24X?3QX2XF/-V`7^TNXHW+S[8EX:XN8S7UX;8SW0WT6U5[R[843 +M-4MWL8LXYGOQ90Z5F7(4(L`WQ6\7,6]637P9!5KX9W`6EWSQ0*_9%7U1Y701 +M=7@W%9(7.W$T;O&4^/WU.V_WMS&XH8?XI'G9-9"Y.WW4<0W9%)UWI7?,@Y0R +MU91V"W=)@3IQ$)HX9A7=SMIAHV9@YAYDK +MA1D9C)49&9E9H*01HI!)`9D9HYKI\9IH+YJY:UC9L9OI?QM*%8VV*K393YSY +MT9TYU9UYV9VYW9WYX9XYY9YYZ9ZY[9[Y\9\Y]9]Y^9^YW5AYQW#8W9_:":"Z +M#:#Z$:$Z%:%Z&:&Z':$5NI"71PY((Z*Z+:+Z,:,G_,89TUBZ-:/Z0:0Z1:1B +M,G;9WU&YP:4YI93Y51J:5:7YLNMWIW#MG:8:;,7+UZ6IW(G:>:>Z?:?Z@:@Z +MA:AZB(01$)!H/-3:'ZEZF:FZG:GZH:HZI:IYV:ZCZ9ZL:P:RI6IUH**,R8ZS:V/CH2:4:VZXI.H18;AGN;/;?[(;=96VO7&3:W&R>S;[G;FV$[H;I35[E;HS +M5[L7[,0:N:T(*;D;19#5J5Q3.+(;R3*1Z;SP[;TVIVX3X;*J%)V;<[18MS"[ +MW1`VY;VV,X4[U5^[\V;S#2N;;5&;4H)X`V[8*UQ[]8B\`6X;^<%R_[_\%3)\ +M!:K9U;0S15S7Y;[\*<)<.<`\/6I2H<'\&S#V)[NYSP@ZU[DP,8;;^V<<0\7P +M/\2<)\:P,\2R6(^<4+C[P2"7VXI;Y\?7 +MK7J`=]V>^%=M=_]]>'=\][]E]O=411=Z/2Y!]LQ*=;^&^.6>838=2>8QX]-[L^:9+=F3=<">\#>@>C7">A>>='^C^F4F\!UB>"]+>F]([3>E=GX&>5^;^M +M9]3>7^M^O^7=/^O>S4V47S>-PU^1^)Q(^0>/>X>Z>2 +MB=!>V^$^\Y8"?!_#N8>!)*^A^ET5\$6'>0\A>)=S>`^'_%806 +MZ_)^%^@^U?'>KT44(]@>W]_?*_2WV?3_.>(_$_+>*?/>]UO>H\Q_(\-_"?.Q +M!?47!^&?;_6?>?,_4^=);>K=>XW_:[I^Z_3?6_=2=_<_5_$??_78>_A?&_B; +M@^#0&]@?@0C>X_I0-?N_F.E?P?G^[?J)`>^?'OLWD^N^6^QS:>P^N?W7'_X? +MY?VXN^;?X^SQ\?S:)?9>^A]"`/I^/Q]06#0>$0F%0N&0V'0^(1&)1.*16+1> +M,1F-1N.1V/1^02&+/A\0F!OV42F5/V209_ON8/Y_O]\S!]O^$0.13N>3V?3^ +M@4&A4.B46C0:6SE^2NF4E]2^8S.:S"<0>=4>L5FM5NN5VO5^O4Z#2>F2JG5! +M]S*:3:JV."6"X7&Y7.Z76[2*Q06R6646>;6JIS>E1"VT^9QB9X7#R[%8V#XN +M"Y##8_'8S*9?#8G(Y+"X2$9W09_18_1R[2Y'3T_4Z&)ZS3:38:_9:C8[39ZK +M:[C;YV'Z[;;_=<#?<'B/Q=[3=?4=B%SCT>WS^_T_#5>[X_7Y_+V?CB0W\_;^ON_S=/_`\[%14BL1Q0W<32Q%+.P\N^D:3I6 +MEZ9IJ>8SH<\Z+6%^:=JVKZQK.M+KJ"RWS/>/2CK>Q[)LNS;.C.NJ;HDF[!H^ +MT;AN.Y;GJ^U)7K^C5CG5#(OGN=Y]GF?S=O_"91P/#VWP6_<-P%P9GQG"\7R2 +M.[LLVV6K?:];%DC99'%6*8OBV&XGB&%]$^6'=/U7301U/68KU]E[3:/-6GR] +M];#TEZM;TO8=]<=X=CT'AW3X/?^)U=>RIX7>]#9/9Z#VVI;;O.JO3*?=\3Y/ +MG>._5E>1YGM^_YOP=_\?M_+[EH>C?';[=O3-Q6QC)=Y]'R3E\_P_U\UU?5]+ +M_U*O+>Z_9BS0"E/2.@U-:SFEL*\7^_>`BY7\P#?V^J";_H(02?[`""*SX#*J +M?:]-S#N5^N=@?!V#$!8-P9@I!Z%<*(.*AA?!6&,+CDNT.7`@I['&J0,A*_*! +M\-84OZ=="V(<%(BQ'B4^"),0HG(N>A`>$,"7J0].6RI1K]&6.*BXXAR,6XO. +M0C$Y-63P8OQAC(XU$478U1CC9!]:44X=P*]9DCV#$ +M1OC=&AP3CXTQGC:R>5$I)4RE@#&:6$JI:1BD/%*1,E)%OP@$?9*L2X6/.B;, +M&)\OG=0TF)%"8\1IBK,BC""7,:#49=2?A\E(A+RIR3>G,SF=\\IPPRG!.6>ZIYN3[G\G29\<9HJNEW +M*!1)L%_1KG%,B<<_9]3ZGC0N>;(Z'SVH2O:'"&&O/N>K.U>L#IL4,I%#::U( +MY_O%I+1.D]#9\T6F#'!VLE-*Z34`I;1*GU%*75"I +MA#FF4/)J2!8$ZV+=.Z?NHF74.JE.*=5%JZ4\+GW!I?0ZK$1J(W3G];9H5&[ +M>MQ)[7;O12J]UOWQ7)J1J9 +MV7K%+V_>`KY4FP+=F"U_,`7^I[@;"5]+;MWL)>)+AC6^/UPO=S"=_78XGQ*_ +MS"&&KM8>/<=Q,P0YHDF1]!:#CQGU5.?\[YOT)HO1C< +M&,DM+WH"ONC=*:5;K1E)6D-,Z)T#I;3VGVN:8+,AC21;LPZGU1JG56J]6:MU +M=J_6&L=9:SUIK76VM]<:YUUKO7FO=?:_R/(@EFI-.%6V!L?9&R=E;+V9LW9V +MS]H;1V7L(?MW]2Z@VQMEJ^8]69)R=MK<&X2CZQV]N+#<'X1PGA7"^&<-X=P_B +M'$>)<3XIQ7BW%^,<9VXT'@F"RV;2Y!R'D7(^2;$3WTA_>O-^><](423@6^YIQUY]T7FP^.%M=;ZIM0?&'NE.:ZYV/LG9>S=G[1VGM7:]11^Z0Y;L-C^F +M=ST^U#H'<,9X@[IWO3VCR2Z1Z?:'OG@]"=^OKM?N7A/%9YT-''Q',_%^1S/X +MVF/C]U^2\Q9O.D!_+>9\]Y/46;"E^=G?*)ON3\K9:<6\OUGK966I]-0JZ#\? +M9F347E'W&57'Y2EK;+!Y#4D]`X%Z2A%7;@84R#,KWC$C2.CJTZBUJ(#R'A/" +MP#Y+J_6I^^>J"XWOR%_!X)\0V=ZL+8X^0][[,)KUP:_70"JS!V?_7PW^N>J" +MW0*^7'NZSW+<\*3QLPR_.Q0GX^6@"_NR:A,7><\8`B\_DO@_H_P_:7:,RO._ +M0^\(2^"VZ[R_Z4@B`K>_-`$PK`(H^889#`K`42D49!24D]NQ\P)`>_2?D>'! +M*G.V_`PU0'X_$-^_(Q;`"Q60+!A`[`H6$K(@=`2]D6X8)`:N[!?"9!B2#")` +M0_&)&TP.4S`\"[DOTI#`_!\_O"`HNR%`Z18_>/,<)"4B%`A"\5)`HFV_U"HA +MQ"L[BLP-"W="Y!Z61"`=:2F7HO41G`LIY"2_A#-#5":6\8K#X1Y#\(1`PX'! +MR4`(T]2RZ]0E/$(6R97`8BT9@R<]B9;$L]T]R][":9%!8EHQ'`>]BYQ"H_#" +MN\@\C#H\^K>:P_VYVE!%?%JL3%DONT[%M%VSX[:OLZ&T5%Y&%%ZVHQDL^IHN +M<.M$PRO$A&;$DK4QL4"]6]A&A#1&=$_$BQK$I&E$FEE%.21%\P5%F\$O*_^2 +M_$%!`0/#P^9$&^W#R=Y'1#J^-&BK*=@^[#;&*[!`U&#"S`]!;'BNH_M`*?PP +M<>?#''E(1`&RE"_()`C#8J]'"O!'VD8/4V_(!'_`K&A(85_`F_4F_!/'3#L> +M!(U('(Y`/"=!U"G'R[Q&.P83\?HW=(O"5'7)*>%!G(_"/(Q)"I9))!&=%)N1 +M_!K(C&,_Y'Y$H_+)U(3#0N?`C"&;Y"+"D3="W*G!#)Z9S!E*?"C)2HQ)6[=# +MBL,9DQ)*I)DMY(%)\=9#7(,K-+')$J!(7)K'M(]#%(A*ZDG):QH_]$?*3+8^ +MY&V8,4]$/'4^C+W,(39)H]-$,EC#['PKS(E+N[T_&K(I"]5&?$\KG+\?FKK% +M*5O$U,K,I&P]?!%%&EG,W$RYDQC'U,?`V\_%=&&RF:M%Q&!%U-=-HD%-BKY% +MI-K-U-M*'-3*+-G-W.";C-NM`\3)@(S&O,M,_,O-%&L8"]],[-!,]&R<=,PR +MG-#.O&J^!-[)9-^KZ5K#I+Y*5,-+]($^='.^A'A+;/7->^;/1+['<81,8G3, +M=.]%H-Y&6Q5/%*I*7(]"$I1+3+G)S+)!!/["#*TGQ*9+5)5,;*)''"PO&]/) +MW/'(S'I+.@]).>!)!0I0FG@2/(V@E0RJ!*%+JD[(FEY"A)C/90XGI0_+@?]* +M!!^>RNK17/W0-0/)07G1C"-*Y0;-]0?#D^*NC1M(O)I0N7="A1S&^E[0)!]2 +M-*N4O230U09/I0=%S.^R9/S!Y0[,)1O1!+C##1E(/2)1K/;1PB'0#3%+I1]. +M[2!+!#PQU3*PU,._]#W,5$1,'2;/%3I"E3L=W,7372K1_2O/O3A&I.E41.4M +M1.;0S#+2T-].C45.3.68+2?([%)4>-/#I.)&0\N\E-;.%$2+I4Y)=5#5,CO5 +M)+Q5/56;153,A595@;'5=-6]I4NNC4I.I5Q+#.:]=.?4/1G.=435U.G4M5[& +MU&].T(95G*,F_/52Y'C3X<^3!'O6=193)3-'G+13C',^_.Y*]1/4+6Y2W6M! +M;2]1>6'(+0%*E,+3+7-2/71(=071[4%3;4)')637'6O2=.L.Q`-$[1'0'3DP +MI2?7Z?Q1%!-2HP3/K3=)?!7"U796?3NI[*;2B4'81773U7+7Y298J,/8!7G8 +M52M-E2Q/]+78A7)8)8X372E8_/U9.P'938I97*S257Q$56]+M/M7O9+8#8C2 +MY7=2@7E32I!8Q8%0+#37?6G+E3582N5'%7M0A9XC78S3G/+3J2),#/2^/9]1 +M96B8-3]1;3Q4"U-`S-569,RE'6%5S;75W*M5L;]-+$+,G;9.G4G1O$K$W,Y4 +MS+S:;"LU.XW7`\$\S5!.%<(*X\V55$;5C<7-@]"SJ]'%74]<9!>#>%>'>)>*V`VHVM"O==>6+NVXU6[C>9>B+BW)< +M#>E>L*^W4Z%-Q>O>Y<.WFYU:A>[?%=?>^/6W:[7?1?3?5?7?9?;?<[&22XZW +M;>-?I?K?M?O?Q?HY6U39U?'?\*&YS?-?#?_@()[@"090?@+@4+Q=ZX!>U.+@ +M7@B(]@:X/>A@E@N(VZ=*_??@Y@[@]@_A!A"ZLZ]4'9&ZAA%A1A3A5A7A9??' +M"[O=5?[%9@QAH'T[L[?AC89AKAW`O=0[^TW=)AYB%AMA\\/O9[7)"[CU?W>?>JJ81J6X_PO +M@4HJ-720-E+CQ#/1IDV^]D'(XCS!M;_!R2M!W94@K/=E37B4*__ED_9016!9 +MED[D(;I`P(5:7HC-SHK@)HO<%HS?_H +MV\2)#G_B_C+C#H/H`4AHHQ)I'I75%5E9Q1-F9-SH=CHQXM2E_G=/QI+COIPJ +ME51I?BV5IG5*K6Q:+FK2GIUDYIID]I]1+$:9*.UD;01J5F.4?JK5M7SE;/]; +MC(Z4=D7DMJ,?3D1I_F_:763IY)XB!J_*12+G/8*FOK5D=F-EGGA7IAS:A&2_ +M5,EFIKEF%K38;J+KX2]'9KC"1-+K/03FWJ;K))23^J)K`79(='[JQ2+I[E>^ +MI3/L/(5L339KMA-<%#U3/6EL?:%2SCAH)JF4_+=H%JM'+3_JR^QKI;)E#IC' +M)$[JL]]GUI/++DEM6]EI8]3DH6U'9&5/SI%MSH8;+EJR/F7AE +MEO9L[>WI!OA>O=A=]1A+OIOMA +MW>IMIPG@Q>S?!L]PO@O@.G?@3PYO7?+@0WYA;Q-Q/Q1Q3Q4ZK? +MBX'*+P3QAQCQEQG=OE`U/?[Q#Q$:#@>IIQS@5P\,_Q!Q]H]@HW]QXL=R'HTZ +M3>KR3@+@UO=Q7RCRERGRIQ/A)7KPWRKRURWRYRZ[5A?AQBAKOO?R;NET/IV^ +M4=[1=NPN]R*W_SQ9-FAJ)EU`<(^M]I5KWUB*%"[D@87+-I:)_H_#EN)LPO;G +MKJK2_D"R9;1V+U=;04?V2P"-;&5M[F*5/K:PJQ%M"*SN4U1N\7]M;VE"7L)' +MGUGLMV[W'V_JEW#V%+%K+W*_=W/71USU1-.U5F]VWJ[9IUAW-I1:9WQE=2SN +M'UKWR4/75V]WZ6W997/0`B4171BW3FY?WVW05UW9@2R_)W%&UXEV,6_XKW3U +M!WWW!M5X51EVOTKX?Y+PME&>]L&Q+W+G0Q1Y9Y5"WY?'KT_W5X7N*F%M!:$I +M!Y5VQX=GCL7N#(#I-DE!7XWC0/YV!Y%Z&OWZ#Z5Z/C!V'JYC-;U;R<1B]GR+ +M#Y\2AU9T$+AWCI)EIZU;)TQZZ+MZ^L#F3Y-O3[+;[WLGLA\BMGD!ERYYU]+!Z3\#X)]!ZCWMX!X+V +M0BS&7XMV/!9KU&Q]-[`Y?]3Y9YGE[W.>S]MG9X1DCW9`+]IZ+^44GNU\NTK] +M]W]\!^`Q-8;X'^0PQWUY!^)X%5K$.M-35].YO^C8E^'XYXUMW^#_1V;^.C+L +M;6"MAY`Z-_)9K1G\5^%Z9YIW=JW_OG9_X'T(`^H$^G_`X%!8-"('"H/"87#8 +M9!HE$XI%8M%XQ&8U&XY'8]'XF^'Q$WX_'[)Y1*7[(H6^Y<_G^_WS+GW$9+$Y +MC"IS"YC%XC/XE0(=0X?%IW!Z/1XK0J+38;1*?3IQ/8)28U3*C68)0:Y4*G.J +MI$8I6*W7K)2K+(+5:[9;;=;[5+(E)95=;E!)I,)E-)L_+A?\!@<%@ZUA,-8\ +M/B<5B\9C8U=X'=+K*;N_[S,9G+K[CLYG<]B,_A+%H=)I=-CLA`LEDY/E\ +MU<[]I]IM=MM]QN=UNY#(]EK)1KI?F+YLMYQ^1R>5R^9N]2^M7K.$^[UF9KQK +M=9Z[&-'2^W6N[:^U7JG'?'4NSW[3A;;Y_9/-!5_59,%[O7S;;S^CD^GU>*@R +M;O:M*"IU`;[OB[D#0+!:_P(A\&(@HSWIQ!4'PLN$'0C#2MO"C\,PY"\00E"D +M#JY"$111$CQ0K#Q.[L +M.Q5( +M.4NZ%,OYC]ES+9N9S1G:I/I;"PW1AZS)].>JZOK=MSSJ#P8O$E%:YL"C:S7N +MR76JL_+!K^,;"^&O;EKNWR!HB,X[35E.I,D +M_<:C.LL"^W;;AM>XVJ^7=;IB"/23@E';M:&R[-A'>R32/E7.[GFZQXEJ8EZ6 +M*6_R+;]:X/7[[?F@>G#V*Y;0&">5[_C0/J7!]]!/O8HL7F^?0F87;@_GX"KO +MU?IM7];1_.>/R>BZ%HQ^W+N*>XYMWSP2.-#9M`U/3WWU-1/)`J"+PFW+.;0J +M!_Z"&`&%@R4X^D'WW06@]!>$3U3:/9-:]MS3IFIGH7DH-N;.'PPU@X>LM#;& +MGP23R_%<:V8<-G@TAQ%R"V21&A[$-@*MZ4$09,QLCK&V":PGT2LC;'M(DL"LRRA"MB5:P(IOZE=+J.4 +M7#D22A8Z5O\)8XL68S`Z&K-98*P6G,R$$I)=LC00AF5,O9EJ\E1-&5K/)90X +M4/!B-DSY;RQFS-NJZF[*^#<1963RH"U:8D\Z%JHH1%JI+2 +MB:=5LU`DO$.FU.HMF\HQ1NC))9)N,G@@U\SJZJ55-Y)!QRQS4ETJ?.]`)@*2 +M56K%6,VU6'#5:4O5R8,E*OUDK=6^N#@%\%W,E5U[M<:\5YKU4J=4*TP5^G:Y +MF848Z]V%L-8=P]?:_&KKM`BQ%C[(61+>QTEEC*UU0K;9*S5F[.$7;R/@Z-C4 +M=5,M):6TUI[46IM5:NUEK;76OMA;&V5L[:6UMM;>W%N;=6[MY1LDBF;07`LO +M5ZWMQ;C7'N1>]%YU.6"O->F]U[[-WK=A6:^%];[5COD]RX));^7]O]?_`&`#\PW=Z^^*\65NQ3>W%N,<9.GQ?5#&>-\<.3QK._'./9%R9=_(Y!KDH[(QB?)N5;K9/(&<\P%F2+9:+7ES*V8;#Y8(%EXN +M&8"*9F)!FC,6;:\9D'UFHMV;,D-&+9G3-V>;\1AJAG(MN>,LYVR_E+/6A<79 +M\G>95VF=]"9=-\X-).@-#:3=!G`N4I2U:2SCH+3.C=*:?=1I;1\-R/::TNQ+ +M2.GM0:K<[J*#L6U($,U-IQ%R)H7:LUQJW1!$=3S95+K-",=I7::USL5>VKI? +M2Q;80K8!WJS;$V-M$_&R)G/W1+LUF4?*/[2VXQO:E-Y_U1RGIQV9Z]H;=W0; +MO9#N:50RW982SVHXY,PW/NG>U9==YU,/LW,^JM[[_W5OG*&Y,Y[^WT2`T>]> +M`<+,]NLP>_"W\*X9Q,QG#C!<0X+Q3C61N!:!PS?W)6%^-\C-/I;C_(#'X8Y) +MRLT.<.6R7-N<<[S'S+GG/[#9!41T/HG1>C='Z1TGI72 +M^F=-Z=T_J'4>I=3ZIU7JW5^L=9ZUUOKG7>M:()IV'L78^R=E[-V?M':>U=K[ +M9VWMW;^X=Q[EW/NG=>[=W[QWGO7>^^=Z=AWWP'@?!>#\)X7PWA_$>)\5XOO/ +M?_&>/\AY'R7D_*>5\MY?NY>CJ#^\YYWSWG_0>A]%Z/TGI?3>G]1ZGU7J_6>M +M]=Z_V'L?9>S]I[7VWM_<>Y]OU[WGO??>_^!\'X7P_B?%^-\?WY`0"F5N9'-T +M.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J," +M`U"`8BX8#@0'<0#,72P0$T0%LNQJCD0&R"S0A%0%" +M\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TF +MD"WN""9&::5&A#<:C`7#FN*PDR.OV +M_JN*\(2P/4M:=K=`+]!JHX;A`NJ:H(P`IN>$`DB"%H;!HX0TC:UX4#J-@PNL +M.00"D,HS,*THRI"-PQC*I(PCO.LD/+.M,@K:B\`NF%R-24 +MOX4.B'#2C>XP9M@-@WC>-<[-A$T^A0.@T,R\LQB,H4S`4KD@JXC.M`#<,KDT`ZU`#J.;,A:&4[T#0=`2^XE`"N%(:-*WXR3J +MR(4#N%(;,.VMX7D)C?CJ/$[.^.`PCG=PYS%45BY& +M%%D656UFZ_:&6HN_>8!M".:+YJX4#?&VM7G=]XM@-HRC:%N*!:JF8[NETFPD +M(DX.N/,[!B%%N-//F#\J+@4:[G-$[#7JU*,'`9HZ'&T6'D6CA0.2-[?E-$Y9 +MIRVAE(X:*X&_46QO4X"X%.#7CRLY3I.P9!1/,]\HTPZ>700TXGS04<(-O)>6 +MUHRC#K/A1'=WG7I@_CBX&89!ESV+;!G@0.]U"8=/U.0V+U@R#5V%1[CV<%HO +MVW4/SW;0VK.^?(#-Y88PWAM#:C56KTG./C?*^=N+H2N*L0>#!"+NGX%8-B_9 +MIC/,3"SA]"NU&%%!NV4&1+8,0E?JTM_"T66`S(\D]_T&4X +M!U#:'"!P,W?O+-^\N!P,C!0(@5$%ZY(4POA;XBQZ2@G`EQ!0$T,,17I+Y7V" +M@W[AU"M$-("Z%I0CY)(<>G!?QJ3-L#8*;8N)WPIAU#@'`-CDV"`H:S'$TP*3 +M2O1CXF$TK?H^?`J/9W'`1PD4&$,@9"0L1D8=\-\4H^14DF]-PKUB7R*`PP_,[(D[X:461A:\Z!]2=SWH>!LQUWC: +MG6.N?-#1V4-B+L;2<4$$$O8>0!,`]"3*[GFR=.^NN6SGU=02)4#1F!\YF2_= +M6ID%`.0S3EG-.=W0,(.0U;F"!54(B6S?@`T=K$F5QKEFH"@,:-7/%F5TO!U! +M%C +MM$#,T22#12%ZTBBF5!4?I#4:=I<4CT=J>U1"=+$5!G>@O$$`8RL`O"2&TEH1`W@*"C6@ +M!0,RXQH2"7$HSC`8NX;,QQLM6*]%CKZA&P%@@%$!"F5N9'-T7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;,C,V(#7!E("],:6YK +M"B]296-T(%LU-"`W.2`Y-B`Y,%T*+T)O7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;,C0U(#4U(#(X-R`V-ET*+T)O[Y?:1?[_@< +M!:K30Y_0GW2;OC<=C\AD3B)_S*=HXY2_+3(]Z/-.?/T?=[_@]^GL^,^^OV?Q`J)^N +M]GK8\2FO/`3S-W`;V0(^,$P4WCYK&X;%/O![]G^^T**0Y##LN\+1'$T?R`K\4*/% +M4+*+%KZQ?(S^QG#2?0!'#=QX]L0Q[*T@RQ+*K2&HTBQ8[#B/U&#LN^S\:RA$ +M4I2K#\URO+4WS@IC@PB^LENM,$(2-&#:0RV[&1O-,$0/*=`3C0TX3F@\\24@ +MM%K6[;NS(_SEPY0LU1T\CR1'*5#T[(,N*+%SZ.PZCORKU7]@KW#$FS\YMK1)MUWI>M[7O? +M%\WTA]Y-*8KBV%R-4U_XOC +MF.X]C^09#D61Y)AQ^8S#.-GUE>69;EV7YAF.99GFF:YMF^<9SG6=YYGN?9_H +M&@YD?F3WZ_>`:%I.E:7IFFZ=I^H:CF^B91>>D:EK&LZUK>N:[KVJ:,ZVKZ]L +MFR[-L^T:YL#E7]L>T[?N&X[EN>6;7:FCGQNF];WOF^Z9NV-;=OW!\)PO#<\]RW3YUT1]=5E +MW39WS&\9IUG0];S_:97V>D]5W/.]QV_4>!F'=\WGO8;%S7>YKWF=^'J/EYGY +M_@^EW_G^CF?C/MQ7:];V?6=)U/;]=U?3>;G'<^_T'7>[[WR=I]/=_%Z>X>;[ +M_?=Q^OKZ+MG8^A_'NO4>8ZMEKY7TN_9N_]WS[2"0#@`\.!4!GY-I@\)[;XW\0'@$]2!Y!V"+9X'0+?M!^&30W]-W>. +M[*#4#(8L\@+!6%4(X-PQA[!]\\*8$Q!A:_.%4*(A,U@N]J'42(*0!BC`Z$SX +M(CQ9B)$Q^[GG11>@W$")+6(K1-B[$")[R(/J-,B6LPLD<\&109YS +MG)(R;@Y)!G\E).2AE$UF4$HY32G:5*65$JY6,ZE5*V6$L682OEE+66,M);2Y +ME1&EHDO9?2_F!,&84PYB3%F-,>9$R9E3+F9,V9TSYH31FE,9JK;9IS7FQ-F; +M4VYN3=F]-^94\YZ3UGM/=@$\)W' +MVGA+J?TK9]-AGY(6?]!9-T!?W.^@E!J&1]H1#:@=#:)2.H>QJ?M$Z,1)HJRF +MB[+&1,P8Y2!D-(F04D8_29DE*&)TJI"RVC:\Z.LK9"/REC$*:,OIG35BM-V7 +M4YIQ/&GC+6+U!H\R"HE+U_4Q'U%!XM1*94+:G4ZI=4&>-$I$TNJU/ZL52J8T +M*K-/:J1.JY6&5U1YVT"'_4JKKKZQR?K;*FM[2:OU"K(SFN=17+UQJK7IH-=Z +MD3CC56NLM5V?5WJ?5NPENZ5ZKN1?NM>VZ,@;,VUBQ(*WUS[Y,KO!>R-; +M=;D6LO/:Z.DEGT/XO_%J$5Q+\1'D!<:_U<;^X)PC(RS^#(96\N+"B,L1L)W[ +MO??W#%[H]Q$?@^*\EE;E6O@-A^[]P7VP)Q)>#!.&GRW%Q(_9Y>,;UP4QA@+$ +MV'HEXGQ]=S#<),58/R-B^V.`[S8M>V^QTF.;\9`=_@N"&0<0WQQX^BX>0LD. +MU>KD^[6)WE0SP[>&+>7;T9%D1>/*%%K+Q,>]&',6;\VY-S=@:$L3:)KQ#ZZN?='Y@CAUIN:[^:BRO'N.>D<2VJQ9G6+L;,77VRU%^$66L4Q>P5A2-N*'V;3TO>7.EV(J:7PS5',\.- +M9;EMUJNT6X&G:NNG@:*.Z6Z[>HYKK<.W-U7WW1)7?&[+)[[WC+/<=7N!UBX! +MOK7%R=[<$X/:?@N[]'V*X:S;=UJ=_<0L/=O>>N>+[KWA;?CMQ^)\&WS;WDO# +M.3\DY#R;C?"JP3;I%-+F,VN9S9YK-CF\W>\;X_R4CZT>3\LUKR/E_--+\SYOSS0/.^?]$\SRL-.Y>G]1ZGU +M4Y'H>EX=ZOV'L?9>SF)53T.M_1^>J[[>QON?)>[]=P+WWNO;?!S-\/S7P,"7 +M7^1Y/Y5YOF;%9L[R$;XOI?-?E\]C7S+[9IC@\3@/V((_:93]RV%[_NQ2_%'W +M\B\_S1LQ3LJ#6%\_R>_6X[]J_OWW=U0]S_K1C`#^YQC_(_;_;:2X3]"%Y^L` +M#]$`4`;XKY:^B'S3C:31;`,"K\\!QN<`@ZT`S(+9K.#+;2$#1QL#@^SZ+"*& +M"W*.\%+"\$D$L"#Z$"4%[O\$S5JJ4&CLD&S[D'+LL'<&<'L'T&+[<($(+L$' +M[AT(SM4)#X4)4(3UL",),)T'4(;\L(L*;JD)CX\+#K<+3<4+CK\+S?L,$+,* +MK]T*\,BAL,31T-*B4-;24-L-4,S_4-$.*?\-[W$.T.4*$&4*4/4/9S;XT+\/ +M\0!SL04,<0D.\.<`L.L1*64/#WL1T1\1<#L1L225L2$'$2Z6$3,3:?T3L3R7 +M,4$4*6L4<4B6,4T4\3$2D$\2T524,5,5Z5$6,624T6D6J446\7"3D747:2,7 +ML7R1,8$8+]D5D&\8D6T8T'D9"1T8<9C\<945T9[[,:,/T:<9L:L)L:\;$/D( +MD:T;<8L;L*T;\<"),9T)X,>$>QPT?$? +M)PD? +M,><.BT\F\GDGLGTGYA4G,1DF"/KV\HAX$HTHYT\I,I1RLIDIIR*$]&KW-1--S,-.+^%0M*52%3U2 +M3+;ZU$4[\^E+D^%35!BL$\U/E'1V52LS]2\/IX55M5,]=4D_563)5!=6IF56 +M,;U6=7=7BD55=1584^56]`-7,]\]-8QFE7T<=8">$H%:=:E:KNU8E)-:U;5; +M=;AD%;%93^$YE<5<=!IE>5>QI +MM>M?)H-?=?AG]?U?YGM@-@4NU<%@J0]?%A#T%A5A;)Z8]@EA"9#ND1D[MBUB +M]C"93)X?MCEC@?%CMCUBD2MC-DEDMDJ0IHED"?-E5D45M8-?)Q5E-CME=F=E +MIT5E]>UF(?EFK#%FKP-G%>=G5GEF0?L\KTMH%>%H5HIS5F5HT"-I%9MI1L=I +MMFT.%ASC["=I;<5I=G]9EA=H1P5E-IT&5J%8UG2?*85L<(ELM85L[VMJL/-J +M[B]HED%EEKMN1F-LYA5N]O#59HAA%:5OEOMK##![5O]N%ME7EO3@5M4*UQ-6 +MMQ;)]QL,]Q]5-R+<5R<.ERM!ER[:=S-BMKUA%SK`5S]D=T-@MT;"=TMEUT]@ +M5U-PMQ%UM?]U]P]P5P;C-SR@EVMH]V5?EVEP-WEV]PEP]QEV-X3B-TEW5X%I +M]WMF%E%:5XMVUV]W]U=F]YMG-Y]PUY=LEZ]H-[-Y5ZMJUO%ZEXUXZQUS%\%\ +MMX]\EZ5P=]EX-\U]]YE\U\]W-Z-^%]=[]^]^=^-_5R5]5X5^5[E^F`5M=[MI +M-_U]%]MON`MQV`]J.!-W.!=\>"-Y."=N6!MRF!]LV"MU6`%Z>#MV&"]J^#-S +M6#=MN$-W=_E_-_]_>`=_N%M_^$=AV$MT&`F%-[>`V&^&.!5_&`.'%\-N-]V( +M&#^(>'F"6'V$&(^"V).(U]&%V'6&&)^&6)N!F(F&=K^*^*N"F)>#V+%T6+6% +M>'^+N$6+>#&,.%^%F*>'N,6)6->)&-N)U^V*F..*V,F%6-.,>-^)F.N+F/>+ +MV,V$F-&*.-6.>-F/.-V0V.&1&.5Y.*&!V'>/^,N/N,^.^'.2&*616/F1F.V2 +M6/&0F/6360&2F062V(-S=`N&MTV2.462>3F/V5N3^3&0N1V.F5^2N3V2^#65 +MF6N0^4&1.7N1>7^1N#V1^7>3.8.3>8>3N6.76$V7F8N6V9>6&9.4>6^4N7.4 +M^$]Q60>6>4.:N5V:>7&9N;6:%V&8V9^9&:.7V;V8&=>86=N8F<^:6>.9F<&6 +M68^6F=^96>N:F?>:V<6;&V?^<.?N<>>^9V&V=6>>=F?.;^@V?&=.?6A +MV>&B&=VBV?FC&>5XF>FCF@NC6@&A&@6A6AFB +MNE.B^E>C.FNC>F^CMZ&C^G>D.G.D>E^A.B6A>5>E&GNE6F>EFH.EVG^F&INF +M6H^FFI.FVI>G&JNG6J^GE[6D^JEM"8.KVIB>%M^+]U%Y]NNM.L6K!C&0.&E[ +MY@NJ5UFM>GED+`5D.O%V>M%K5K-KFMV+-C>O]HFONH +M%G>Q>Q^P^4FM^Q5CUNF;5;NS.S6S9AFRMHNR]Q&SFT6T>T>SP?NR.P-AMOMP +MYA-B-@M:5O>U5^E9-7^V=@&V6VU$E@^W)TJY-DVW^X%BR'FWVX.XNXSV3K-+ +M#*.U%NI@%I>TFZ&Z*>EI>M-GE@RBVYED(?&OFZ6[N[RHVY]C^M6Y--NY>YI@ +M.NM7FNI@6\^X;H&R)@5K*SYVO^ZZCF[AMV^M5._N^UC^^>W6[!@-C +M?`4R^_[">K*`^WVTZ7K:>PN_V[C:?!/!F]]CJ7V^6\DNN^J7VZQU/!MD"8'" +M-!FNO#UEF]V\VM/#VL&X_%W%Z9FS]NG#^WO"^ZO!W&7&''7':8NS_&_$A\VW +MV[_(?(CO?%+.G(O)/)2>O(YE-=O)_*'*-=:@1;W*O*W*_+'+/+7+?+G+O+W+ +M_,',/*G,7,G,O,W,_-'-/-7-8X1#/-G-_.'./.7.?.G+@SY=I>'///7/?/G/ +MO/W/_0'0/070?0G0O/7*71'1/15<@@(*96YD;U>;(_']?\!@<%2L%A+Z_L<_,?F\[0MUZ]M;7O- +MYM\[VZ)PQ$@2C +M1/`+&."A33.A!T%1C#3HNI!\-0C#$NL^T25)-"CS185AR91TG.)2-9PQ!D>01&2I.=:D^QY'=GRM7UM +MP]8$D5._-OT._MB0!5=YY0T!9"P3ZHWH>B:+HVC +MZ1I.BX[H&FZ=C2E0%I6IZIJNK:OK&LZGJ+A'^?>O[!L.Q;'LFR[-L^T;3M6U +M[9MNW;?N&X[EN>Z;KNVW6'F41[OOF^[]O_`<#P7!\)PI][SJ7#<5Q?&<;QW' +M\AM_$:[R/*\MR_,=[WW>=KO?<>'T'6=#W"!=_Y7E^9R'@];UG=>)UWF^KZWK +M]IKG/=OP_D>3[NPH)['Q_)\NT>?[FO>AZ?P?;\WW_AZ_T>)]7T^']?X_S_7? +M_G\7O/0@`]]_<`X".F?G`6!$"7K0'@5`V!SLX&0/@E!-T4$8*07@PX]Y[6H. +M0=@]!^$$(2*O:11"*$T)X40IA4T.$B:R!#]AA#&&4,X:0UAM#>'$.8=0[AY# +MV'T/X@1!B%$.(D18C1'AVHQB$+A_Q(B=$^*$48I13BI%6*T4Q\Q*;T0.&$&8 +MO1?<`/F+*R&I0O'[&"-$:6YQBBU&6)L9XU1QCDVF-D9&NQFCG'F/388ZP;C? +M'N0$8,;I*3$E]+N>\O)<2]ES*><\\9WSJ +MG;0*@,[*"T#H-/]LE"J&3PH=02AM$)W-^GG'>0T]I^SYHU1FCD_)E4&>I0FA +M](J)4EI)2><%(:$4KH/2VB-**6T4C''Z>LH'DO^IP\>G+WZ=RDI\_^H#Q92T +MV>G0"E]+*CTNI'4B6U1:E4FJ95"I],*91MHM36?T^ZM3XH[5NIK^*02IJC3" +MI-9:ESEI55.L=:ZU5MJK':1E%WJ3\KI5ZC==9\4*K36:J5?*R5GKW6>OU;+! +MUH;[16N-6)I5VJ[5RO$^J\OVH!7VP5E;*67G6ZZPMF[+5_G50NQC8+$0EKD] +MZR%IZ[V,L?+*34IK'6JMA:^V5J)6TAM3;.V]M+5TE%>&\%XY+WBO+ +M>2GE.ZN6VL;;JV-[K<6UDQ*&]%]+SWWDW=^_%]*=7J;_=NTMBYGS,P)@/`TS +M<$2^L79.SV#;"6=I7@S`6"<#X%PIA?`E8*"5OII=*M%N\07OHW1^E-8JVVU!RC4+*5_;TY7I_*O*&0\48.R#D"5EO7U96RSE/,V9,JY8 +MIM*2[MA\F22NO.3(^<\BXCJ-8;'V7\O9=I9F&T&=,1:`O7@K(;=,:X>EUG70 +M61J/8;Q-GS/6/ZPXSQOCK1>EK)RPPU/+-\PL`Z5TOJ'.N"W4:1U-I"<]\JG: +MBT#J.P&?[:7(JM8G1#Q]68OUQ;JULM-6Z]US;D@LU(!:*V)JW8>Q\);(S;K* +MN&3M$79V@Z.X[7]#[1VL^3:NU]M/5VSMO;SO]NYMOS>;<=];];EOW*/4NO-? +MZWT9H&WNY[[;HWIO/>UO]@N$W#A_"V_<*[_PQCS/UF7I:HR%P:S^>>`;^X#P +MW?NF]*-VWW@+=^[=%<#TW4[A&>^#T3Q-N[3&(L8N&XGJ#8O%K0SAIYESCN0. +M-Y]X_R?BN..9@YU3?H70,T]!Y[ +ME/G_*^!QKT[/39]'^0\HW:^[+>?N7]%Y=Q[.7,NLY&GUOG-W.+A=7X%R#MTO +M:]:/Z-I+NE,=U]D[?+_0C@N2]8[SUJU&I)R=?\)9WF.ON9XZJ3G+6.U.JU7U +MKL/Q'9?*<^U5XGO_F-&W=[QYV?>RK3;"M]Z%L6^]O^G<7M,??IO4>M=)ZSUW +ML7,^P]E[5R/IM;;IW)O?W>\O?5"FKH/<7O-S>]^-\6\>MO&?CJI\'\'Y/Q?R6K. +M\!K_$!T`)_SM+9KM;I+,;I[I<#T#L$#++5;'J^<#CIT$[IL%+J+GK*BG#0K* +M$#\%$%<&3IBH$%S]IN+VC^L!SMRPS$KL<"D(+X3F$($!#_+54(CF\#*Z+N\( +M3_ZW#]C/\'D'C5\(L)\*[C#NR8$`KG+\\(T*<`"R3QD'<)T![C4,36$,D+\, +MKQ9M3S;W#R4-<.3P+Y:6D.,+$([Y37;T4/$,"^;SCW,.ST;TL+D#3VT0YP4- +M\0L)D1$1IR#VD1T2)P,2$242L+;M41D/[X[Z3YS>KW[M#ZL33Z$3T3<4CY#, +MCS;YKW\4<3L5KFSO2^YMS^#]$6C]3[<%\)#%C],7<6IZ+B#O3"<7L846S1S6 +M$8QML6+H4$<'\=T>4$,>$&*H+RSFL#<=\?\>\& +MD><"Z9+2B2QM<'4<,;:C$AD*TA49$@D6".D=B[C?DD,BC^[3,DLA\!$<#HD<$CCQ+]D=2^+9 +MC#KI,DTH*UBH+TB/DEBTL2TJT-T6$2DJ\K +M9M\K4KDK\;,JBXK_LF$+$Q +M$9L"D:T%LVL@,?,V\%KL4>TWDX!^[KKB-0\^;E-,M*DKM"TZ%03FDC\AU1SK;A-&"K,_4R3OU(1N$OU3T<\@ +ML,=1$[KL5'M1M2K)#2LDE!M"T_E4DD,/:A%>S[LMTSU93#U,56CLS/ +M$F]2E,]>+#,-%=TUES=T-4%@DEUT5SE2$]L[\65AEGEM3P-EE+%UTZ3G +M3ZTPEK#U2?-'$C,0EI%+MM]L-V%?MV[SZE\R%V3.D;UF=*'-QS<5$5%5RF'3YT$LI]RV'=QM;LI5S$2 +M^%S&U=5TS#":24MK5T^)V`>!UB^*>)M?$8\NU26`N"&$>*R;L?MWUIU1\`&* +M6#U35<&->`F)=?E@6,JR,W-)5J6",44,^*^--74"-8-H.-L[5EM[UZ-E-Q>, +M=[EZ%[M[\AN"D&UF&05/DMU.$]&"^.%]-&6S7\FT9D_ +M.%."^$65ZNC+%'F#N7U]E)5;>8V#]Y-Q=VE82@&&N&RXN%N0&:]:&%6;<1V: +MV;S;6'&(N'^=6(UR406=F2>4D+V*F+"O61E>N+.+$- +MS%>?F>]]U>C)>+V2N.V/$QN`V9]Q5>>7.A=A.64V-FN-^5V9=JB6]KUUN725 +M]7>?^C6A^:E$6>F;4W>0>1U[\0-DM6]N.1&EMZV7&3&0.D^DUZ.F$Y]H^>L[ +M>@^4\?M_^C>:&"DC.6N..F6$6)6DF@V3^8%0VG>7>!6H6IN!%=UW>6>@NBNH +MFB\P>?6I.5;CVCVH=J>?-J-LE6696K&3:GV9.86J,V(^=%$%R +M%A>JV?N@,8M.^AV@&SE\4RETNSMT2>*A&B3)L0UVVMF.66&C.L%XZVVUFU-U +M[/-G>JNG.!>D&6&5%B.UN`]7$TNV+)$NNS-&.8EC^FF1.FN%%.&XVY&YMD5\ +M&E-N>EEZ^F=[M]-,^VV3.X&W+35(6WF#.X6AFJ^2T^-FFTT3-\V[\>G>I=@V]6"6S6!5?]".XNM>_&D.Q.LV3 +M6CEY.M_!>X$@CS?!.:5#.[.P2Z>O6^W#$2.P/#BYW#W#ZXO$/$21_$G$J1'$ +M_%"0+0Z,7%W%_&'&/&7&?&G&O&W&_'''/'7'?'G'O'W'_('(/(7(?(G&]97( +MO)')/)7)?)G)O)W)_*')M-"%?*G*O*W*Z$UCO+'+?+G+O+PC2Y0?**_,?,G, +MO,W,_-'-*(YY_*/-O-W-_.'./.7.?(@?J"W%<1'._/%!BY7/<27/7/SV/0'0 +M+UJ"/-TA')G1')?0B6G/LJ?*#MD0G)72/1_)/2G0/0P?)P=FT0AOO3DJ?3W2 +M_/W3/3?45"/4/1'5'1B:G1RY'4O5)OG3_5W6/4W/'4AP763QW54E?7?59W75 +MO7581NG7/4]4)M'8B,6F-,W8G6W8'8N0QM_9'36@?8_4W9/6G7RA?9W:]B)N +M/:52)M/;\Y[2G9G%?6_;N<[W/<2T%XO=>AO=AL/O>^,4B +M*57>7$O>D]R8V4)L'=U)W!MG?W$7@$CZH:@'?6X:PWB5S\?OAG#_A +MVGKNW@K=AL_CIMCX/C'#G6^#&NK-O=S17BN87B/6O +M?F'5\L/7L`AN/EO;)SGG/7'A'GALW:YN_D?#'DOF7HG;'G?IWH!U?F"*_1"* +M/JJ*'J)\/;?,1HY`BI)!C`HO%[2()-19^-):5*O%X)%RH8YJ5#N"BV*!B+ +M1L*1:,1P,AP*".93H=#2;C.("F=#"_;^O^KBO(*]:U)VMKJ!N_R./V&JCAN$"Z)J@B_BFT00"2(+ +M!).*8TC:[(4#J-@PM2.00"D,HS-NS(RI"-PQC*I(PCR[^!0(PTC..J0W"S+`AO:SK#<,EVCH-$J4:%` +MB10,-TA0*X4JB%#'C);35Z4M>; +M;MR/`PC(,HQA;/K"AL%SWJ$PH73D(DZ1$UK+AR&[P7QF`;!0.<4LYF&911FK +M-8U*N8A0-@WC'%`TC>-UHZ#FUJ9WF]LN]@=NAD'.;7!H.97).VI.L-@ZWIJP4#?%U-2#3M?S&G:MAF&L)!E"@;AC0M%*O5P'6`\![O"\+-6>_XY)N`4!X8B'0.;2TK/=,>S@,K'EI +M'5;@_Y?*WGNAS1$Q-C$.PQNC#8:Z`0*`Q'=;T]Y_P20VAA#.8^'[-X@AOB&8 +M\,[_EY.C#J;V&K/XHAE#<8YKL+P4(=0_%UCP9"0AS87&1B1UPRJ15W#I?X=& +M1J%.$DU^"%66%_?R9ESX;#PF4#6B\%"-0PE<:2&<%DBC(`@,<&T,H(0N`I3Z +M1=63)09M6CXG0)@;PWFB,@S`Y;/6@FR;,T$Y:]S*,P-DOQ?S`&!/:5*"B%P. +M3EN>?5*<%#1FJ2X9N&5MIRUY2F:K*AH#53EI9)@')G$KC`&#E5$8/)FXV@Y- +ME#>:',\DTPJ!H8C*1?\US90YFZ'.(* +M*ĵP:J)TY)QAA/(W*3!/WXE_G>O1R0*`W0G8Y'9*I,`4`X!:&*:M"F;1_ +M;>')U:DF9!C:292&+LFZ0(=L3X&Z#J4D^=VA153OG"G6#D&<[#PX+O%<>\9O +MZ9U2TL%7R@;RN1/<4!,$(;=PC3HVB%#($4SLJX$&(=1#$A#LDZ.R@;;ADA1H&EM.# +M# +M!0"IV6`8,X#**EME10LDY[O94(.`;S'F;F=G%_\ZZ%&)C!C">>EHFARD*_JY +MBDC$AWLV&C2T]EC`H"<%4)B/LP6"TE&%_L2;0&)"36FAC(P9,E,.RC%ECTZ- +M;QZOIL$+@;5LF3LE9UYYG56V9639ET$@0&NG2<&(-C^D;!`#@HV2W>Y]J%G\ +MRQ@F_Z#T+>.VI/K;J'V]HZH*S=(Z31C&W9EB-JW24]D34C)BA;OW!=RUZM5< +M<%5M-@'%LJ;VTRHEJ^H,B!<`RU4*J6S'P6B2J#9FTS`;;/M'M>^1,$')IXEG +MQPFXV#[E>X9G0ET=#7D2.2@&!/R5E#+\:!1$VN.S`Q+TWNU39D]M +MF,013JA!5@ +M'69Y+UQ2IZ]<>(_);N8* +M`E!U#:;;P_;%Q2LASWR6'=%W]PZSVM>;7>O=HBMY^BA0:O+43?G<5^W@O#5E?4'!)V4I,44RP%'!.#*XX1PK*7#-$&Q0=?0MU +M/TVX*>DI)<)LGP)\:\;)%V@=FG"!3$D. +M8$#R`$`*Z60Y0YD%)B+J`[SK9]90P&IE#B!);Y#80O[]!&IL`%Q"L%$%4%CR +MIC<%X*9J+;(YD$S:A3:^`S!-`DXO!EC@2_;)[X4"I7Z^I+0G;83!0%`$!&Y> +M"]Z#$+@&<*:3L*QPR,"_T+,,Q);B$+QECYD,(*S[(ZK!S.`&(Y9:IN0]0!0. +M(G`&`HP^14#7IDIOS=AO8EJ3;AXK8,8JX%Z)@H0(@-X!0*,0(G$'(]YXY/"Z +MXGPEA-!,`'!0HJL2(L2)@K<2T3`!0@(*96YD'0@+TEM86=E0R`O26UA9V5) +M70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8X(#DV(#`@4@H^ +M/@HO6$]B:F5C="`\/`HO26TX(#@V."`P(%(*+TEM.2`X-CD@,"!2"CX^"B]% +M>'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3 +M-2`X,C,@,"!2"B]#4S8@.#(U(#`@4@H^/@H^/@IE;F1O8FH*.#7!E("]!;FYO=`HO4W5B='EP92`O +M3&EN:PHO4F5C="!;-S(@-#$T(#$Q.2`T,C5="B]";W)D97(@6S`@,"`P70H^ +M/@IE;F1O8FH*.#8Q(#`@;V)J"CP\"B]0(#@U,2`P(%(*+U(@6S0U(#0U(#4T +M.2`W-#=="B]6(#@S."`P(%(*+TX@.#;U>;(_']?\!@<%2L +M%A+Z_L<_,?F\[0MUZ]M;7O-YM\[VZ)PQ$@2C1/`+&."A33.A!T%1C#3HNI!\-0C#$NL^T25)-"CS185AR91TG.)2-9PQ!D>01&2I.=: +MD^QY'=GRM7UMP]8$D5._-OT._MB0!5=YY0T!9"P +M3ZHWH>B:+HVCZ1I.BX[H&FZ=C2E0%I6IZIJNK:OK&LZGJ+A'^?>O[!L.Q;'L +MFR[-L^T;3M6U[9MNW;?N&X[EN>Z;KNVW6'F41[OOF^[]O_`<#P7!\)PI][SJ +M7#<5Q?&<;QW'\AM_$:[R/*\MR_,=[WW>=KO?<>'T'6=#W"!=_Y7E^9R'@];U +MG=>)UWF^KZWK]IKG/=OP_D>3[NPH)['Q_)\NT>?[FO>AZ?P?;\WW_AZ_T>)] +M7T^']?X_S_7?_G\7O/0@`]]_<`X".F?G`6!$"7K0'@5`V!SLX&0/@E!-T4$8 +M*07@PX]Y[6H.0=@]!^$$(2*O:11"*$T)X40IA4T.$B:R!#]AA#&&4,X:0UAM +M#>'$.8=0[AY#V'T/X@1!B%$.(D18C1'AVHQB$+A_Q(B=$^*$48I13BI%6*T4 +MQ\Q*;T0.&$&8O1?<`/F+*R&I0O'[&"-$:6YQBBU&6)L9XU1QCDVF-D9&NQFC +MG'F/388ZP;C?'N0$B_AV +M\VFR3.>I-U]K]9PS2FY,V<#]YC3B?=.>7G*F<;999S=GT^NB$WYXT&G90>=,JIWSIGT\B +MBU`X`3NG/0^AD^6RS\CO(:?]"*.T$I506@=*Z%TQI%-FB+WJ$SCF10J3$WI1 +MT6H;1ZC%-I@2EG#`*<3ZJ:4WGE.Z34VZ=.NJ-4ULE)I&4HE'4B8-699/_JY+ +MRKK_JP2EEI6*`,IWC3DIO36>59*MTXJ(_>L5<*HT;IE4)_%1YZ4IU3EF3&./T_GJ4ML912QM+Z742J7/":<^)K3FK53RM5::+V6GM +M92?\X*:RRKQ8ZG%2K)6/HO+ZT$^[$2$BY'"D-IK(6JIA9&UL\[#2\MU,*U=G +MYKV+;L8PQH^_&5_<,R;D_7K'E?\>XZE%D'' +MDM:BT;R)3O".$+_5_M96RK$O9A5AE;!K69%R@Z&8E9)<89ECCN>[:\;X +MDOG-B:N9\S9IFMFN]5"K=YOO1=^\U!<&6FN)96Z%I;V2YG5@&Z-F[P4IM;QM&:KWU=J\NGK,6^I]:'8.CIZYPX' +M@>^^Z>!<+S:]+0'!]S8?I+O6?N9-+ZNU9OF[M(YAZ$T!L/?'&;;\AXOH3<-Z +M.2YETY:+`/#Z6["TQO39=5=$\DXWQC?=!KX[^O=>G/?+[O&YTT +MQ9K./2[U4PR;UN@%6M>72E9DGH7 +M:,D=&JCV#ZEC7NF-N*;,XMW7O3S>Y][[]WSN_-.\]_\([+ONQ<@8_ +MRGXG'WC?&8MY\!M!P_B/`[C\[YU1GX'C;*:3;AZK2W.>K] +M6Z3I2_&O];=-Y]GWZ')>"W4ZGSKLND=QU#F/O*\F8.WMQ^1S;YG(OE6<^Y.S +MW.N:EZ[]M]7W==N':UJ?7CJFR-R7&_S[?_;-K9++SS#F2.SP3J;+*MK:K:4! +M+:+:D!JKRG\`+A+LZ^#I3<[##7#TRYRP+3:PK_K)D`"S,#[6"J[IJ5+=[AC0 +M+94`K1#P:X+]#F[C3["XK^;H[23CSA4";]BJ[W,&[<#7BTJT:J#/$%ZOB^JR +MK@K;[\2P[F<%J7<&,&#\\#KAT'#H[W[7JS#E$*[1;E[KZRT)3)Z^T,#K[`CT +M4+S+$'K\;0C\L(D*#]+D3.3V;Z:\\.BY*^\([6CE$+#_;X$/JD$/SB#U$%2N +MKGCU3"D*4-T1+$$`+L#K;R+T<#+KL1SS;MCA#TS+T##;#!*XD#3;Z`*A\1;N +M3P,)SPL4IS#XRZL4:_D%T4T5IS<0T5T6)S46$646IRL0S<3Q<73,#Q\7;(3) +M4`3/CRD,,,B8L3B6D'BNT,;DBAS^\3L,Q],3SM+<$9KRL'<9JJ<53$:SKV#U +ML;T;L<$.:W;\SCCLS^+74(<.#\:N[2"R#1ZW+M+^#";@T'R>,-D(L1,1#`3V +M30;8D*;43]K3SLL:D$#`\&S\404@J2J_#\+(3`#Z\?[B<)L5<;D?3Y4%*5C\,)4*L'[<*HDCZ]DE+D[!TCBZD#S+1L\7#S3:TR;&<9 +M$R\V,O#MLGRC3KL4+4$"B\4W$$L:+>+KT3$VC"T8[-TI3"CMTN<`\;,B<;<6 +MTYQR\6DY\Z1PTZ,Z\<,;[UT_\_TTM`4D=M.4K%$]#,O3?CH;CTQT8C8=2E/[ALR*ET([6]&E$;G +M,^KZCL,9,<;/M1<`E1K54K=&T*%"3TC=\S,@E3%6C_]0$D +M3GD$SAD[M5E&M.\V#K4ACT+$$],W42E,CM58ZEDY$,M'4WC5T:$>L\M9C(\[ +M,[=;J-=&45E;U<3X]<%<=%=T\=:L;$]\E#T<7-: +M#)=:3MT^;RSR$8<\\7]>D8$Y4AQN-)].L_E8M8E&]/U%,?U7ZPS7+([[<:;XU6,+ZW\U,N-437T`5G36 +M;XEGE$OBZL^['UP55"V +M%*,%S=O\Q]SS2M/UQUG$^]=MU5SCJ]>E@TX]?%@CL4\C[3; +M3):QUY$]=YDHT^-XS*UT+SETTJ]R#>]==[DF=J][M\!M%=-\-[E\=\E=5X%% +ME>5>,[]]=]UZEYM4E@-9U>U@`UU=X564L#V$%GUT57$K[$%[?DJU0L36( +M53EU]M,(M%:44>EQ[0].E)UKV*$G=LMKLGE*M_;=;N+]>*5+%M^*E,%+<8TT +MV+,$5I;>%CL:&()^M,*_5[[E=REX+?-BL?L:^#=2N"D&UQ%D#@U1.%KE-3+3 +M-8UM"LT?%=F-MT]O..%VU!5ELD=CEFT+5VN'$I-ZT,C*D2+K,OEW$O,*EN\B +M5A5"\RN1.45P&$5W5/6/]T=7>$.234# +M\VE?3L=15Y^7L+U:<2M+..E@57U?=Y='^2E4=G."V)C5%R-\]\E\V:E<>:V: +M];V;.;4[=]-=]]]]5]N<=QLW^AS7R]M$-!F%%7,Y.BF&FC.7F4V+]H +M4@<9RAMN$E[2\H%QK75WJG+R^E5(]S7$U\GN+U*VIUK=+ +M,9<"6+\XUJE+U-+_[N-NE,6:%N-HK:%MB@,#=->K^*$`\X=JU*%[>0F&N46H +MF!T^E7TM;.NC&.4A+6N/%0-S&4V(F""C$C6I5DNA67>MUUMWSY+.-2[E.=3^ +MN-#A&4.5^'^9M!6/6).5*NFE^&VF&&]RUUV33GM`KWDML/]J.S]9>2&PEE6! +M>'.I)L=X&C6F.7]K]Z^8N8F8UN%Z69%:\X%XN9M9N76=[:684G&I"F4DN;F; +MLZ^Y.Y4Z>YFYLY^Y^Z$6V;\\.<&V(;1^<]>^VL8,8N>NW5T +M6[K4=?M^<-5!&@.?^^,?EQ>DU6N"]-LN=_^#.BF#&RN^[TEF=!]E>] +MNP5[6^&A.S?!>^LUC[3\$T&TUED==0-W-`KT\^6'R3^T;[>&)MVS6PNSBM.F +M;^LELIO"+Z6J_"K^E6]R[]S=6F^KD1>TCT.GF%.K,8,[M,.+>J/'FJ%'^>ZA +MU-3_G&/%CG^JNH&LV*N`,H4X/(TDFG>G69G(<@M%3!.#N0V/VV.PV5%QD&E( +M&TG+ND-Q-34+LC#Z^'>0#J%P50T^]1>Y'+-R7!>M_,3HJY2WLQ>RSZ54_!O# +M34-'/.[.V>5_E!V(*NJPW$'+?$575B='&6%`]UMV&P]V[^,T/%$/EWF6>O<% +M6V&V716>EL%^%^G4>\%^^?&XD1E_-?FW+TM^\X?5'0F'FN$NF]]<.Z=;NZ76 +M\6/7/745O7G7L4NZM]F<78F[+Q/5+R57BW,I6],_&>TXF>#L62U@LW62T-&A +MVJW9:]MDG!#,ECV^7<&^+UN@>]6CL?^O.NS_3HG7%>/LQ%(=MBC3W>GV"O6FI?!/.?3^K7)]+ +M;8,H\$;QUCA$EFH4F/!V@FBN:6ID!''^*.*?EK=$=G` +MGBO$=+R:%-\#_%5O^+F5S!>-;+%OOF/$_*MF.)\:O;FBV4'+73UG^D\*N&$] +M%'O05#G2_@UG.,.@_/FCCI'J,.VA=0>U_.-3W?.1'IOA58U32J$N'0.2_/7K +MUWE#>S9N_GB'3UXGCO)-@N(>WC]D^U;6`,:VV?4%Z>X/SO5]L=^OG/L'> +M_8$6V&/7_U;O_UWU[O?V/V3NO86>?.\-^L]WT_:^HDQ.?5J6!EZ&+ +M',SL$>7XFWL[GO-D7<6^>?^B/N_ZF_?!W>/;^NMSN'5566V6..3,W[?YWU5D +MWR>&OZW@G<_.V##*=3<:>'U,J[W@-R_"7]N6W#QMO1/I=#/F-BX?8@#[@3_@ +M;_@C[@\"A4(@<+@L'A,+B,-AL3B,)B<,A49@T&AT;C4(CT5AT8D,6D\CDTKC +M\=@D/E&,QTYOT@K,RO=-R^;J&`R=FB^8KLSN +MF/BEHN>,Q5PMN+RMUU^QU=?R-]FMNRF"@U#H#_H4^P];UN2R&NS_$VO'MFER +MFAU6LV.TQL7JW-T?.V68I46ZL2[MGI.NP',Z_/XDDSV.@6Z?^\PO`@U&\7*^ +MG%Y'&^W3RW[]7YSSL/&M;L/,Z2W.>R[1-&Z2V/ZV;%+H\D#0%!28MN_C3/8] +MS?,,^+$.]!#\OJY,0Q([C,JBQ+JINN22Q7%S40:QJM(?&2Y+%!,9PG!C3)3` +M;21?%#)Q>Q+02&P*>-VPD-O@?[Y.%)\H2C*4IRI*LK2O+$LRU++XVEDR)6CM4DS=K4NKL(T[?+K+M2^!5W.LS/->EUW;B418>E +M5E-K>;\07"K).[![F+O54B17"N"O+4"ZY,Z*L.7?K*PM/\D/;,=!5\\"P+OG +M*]*KG2TYQG>66>YL;9)GE9J>V6+6$IFEP6M\>7PE^-EMGN.-KQ?3Q[!KG,19*/)Y*S7,ZTS5/\OR +MCLPCT,"PNF6Q29FSR\;Q?'8I9D+WAVUWP5N#ANS;C601N]TQTX_@8WWE^;MW +M'BQQK/6<-FG7;)'/9\9B?JR%E%1T_3GL>Y4U80%(%98Q&]44A[MV4][-]Q\Z +MD3_!:?45UY]S5Y=%%?Q_/]?W_DG]:KUZ3_8!0#@)`5-C_W[P&@5`N!D#7_/T +M4"]&!T$X*05@)`AAT%H-0;@XGN##B8.PAA%"-+\'W7PDA1"F%3SERP1@`3N& +M$,890SAI#6&T-X<0YAU#N'D/8?0_B!$&(40XB1%B-#F%JYSXQ'B9$V)T3XH1 +M1BE%.*D48DOV5-%F+46XN1=B]%^,$88Q1CC)&6,T9XT1IC5&N-D;4DOU<1&Z +M.4/$>8]1M<.88?)1I`2!D%(.0DA9#2'D1(F14BY&2-D=(^2$D9) +M23DI)62TCF9QPC]%63DG9/2?E!*&4411^R9A50*ER8:7LP9A/ZE^*<`7 +MG1.FHD>:TSIM$MC[,8A9.TVPG*W.!,$XGG)GG--N84T")SD37.EPLZ)KSQG+ +M/.=4O)V3TG?/8A4[DO3PF^/F>4]YU3YH#.&?AZZ!3UF70.@DVJ#3]H6].5"4 +M:`426VE.B]"GC,:(=1NA\L*(T<=TERD$_DH45I/1.?]":0ROI&3JA;MTMTK6 +MFE:FRRZ,C[I!2^55,9R4T?`T0A=.31,JIY2ZE#'&1U%I=3Z5-0*9O,>46NG+ +M&*J$"JNR]X9EZ>U0A55)&+3D3D)J-3>E52J6&V2K5^L$K)NS1H.OEX;O*G4- +M=-4*LU:G5([J]4^M]<'H5RHQ26OKO:DUX2E6FQ25VGUNL#"*L50TC44(C6=Z +MA$ZMT=6]@G5*2\AYEW)D!6G]W+S7IE7>2]5[;4VTCW?&^5\[Z7UOM?>,U<2A +MW[OY?V_U_\`8!P%@/`F!<#8'P1@G!6"\&8-P=@_"&$(781PIA7"V%\,89PUA +MO#F';^X3P]B'$6(\28EQ-B?!IO4YC^Q9BW%V+\88QQEC/&F-<;8WQQCG'6.\ +M>8]Q]C_(&0[Y?:1?[_@3B)_S*=HXY2_+3(]Z/-.?/T?=[_@]^GL^,^^OV?Q`J)^N]GK8\2FO +M/`3S-W`;V0(^,$P4WCYK&X;%/O![]G^^T**0Y##LN\+1'$T?R`K\4*/%4+*+%KZQ +M?(S^QG#2?0!'#=QX]L0Q[*T@RQ+*K2&HTBQ8[#B/U&#LN^S\:RA$4I2K#\UR +MO+4WS@IC@PB^LENM,$(2-&#:0RV[&1O-,$0/*=`3C0TX3F@\\24@M%K6[;NS +M(_SEPY0LU1T\CR1'*5#T[(,N*+%SZ.PZCORKU7]@KW#$FS\YMK1)MUWI>M[7O?%\WTA]Y- +M*8KBV%R-4U_XOCF.X]C^09 +M#D61Y)AQ^8S#.-GUE>69;EV7YAF.99GFF:YMF^<9SG6=YYGN?9_H&@YD?F3W +MZ_>`:%I.E:7IFFZ=I^H:CF^B91>>D:EK&LZUK>N:[KVJ:,ZVKZ]LFR[-L^T: +MYL#E7]L>T[?N&X[EN>6;7:FCGQNF];WOF^Z9NV-;=OW!\)PO#<\]RW3YUT1]=5EW39WS&\9 +MIUG0];S_:97V>D]5W/.]QV_4>!F'=\WGO8;%S7>YKWF=^'J/EYGY_@^EW_G^ +MCF?C/MQ7:];V?6=)U/;]=U?3>;G'<^_T'7>[[WR=I]/=_%Z>X>;[_?=Q^OKZ +M+MG8^A_'NO4>8ZMEKY7TN_9N_]WS[2"0#@`\.!4!GY-I@\)[ +M;XW\0'@$]2!Y!V"+9X'0+?M!^&30W]-W>.[*#4#(8L +M\@+!6%4(X-PQA[!]\\*8$Q!A:_.%4*(A,U@N]J'42(*0!BC`Z$SX(CQ9B)$Q +M^[GG11>@W$")+6(K1-B[$")[R(/J-,B6LPLD<\&109YSG)(R;@Y) +M!G\E).2AE$UF4$HY32G:5*65$JY6,ZE5*V6$L682OEE+66,M);2YE1&EHDO9 +M?2_F!,&84PYB3%F-,>9$R9E3+F9,V9TSYH31FE,9JK;9IS7FQ-F;4VYN3=F] +M-^94\YZ3UGM/=@$\)W'VGA+J?TK +M9]-AGY(6?]!9-T!?W.^@E!J&1]H1#:@=#:)2.H>QJ?M$Z,1)HJRFB[+&1,P8 +MY2!D-(F04D8_29DE*&)TJI"RVC:\Z.LK9"/REC$*:,OIG35BM-V74YIQ/&GC +M+6+U!H\R"HE+U_4Q'U%!XM1*94+:G4ZI=4&>-$I$TNJU/ZL52J8T*K-/:J1. +MJY6&5U1YVT"'_4JKKKZQR?K;*FM[2:OU"K(SFN=17+UQJK7IH-=ZD3CC56NL +MM5V?5WJ?5NPENZ5ZKN1?NM>VZ,@;,VUBQ(*WUS[Y,KO!>R-;=;D6LO/: +MZ.DEGT/XO_%J$5Q+\1'D!<:_U<;^X)PC(RS^#(96\N+"B,L1L)W[O??W#%[H +M]Q$?@^*\EE;E6O@-A^[]P7VP)Q)>#!.&GRW%Q(_9Y>,;UP4QA@+$V'HEXGQ] +M=S#<),58/R-B^V.`[S8M>V^QTF.;\9`=_@N"&0<0WQQX^BX>0LD.U>KD^[6) +MWE0SP[>&+>7;T9%D1>/*%%K+Q,>]&',6;\VY-S=@:$L3:)KQ#ZZN?='Y +M@CAUIN:[^:BRO'N.>D<2VJQ9G6+L;,77VRU%^$66L4Q>P5A2-N*'V;3TO>7.EV(J:7PS5',\.-9;EMUJNT +M6X&G:NNG@:*.Z6Z[>HYKK<.W-U7WW1)7?&[+)[[WC+/<=7N!UBX!OK7%R=[< +M$X/:?@N[]'V*X:S;=UJ=_<0L/=O>>N>+[KWA;?CMQ^)\&WS;WDO#.3\DY#R; +MC?"JP3;I%-+F,VN9S9YK-CF\W>\;X_R4CZT>3\LUKR/E_--+\SYOSS0/.^?]$\SRL-.Y>G]1ZGU4Y'H>EX= +MZOV'L?9>SF)53T.M_1^>J[[>QON?)>[]=P+WWNO;?!S-\/S7P,"77^1Y/Y5Y +MOF;%9L[R$;XOI?-?E\]C7S+[9IC@\3@/V((_:93]RV%[_NQ2_%'W\B\_S1LQ +M3LJ#6%\_R>_6X[]J_OWW=U0]S_K1C`#^YQC_(_;_;:2X3]"%Y^L`#]$`4`;X +MKY:^B'S3C:31;`,"K\\!QN<`@ZT`S(+9K.#+;2$#1QL#@^SZ+"*&"W*.\%+" +M\$D$L"#Z$"4%[O\$S5JJ4&CLD&S[D'+LL'<&<'L'T&+[<($(+L$'[AT(SM4) +M#X4)4(3UL",)+[YS;ZS;:.37D*\+)^\+$+<+2/4+*31_T)QF4)CXZ\2ZS"K' +MD-33<-<-,-D-\-Q_Z$\#,`4,K<4"\-#0[]3@+/[4D/B)$-;/D,;CZ$CXT.[^ +M4+J+C'$>2C$>D>JB4>\?"AD?3\)SL* +ML+D+\1,@4@D@$+T@T1,3L3T=T?L9#/$.$-LB,B$B<.,-2\,2<;TAL6R"L;,9 +M4CL9D,\4[_D2D?K!#'K6TCT;-",XBT]#%#M#U#]$!A5#4W%!YX#V]$J2-$]%"1 +M-%5%:/M%M%R)-&%&*14<-&E%]&U&]&5'-'5&M`='M%E'E(!Z5&=(9T](M(QR +MM)%))R=%K^QI5$E)D0M'\UIYU*1IM%5*+Z-3QJ1@%6]84=M8IJ-8]8-&P@59599I]9M6$?]:-:1IM:E`\\D=%:];!I +M=;1SM9]8=;YK=<)X5<=;U->1GU>B`==-8 +ME?-=E8%:M;M?U?]>=@-;<]M@=@IJ%?9T-?MA=:=@]<5>U:%@EB!GEAIW%A]B +MYIEC-7%=Y[E?%CAFUCU9-BUD9G%DMC=E%@%9%E=EE@UEUBE%D]H!F-F]GJ.1HE$-IEIMISN]H5A->%I]JEJMJQD +M%J,^LF55UKEKMKUKXA]@515L%LELMLU5ML5HQLM3MM3SE35MJ2]M]N%+%N5N +M=MU>UNQYUNMO)S]O=OE/%I-OZ0]OUP5-%PEPK`28]MEQ#":8SNDO=7UR-R5R +M:93)X?MR]RX?%S%S-Q\S5RES]T%T"0IHES:?-TMSLXEG]N!Q5TES%TUUUU!T +M5U5MMU@?EV##%V#P-V=M5VMV]UH?M8[TMW=HUWMX!S5UMX,"-X=H%XIL=Y%V +M,<5QD2MTAP5ZEZ$<]Z3B]ZS<5XUW5HMOEVJ?*85Y,&5Y=G5\+VMZ]\UFMXMS +M=]U\D(E]=F%\)A5[U[-H]T:>!@]_5^U^[5=I:@F`%_M_UZ=_3@5^$I=^5EE^ +MF`]]5[]O.!C)^!$J^!5E&"+<6""[:>#-R&!]NV#K`6#]SV$-N>$;" +M>$MU.$]U=_)[6`5X6%MVF%^`-_F&6`E[6`V"6!V'.`N&&&]Y6&=WF&N!N`>' +MV%+#&%=V6(=XF(N'F(^'.).&.(6'SB.$F&V)=Z-^^*>(-\N)MYF)^#&'N*T8 +MF#V+.,F*V+N+5[&`F->-.)&,6,^*.-V.6+&.E_V-^/&+F.V%6.&*6/N)6/^. +MN'F(V'&,N/60^-60.*F+^,N,V+&0V*N1&1F+U^.,%\^2N-F#=CF1.2>1>0N* +M&16..4.,>/=[.3V1V2F4N.>4>0&5F.^5V0F,>26564&6F463^4F7&4V66/.3 +M60>7^6&/V4]Z65.2^1^8^!.3%]F8&8MQF96"F9E^>9V7V/F8>069]Q&:.#6: +M>!>:N765^7F5N<.6>,^6N9&5><>6.8F:V5&<&6V7><^7.>F<6>V7N= +MN:^=^;.>.8V>>=.6^?6^@>>NA.?>@^=V@N=FA^?NB.>&?F>6;&1 +MNA>?.AN@VC>A&/V=&9>9.@6D>=6BN?^B^@.C.2VDV@FCNB6C^B&F&BVB>C&? +MVC6EVAFD.A6G6CFGFAVF6BFFFE.FVE>G&EN:6DFEF3>;V"VDNI6D^HFG.J.E +M^H&CVGVD&06D6JNG>K>GNKNG^K^H.K.F>J^F.LNH>L^FNH6F^E&JF;NI>I&I +MNN6M^I.N.J6M>HNMNH^NVNFO.L>K&L.K6`&KFO&JVP.M&P>LVQ.MFM.MVJ>N +M^$&NNR.O^Q&PNL&P^KVS&LFQ>M6QNO>Q^ONRN8.S^SFP6S6L6T^Q6U.PF'>S +MNUNQFU>QVSVR&O6N&R>P&V>T.VNT>V^R6$VRFW^RVS>U^U&W.R^XVUFY&XN( +M&XFU6Y6VFV.TVZ.WFZ>VV028>Y^UP?%].;5PM]M]UW.@&:&&IA.[]P5^A@NW +M&X.W5VUZN]^TN[%[;:=[N\F;=_-SC`5SF]%O]YMX]VV^VE6\MRV_5W^[>V7` +M-XUW&_F^^\&_-UUW_`6+]J_"O"W"YAG`MS/"63?#'#W#_#_#5R_!7!MO&1^0 +M6\]P]QE_5^O%7$]AW$W%[Z?%W&5Q?&5C3H%T/'7'=R*'BY/'G('(+V;K/'#* +M/$E]]S7$')7):>UXV\5V[TG'/)Y@.^/)G*W*YC_*MS6\2S==RBW(Y@6^EF%Z +MQ@7)''W*5SAJ_,5EF^G,N_7*/(UXQMW-=E'-?,O+M>O(Q@-RW/%^/2G*'2W. +M.\715\7(74G4J9MX"7O*?(EC_1O)_0F]_4W6/628_5'5W31TO'_+'777;O?, +M[J77G8'8*>O7QC5L_8W8_9%LJ@1;W9G9O9W9_:':/:7:?:G:O:W:_;'9?;/; +M?;G;O;W;_<''>'>/>7>?>G>O>W>_?'? +M/?7???G>/9/?_@'@-KP@(`IE;F1S=')E86T*96YD;V)J"C@X.2`P(&]B:@H\ +M/`HO3&5N9W1H(#$X,S,*+T9I;'1E$!MDLGJHY$!L@LT(14!0O(T<@14D@Q@47B]JCL<&<_&DM*E8B\$ +MBY4,%`ZC8,+K#D$`I#*,S"M*,J0C<,8RJ2,(W.E$;LI +M\H`F/(\RQB-#RSK2MD%HO!JXA<&89PDK`4#&-#6M.Y$4#F.C%.`APWQ8*@U1 +M^H4A`4KDB*XPR?AC#P;R1)4F`4%K^!@CB]`4TPY#..P4RY'\@PE(:=K:MJ3* +M`CDTI_-<)KRO84!!&HR3Q+JR2_/DPS\$$R!RN26T)),EPG-U!0E1(RC<.S"3 +MRLD]K0B4B3^$`9(W),T353B[5`OX4!#0-[4LV$#K!`.8RQF,D3#"$#?N8*8AB2)-KCE&HYQ*WPWC +M<%PN!3'KSOD&B@!G#P6LC),)")6SHAPTH\C@WXSN,Z84#0S+#!0/`PC(,HQQ +M`[+C!PV`W#J-HQ1>.>#-*-..7S@\7CDZ[4M*%HX9(-PRA9BC849CH40N-.8Y +M3:@8AL%`[#3A^0!E@]M6KG3-!1%^)Y"THYVF.0Z#&ZN?8J%#K9B,.3:&U0WY +MYF(TCHVM\ZB*F$YC9"8#E*NMXX\KSK(LU)!C(@9!E0A0-0Z[/VS3#%F[#SOA?E!EV(Z;%Y?)AES/-C<,G)AGXS2M;:'C= +M\W_TZE[?L=\)HP_7Z`KA2&F/?#X;-]8P^O?>"@(+/G8K%#J^5HIA0:,,:(Q` +MZKUS2).5^^`,@TPHP[JW.A4)H8`-KTVAO68H;H.IA&O@R:DM1KYNH+ +MPC,#!%F$)P4.H2J==U;K5;PN"8B9%[]C2P5.Z8A8T+@QHUA<&)*[!89071#" +ML%`8C3AK8I"@W[4XG0MB<]^&)WH4/G#"_X'!N@@PN#FP0SL4TG!L#2&.*43H +MD,$:A%V(BOP6KR`5!Q6T$C;&D._%"-D>R@@H#,R4EX,`;Q"@+(4[\5H^-%#( +MUQKTC8QR%D.\(.H8HSR*C3&N-LC8WI8D!(M[LTXY#()&M['92#A%4IB)VI9O! +MW25&D;ZIU-Z<2]F`#(&H[9E84`PG4D"=B?4B-U!E0<%Q*2J'\<@7R?,Z%DOD +M!;.<.CLP40JFH\QC$)J,Q8G.$1;TX04/U?O+I_+0@[TBHJ:6C"2EF!OB*NQV +MM&3^4B;#.:ES\7YT9I(_AX5**1-*6,&QWDYPV!O#?&VC,:HI-O@.YT^2#P8$ +MI=&Z56P1C%AU)"<8_9X#Y4U7R>Z8;"7:@RK$&.-4?ZPFZ7:<:L46*S&ZG2YV +M=:8)W$7*X90GX,D/`T.Y/4K"GDX*UGU/Q#E3@5QFA#68[_("\D(=*M5EK%4U%S1)D6NI71>.R^6XDL*Y55?BMI8AX@7+1&'0@+TEM86=E +M0R`O26UA9V5)70HO1F]N="`\/`HO1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8X +M(#DV(#`@4@H^/@HO6$]B:F5C="`\/`HO26TQ,"`X.#<@,"!2"B]);3$Q(#@X +M."`P(%(*/CX*+T5X=$=3=&%T92`\/`HO1U,Q(#(V(#`@4@H^/@HO0V]L;W)3 +M<&%C92`\/`HO0U,U(#@R,R`P(%(*+T-3-B`X,C4@,"!2"CX^"CX^"F5N9&]B +M:@HX.3(@,"!O8FH*/#P*+T0@6S@Y,2`P(%(@+UA96B!N=6QL(&YU;&P@;G5L +M;%T*/CX*96YD;V)J"C@Y,R`P(&]B:@H\/`HO1"!;.#DQ(#`@4B`O6%E:(#$X +M,R`T-#$@;G5L;%T*/CX*96YD;V)J"C@Y-"`P(&]B:@H\/`HO1"!;.#DQ(#`@ +M4B`O6%E:(#$X,R`T-#$@;G5L;%T*/CX*96YD;V)J"C@Y-2`P(&]B:@H\/`HO +M1&5S="`O1S4N,3`W,3$*+U1Y<&4@+T%N;F]T"B]3=6)T>7!E("],:6YK"B]2 +M96-T(%LQ,30@-3,S(#$V,2`U-#1="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*.#DV(#`@;V)J"CP\"B]$97-T("]'-2XQ,C0R.`HO5'EP92`O06YN;W0* +M+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S(R.2`Q-S$@,C7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#,R(#$W +M,2`T-SD@,3@R70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C@W.2`P(&]B +M:@H\/`HO4"`X-S(@,"!2"B]2(%LV,R`T-2`U-C<@-S0W70HO5B`X-C$@,"!2 +M"B].(#@Y."`P(%(*/CX*96YD;V)J"C@Y.2`P(&]B:@H\/`HO1"!;.#DQ(#`@ +M4B`O6%E:(#0X(#7!E("]83V)J96-T"B]3=6)T +M>7!E("]);6%G90HO3F%M92`O26TQ,@HO5VED=&@@-#0S"B](96EG:'0@,C4R +M"B]":71S4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A8V4@.#(U(#`@4@HO3&5N +M9W1H(#@U-30*+T9I;'1E\GE$IE4KED +MMETOF$QF4SFDUFTWG$YG4[GD]GT_F3XDE#HE%HU'DL"?3\IE-IU/IK^>[XJE +M5JU7K%9K5;KE=KU?L%AL5CLEELUGM%IM5KME>?]+J%QN5SNEUIC^I5WAE1J= +MMOU_P&!P6#PF%PV'KEO?C^QF-QV/J./R6-R.3R5ZQ5,I%PJ6(SV?T&AT6CTF +M!Q3^S;\SFIU=(U6+O.PA=\J\CO[ZVNYH5AW&EWV_X'!X6GN%TU%WXMSX^+Y- +MRX]XS.JUV+OM5WM4D%=Z]>[>[JV][M<\/"\GE\WGL_$NW+Y?&U?KI?0SE[N_ +M5[&ZK?CK7;W'\LC]/1`,!0&\SU+J]BX(0Y$%KPIY_G]!C8NDH[ZOPZSK)"[$ +M,J%#:L.N_L+ONW<.PY$$-.R[T4P!`D61;%RRP,]T%GY!3F1F@2FQQ"+,N@A3 +M:._#T-2%%3P/'#\51#%$E2+(;LR/$47RC*4IL2^+FKC!"F1K+,M'_&DO*B^, +M)-2ZD+2A($4S-*$321-+P30_TGS3*DZ3K%T8N4]\:*A,$N2[,$PMD^;9PK-% +M#-M-R1/W)#_3=,\WR3$45SM2E*N!/#G3U0$.*WB"GXE3.*8GBT>H3'^.Y3E6-M.Q;+,QF8YFQLQ.C4F +M,Y7GF>UHS+-I!4>@Z&U.++LIUO9]I>F3HZ.D:AJ+E0EFS'GPCVL:SK6MZYKN +MO:_L")YEJNR;+EZHPEL.U;7MFV[=M^X;CKVT.B?Y][OO&\[UO>^;[OV_\!P/ +M!<'PG"\-P_$<3Q7%\9QO'=;V/9=GVG:]MV^\=?'.[H)W'?=_X'@^%X/=2UW/>;[NW +MA^7YGF^=Y_">+&GCGWY6]^MZ'L^U[?N=EZ7K>5\*!=X@?<_'[OT?3]7U\5[_ +MJ>QZOD;Y^'V?K^W[^[]WY?%\_X=Z_B`$`8!/"?T_%^+X'Y0)?I`.!D#8'.E@ +M*^&`T!H)0(@?!>#$&7+OZ?^]5\KY'S/G@U".$D)7!P%A-"F%4*W%PHA9"^&$ +M,6]0NAE#6&T)8:0WAU#N!CWVY0_B!$&(40XB1%/HH);,1HE1+B9$V)T3U"1( +M3^/V*D58K17BQ%F+46XN1=B]%^,$88Q1CC)&6,T9XT1IC5&N-D;8W1G(&W17 +MA`HWQUCM'>/$>8]1[CY'V/T?XO#YCB9B.8_XJ0\D1(E]0^9!*^:.0.0\BI)2 +M3>=(R0<4E/R1DI)N3CN)+2.;3'0?LG922E=C)^'TAI1RFE9*UT,J(Y1)DU*Z +M6DM7+2PD)+*52]<7+B3$D)=PA;S"*#TQ7L3&F5,F9DR)G/FF?!Y_C_9C +M/S?)!^!,UIBS(F;-=OTV'KS4@_-B<$W)JS7FK,EP$TV[$%>I-N:$TGQSNGI! +MV>#?YEO1AF_^/2"C<^*$47HQ2F;=)*/S?HU2R>]**9SKIE +M1RG%(Z2S[FS3=P=!90RJI90ZE5+JBTWJ-3VI-%:B49F/3&$%`Z.T6IE4ZGM) +MZCSWJM5:J#X*MU$J52&ICR:KUEJA0.LU:*8U)IS3N9]3JN-]J`W6@]6JPTUK +M97FI%>Z0U]K-5.=M.IO5MJI3-^DXYPU@@/8JDU6IE3FL+.2AC_:GP6JG1JP- +M=K'UDG]9NB\Y:LVAH]8*G=@;).'KG(66@/;NRM.+FVPHC-1_UVI;;Z\-:;+W +MOGE?R]5@K&WIO1=ZT]?JSULO_;ZN]UJTM_O'%.8=*:]7JPI>C"=6+(OSGM;^ +M>=0["4/OK7V[-"+249G5;JXV'9S5ZI'/RLF%:RWTM#>VFN";"X+M-/Z\4C94 +MVKLM>O`5\,A9!LQ?BZ&+ZQW0OWB"^>1L2X?R7@'$]\LCY,GAD^^-S,0Y1I5E +MO&>!L+Y2QPA8G"V0,+Y#KS<>W-Y9I5#L]-G`M@\YYXNYG'/>+\ +M^7'RG.6[N>*NU%SAGK!EEM#YYT9;+'+_,_V,=[@&L[@<'R9PC+[33S:XO-TO +M,+3>H=1-^T_774>I]1ZEJ%JC5FF]56KT94^J.L]9:UGS/'6FM]9Z"SCFIY.B +M\^ZQMMI"_NQ9ZT`FC/O.^?9W0*TGL^@-M9T;$PU-VFC[=*N"?$[75^$^;.$9@J;6K#&'\O;_RKA/$>_=T99XCEK@^5\@58L5GYQ/'=_BZ`M1F>7.:=E8YMI=^Z5P.JVSZO"&WFA+(4YNYU+"D]N=V +M?L]93H6#,M=@M?D>IF=>J=#N5B?#>\^;U[3NJ]N]<99VIM5WXWODF^_5_/\+RFS_I=V9.WS\3(M5?=^9JYOC==YLD[R[W];>UR, +MKYBR_Y6D6(LG3@MOIUO7S<^>L]I_7-]V>T;!_UL/8N0=FKMMWO^.*/B/]/A- +ME-#-!M&M#O_MKIH-B/[M!ON-@0%M?/X&^/Y-6P,H-/NG%0,0-0/H'0.'$P/0 +M002I*020304I$0//W-K-;07-=07MDM=-'.N+SMCKO-N(N[+._0K*@PL. +M8/:OHQ`/&OKO+/&,%Q",,N<+TPT/EM:K,.0.[*O*JJONTP[M:1&G`O).*0'/ +M%O*/V,:G"0,-OQ`O[/Z//.CPT/8.9+2N=PR0E.(+E+B*8.=+)L`0RND0$K_1 +M+)U/WM?JX.X0GK0+P/BO"0ZQ-M2/3P^M,MH.L+:QFNWQH.K(.MGKJOD,J,[. +MB+GN*NU0ANN.;KBPV*.,=/10[K)1PWOF2B.H0>221]R10$.E0U/ +MLPI-I0B)F1SP>/_P)P1-8R#LZ/\2^2]L).Q.M1?2VL:1043,3-H53-3.3/H1P608S1P832P9S3-$0DJ +M,1F280?,9QIO0P>R7ODI\.W1LPCO21RURU2Q2>1M.`K&2I3O2JN&1)0!SL,#L$3]J1/CQ+1'3 +MQ2(4"RG.73HIYQC0FNFS&R/N"RD123X172EQ9.:1W4+RF2+1&,7.L.6/(0ZR +MYNMNCKY1U1<0I4"/UOWR@R`2QO8J.J=48R;.JT')03'1EMHQI1HQGT=T?4/Q +MZ0;2&(*KIQR+GLL3$N6MF3KKM1NS80(TF3T3R1UKO17MDK$QV/.4>K>,N48Q +MA-]2A3-3[3WT),AOR1822O5RIROO=3S2)N>/)O01;3L2&R)3ASQO@1/O$OO2 +MH36T\N2TOS&4;T(3IRTU#.#4ST`M>4R4UO84V.ZR51,Y2#1=T]46TW.ZQ@R3,'3V1\L]553X/[2[Q@UF34L81NP%3"K-P@S90 +MJ*Q1>UL2]NY3`5GPB4\-A2T-F5+U=U,4L.BU2L>R0305V2W'V3/5VUXH!UX5 +MY5ZG[UZ5[5\I%UC-806S3U_M<096`S22X5KS)2WP:PUNR2MQLUI-ITA-C2XK +M=U*365OL$1)R_'&.;6*U*P'R9P?V#PJU32SSR3G633H3GJ)O?L&S=PQ5?TWT +MV3TT^0..)TQT_PTTS4(QMI]40,_.73SU:R\3D4'U3V2U4TR2DS\)OT!66`IPLNVHN!.0JUK,T$U:SCVAV1S+3EVCVT3LVE/?3 +M`KHMW4YUA.HR'+X3\R=T,3:6%TO+-561QJCSM3#K(5-*I1_U@+FR?S8V=G"S +M14%T?NIW&NLW(1IMER,.5K`1P42/VVG1S.ER<3%T`0A4H4-39*7RGW24GUT4 +MX/V4&5L4N3B1ANVOS5B5!5U+RUE7;/Z3BR!4ZP\/$/T7?7>NZ-*5>Q05'MX- +MQR,QL`/+L75/O36B623W7L7;UH/MO<58@G\5\8A8BS*7[8=XC8E'MW%V`-Y+X-T2RM8RSNQ'VVNSW0Y4F\7%NP1G7'4MYHYIN +MUV)8;3$UNYJW'WYOLYLYX'U29V8(9QM]X?7 +MJY(97O!WOS?N<3N1KX"X#123J.'RPQ:7Y^0C51O_7^0QO@6+Q]9:T*Y-YWX^Q5Y2WJ8 +M@91Z)Z8Z/9::+2P25RQ9>Y^PE1K5RY-9!47X[/N0[2.4XR`WHZ;.-58V17:8 +M4W]:.,W9C:FP%YK-@:I8NZ&VHU`P`2VQ89N5K3?/]ZKS:V;:N888::K+@VM0 +M>RR2AZ(5CXEZX8CVRY6:XZZGEXB:[:\G6Z\:]:^G48FV!XH8I[!V"/1ZHS8S +M7878S[#5IIHZPV>QL8_NR2_Z'463@-=P8Q,VF'):2M?:SX35TX=:Z9!XZ;2X +MYPOY[RW*EOJ-VZ>KEY)[)7\3^0_Y;ZA3?[7O$/-Z/Y4VI[8V7X6WZZYSVX!Z +M98-;?W^Y86_V6OTX0Y3Q?VMQ*.?,)1#949?9&6QSYV0TTY_Z$M**Y:7Y6[BY +M(V$9VZ=580*Z?Y_[F[H9U8]7-Z1RNX:N?Q_-^U-7ARZK*M@VZ9U3Y79;OZW5 +M^XQ9J9H7(T>9J<"W8UPTAW-9MU%\"<'WQT@1T8*6^ZUR5[YYS70+=.U8/4JO +MQ:,[)6?Y%[_[A:WR0[C:GL;7FY%7@5.\/ZC6%9"2`7D[=YNVK;J<*:4Y07"6 +MU:;P9[?0;X(W%;P:3:G:*2./P7QU-\77GZ=[9;R98XP51P`0HXOW?Y`:5O77 +MF55RH<67I\17Z'`9'4K6OPVP*99=&TE81G!:^:_8E;.G-=0]1=3G.]3=4=5G,=5=6=7Y&\B-";"X +MH[`XI=::M/\]=3A\K3>2[0C6*YE60;03C8J;$](;*8LK00?M$XO4@[O8F=9; +M6[3XZ]JV4X^=(X,;5S^YX:2VJL".=9/Q=3Z584B73;K>4Y]</8'L26[/6X<<2>$^S;Q:G\HU9:168_+RJ6I6;N'[UZ-5-Z>X`^!> +MR]TK6/Q^H>LY0V<5B^Z5Q>[>[.F8K:RL=818QP7].Y +MK:AU,\K^U>:^&VET4\1]`=VUU]802]H'?]7?H--YP'@_J?J_M:E[1:(_M_OG +M([`=:_Q[";!=<6N9KXQ8/V,])Q?^52:62F6P2/S"/0:/P>:S.:2242V73&73J;3F03Z@4*2T2'R.;T&D4 +M6:R>C4FA3ZESFJSN'U>I5JD5VC5Z'3*I3NQ6.I1&)Q6+QF-QV@SRG3BHUBZ3 +M>[7*@52Y56KT^H3&_V3!5JXTVLWNQU"<4VEX"XV:ASJRXNLX3(6&MU^YY+#Y +M3$U;+TFT0*,Q9_QB*6W$76\:RWW.[Z_'YR%YS,0+96*B;K04K>S;<73;<#%8 +M*DU2GYVL;6CTJ1<&AWK!Y'-=#)Q[D33H<+-Q0PS?2:QK%O?%D=+O'[OJG$C,N\[K +M5KRR[P-"@L7+5&#UG^]KCQRULIS5-D41XXTLP3!Z821-[I2$X:O0G'3PMA%D +MFJ.\;"SD\LUJ904N2(SJ<[5I/]62-/-65W+4E2V\U*O12\8S-&< +M3S33UE5!9-D/'!\(1&O="V1&T20<_+]07:MH6Y;$1VU#430I:5P._;]RW)1= +MRMV_=MO]="\W0AETS!,1^--3#54G?^`8#@6!X)@N#8/A&$X5A>!LMAF +M'LO?5^6+,^(8MB^,8SC6-XYCN/8_8*TWV]5,V-D&3Y1E.597EF6Y=B627]EV +M9YIFN;9OG&09A,F2XK:KJ0B[3@:'H6BZ#H^@:3>+W5^X2^T%;-ZNVOUIW&R3 +M[*V\MQ/SG\2N/9^MKQJ,W:>OLKW?>\C0/K6OXUG=^TU*R?I7N:7[MNN\;I5U +M@5))[E,]O]45K#S?UON3,UAH$F,IOU0UQQO#U?6\00S55)X=@^WXI8[_4_9O +M/QPY=%\7H,B[,]W'Z)IU9T!4ZS=)4S6=AP&K:O/^M4;255T;!#LPW@/,8-S4 +MRY]SME]!3G/W:P+#ZM(G>NE.C7MU_K,0F2 +M]?.[#WP5:/9XC847[ADWU:E6Y)13Z8,O71VKA?+\%B/$VH1-:]SEIU=:]15;@4^PX@FTYR+NU +M$-2;V]R&[AT5JP+M&*(T-'@EGA)%!^3Q7!+,BM%6*AM(BMBBFX:!2XTOJH>C +M(56*78QJ[C^]62+WI+1RA[)5/3Y6OM3.Z[^)L>F1,3A,TR0$@WD176NN]+,8 +M&KRLE>S^,DL5F2KDZN$IR\VL+I2#/#9 +M["=G,T9I33FH]AF\S([J3F=%*:LW9O3?G`RN;#W6!3;;C.&=$Z9U3KG5.9^< +M[)X3QGE/-E,[GBO=:FU1HS2I]-(GRZIQ3N'LK1,K#&`$^&PMG0W+MHZT$/OD +M/F\Y/CQZ'+XEU0>=)C5YPY-%'N4DSU-MW;U2*DC>:20_AV[=/U*8#1F38X)O +M=#X&O3+@5R(%*W!TQ81.-B\+CLHBE%$^C\W))R!E/*ISU*(B4JA?3.`*\DVR +M]3BZAK+8DF-LAO3:J3?V"T\8M3Y`%0*.RC9C.="M2)!5HEK0J6?V#<#6UKG08H&3STZ)62L>Z0WCA''0,AH^6"%F;(2P1W!UP9MW*Q#KXG +MA4$68NECL9*VM4J:TINMG")_RI4]1VA_35YMKXXF>B176&U.;$V_C+(JP!S7 +M_NUN)6VL$7:P1':0^^LD4:S.`MY4>WJZ[75O-F8I.\(('I5NBY)V\=HN/?LW +M1&O-J'C*^N.K)QUT'J_&"G(N)ND[-YD< +M*4R,-['2Y#B;%1QMC=5`4A#?7"P%&\LV!:"2HP1BM*:V(*-,EPNJ.M@K(UQ- +M@O'&%!J-RA(=BB>F4_,N8"$L?W]N`L^&-Z=`NZ?8;F@4Y*9)'HQ6*:QD()0+OFP3+ +M5,*2TCI-IW3F'XE*DR1AY74,W755%++_PUB_%JP#E#*M]J>V2WV=2NH?D2Y:-%8=14+TEKA +M,$>=E(WG+FZ\&<+\X)V#>7)>%DN)!J9&JS\%W%(I@#5I1\!\,JUL%#;#5=H@ +MZ*NH>*T-FX"KFK]$JG3PMP1]L:^NR+^M_\+M7PSAUEIB4%R#*^TV\'6\`2=` +M2L[M6B6IXYQE\$%9E1TTK!"VD/7SP`KU'>#V.XRT).Q+Q8Z-U]E#Q,H3?C?-G&V=QZ2K0REO,%KW +M`N)Y\^#YU%O!^_9L^1\G+V6,86+^-*7Y7T?I?385FCZGU_L?9R?\^D'VOO?? +M^S];\'X_R9D_%^7]'Z9Z?G_5^W]V9_N%M(C_/^G]?[?W_Q_G_7^_^?]_\__` +M!`#`%`'`)`+`-`/`1`3`5`7`9`([Z>)`;`C`E`G`I`K`M`O`Q`S`U`V_Y`>9 +M*7I!!!#!%!'!)!+!-!/!1!3!5!7!9!;!=!?!A!C!E!G!I!K!M!N7H?B6+!Q! +MY![!]!_"!"#"%"'")"+",(7!T-2'R(Y"9";"="?"A"C"E"G"I"K"M"O"Q"S" +MU"W"Y"["]"_#!###%#'#)#+#$\^9C`Y#5#7#9#;#=#?#A#C`2'[#0BB_?#O# +MPGG#J7[#S#[#\G##V+9#_$'$(FC$"-3$+$3$49;$.(U$7$?$@8]$:)O`R6#` +MC$M`;$C$T8?$F(;`PF@(?`E%`^W`;%'$W%.8!$Z(.(B8NGNHZ85%=%"'S%A% +M-%1%L2]"3$=%7%F8M%B^W%H6#&!%O&'%3%S$I%X8A%]$]&08/&5%W&%&)&C% +MPA+%TF;&889&=&M&@Q/&N8+&S&E&E%5&TEX^8'W&^4HVT-#'/%8K:E#'/'!& +M''$3#%X5T8#'7&ZJF*3'O&W'A'Z)I&-&6W68%'V^(+-((=@,M'?']%/'E'0Y +MXQD:7((N.NA'-%K''(G(Q(K(7(V)!(!&>YX\H(-(.W22W)&ZFY^(+(5(Y$A( +M;'8=X2N[?(DN`,A)DVJ,O)5)7$7);'HU"KJ*K)&DJ`*Q*-*/$)*3'(QHEA)DQ5*&N*.Y*K*M#_*Q&3*C'881) +MK&]*C+%$5+(8?+28)+@UO*9+9&C+=&Q+-'P8'+E('+7+K*O(](O+?+S'XCU, +M++_$U)W#-"@6#,7,;#-,1%O);,7,88C,H/-,O,C%1(;,U,Z^U,Y,]-"^G-!- +M%-*^1-)---2S--1-5-:R[$G"/-C-E-G-I-K-M-O-Q!9%R(S-Y-[-]-_.!.#. +M%.'.).+.-./.1.3.5.7.9.;.=.?.A.C.E.G.I.K-XH_.M.S.U.W.Y.[.]._/ +M!/#/%/'.%.Q/)///1/3/5/7/9/;/=.:-,7V']/G/I/K/M/O/Q/S/U/W/Y/[/ +M]/_0!0#0%0'0)0+0-0/01030507090;0=/K-S0C0E0G0I0K0M0O!$("`"F5N +M9'-TTB"346?C26E2KQ>"1.@T1DR[W!0.8T-4.@QM1+`;!0-(YS"S4K2`]"QJ%( +MH%*W(ZMAB^3_2<&\ER;)X%!0%04BH-4A2)"LC)VMBV!J&S_(%.R?SQ"R_C@- +M['LVRSOA:,D91=3$:.2%H92RVL912U4S#-4=.RRQXR#2D(QCI,PPC(,B0CF. +M;'C.\E3S$T@<,R/(X4Y3TQ"X&89!E-,A3904W4($"MAF'-$!JE5%R9)T+!:_ +MH8(XO*_/`-3"1`ZH86.L=`K.B4CT*E`8P<'*A6I1JZPJO2_V&&09S-5S,C?, +MPU#J-K;5.&\SV!+(B12,,S"N%*HS&-PR7XX3F7R%-]V.E]$6>H3"A=;8B6Z- +M@WC'%(TC?'-3AD%#^RPZHJ2MD]/92.E?8+E-[6,\TU"-9-SS>GEO7`&;,A4+@4#DC85L,+@4W)(:?64&-TI\B[,:*K8;Z)HT++QI +M=[*-E@40T-,L92.XTC8UV4,T,(UQ@%&:X)M@QY,S8W#I,N[#?%^>V99 +MP9PE"&RWB!6D6U><]:G8T_4!Q5!R/KJBAJHP:W?R-K7E;@4:C/L_S7SEESAT +M%$!S172Z/;.E3T'(S=WWG>AO7G5\W-O/\\J09;%L?:[/RR_A9N&I#*-OHC%& +M0?ZOYU3NK6`R:SGB29\BZMOY"0<>3HO)"^YX +M;7G/@R!L^>&D-G3+=A(J(RT"(%!F,8&-*T'('IHB08EO[@@RN"B<"B#T+&=N +MNA>5LJ*$D[$=AJV8J[Z7+)[:BYAJH.'_/M:U#M9CGR4J(?+&*(2>6T0%8?"* +M!898KP05=%$%`=CO&Y-:'4,KSHM/>=>S\MQ)X?H2?0[>,[NG>R7!R#-]CK(W +MM9SKW/(YHPL8'9P":$%1CY?PLFW:[%ABJ)I>K$.8W-NJ364AU@95=F2 +M:)%QPS!U1H8YDU>PPV492$->P-04K22T]VLCL#Y*(/E6FM:%JVR +M,%`50W!L#2WFJ:P`9G+L89FVMMSIZ3X'-$CJ8!I?$-YIEW'/YJK-%B:,9"R#-N;E*[#7L7J;=?>W%^IU4FG92 +MB&0+C]X,P&GRMT<'BPQ!M#8CE:L&IYKQ<^O2G<(IDP@;E*<@5[G+9FK\%LUP +MRAC#2L,F`8[HXZ-R'D-X=<>@H9&S#"-F,IW3P@1R_N;5$`9*,6)4R`A?S11[E@;*#V>3K*Q@W,LV6/,^!N#*9PSF@ +M#K9X:LJ%M`H>D&TU4VL^,A9':X-P +M<]?9ZB.TXV67\W)5L3I4-$$<^;5U'7RB"2[K$"NU4Y;LA&)2'#+,"^;J04,N +MT$DTV3$(_!NONNPS5C:^&9-=5.:=4Z-64.6&UO#>K,G+@9LF1-5SEY[W9E3* +M(+438X+:4Y>F%,W@VGPEA/')S@S!N&]DAD`6W +ME<%P9Z&8-0*3WINO<\)20ALV(DTY=F+5FN<0%0FA?[+!ALQ2/DW*)OAGY6I% +MP5'.+'+YC><$#$-X+$MM"`$"7`V'AY9J(%S_HM%E:X1QSQ'"W@U(_C8P#':) +MF76""@*P:>+32H_,D,((#'F?"F$,)(29^5OP/V=.U=P4'(S*K#(Z(S6R]:(F +M.5L"DI^,.U:L-TP/&J[8L2_QOD'H"W>[3;F<9F:&%_HFV.N;^#:!:6.^N4>O<2VT.E@ +M3$#%`T-RLB#"#$#$Y"!@3$]%!N;V#(]\F63$X0?HE>:<3$^S!:F:88^X]N^\ +MF6[HH;",]G!\V`RB\_"&RH#JX85,:#>#P\4,VYP,NH`!0 +M"-#3"N6`/X,`,*)_$*.T"<]P,O$8#&O<#&;R4[$,M?$T]"B@!E$,":#"R[$[ +M".F?"4_^!2K4!0P[$8TM%*^BX!$@3&JJR!$,M)%`ED5:;>8DD(3D^G%*_[$G +M%*E6!0#/%&\K%F-(PB,L5[%G%Q$89NMTOXDQ:P, +MQ>/DO^)4="CN;.8ZH`GJ;4=5%RJ*G29TD8G:/X*I'+&VY'`7.N,:^+< +M*"/\0I',P&80I+'DI0!JJ,(W&U'.*N!1&^N(\`Q?(2UPOG(8P&-5!,J1&LH% +M(LV^NXWR,R^*#G'9#;%`>TSQ%`9LI(U0<6OZEB8Z);(2N8-5+C)'$+)0@/)5 +M+++?,A+FO%,;%),K%Q*.!1"+,.^V8<_\FE%4-RD42",*/Z/D)/(^3T9,1L#F +M#&)"BJYZ!`#*.N#0!`,<>DJ.DX[%'X[(06[,).Q.M^4<[6U8!L[<2R"8#>#> +MSN,B12/$#>4N[_*J74+?%`/Z!P+,N:"2^6,<-;$)%6PZ,.E>,092"@L@LD,O +M/1-&^[%24[/02V]PO%/1%Q/1!"T^,>^7##/4BP1?/HK"6!/1#_!D#:O3/0X@ +M?VXD:E/>MG0B!100LDV50G`Y0F3(ZJ.$-N@?0Q$_/0R4!LX8R!/0O8*3$I"1( +MBT<_&H?")\!N/[&R6*UQ.\=LGH=1-H#H)^7Y)TIXQ>,PHD0I2D*/.^E,6ZD` +M2P8'#_,2#24NO%1TT3308<4F1>WTTY1P>H#H#NT*9A3?%Q3>KRVF[>#F#RU" +M>C3BBK"0D&569,>DY;1P@-3C3\8&"""<"F[\H@-P*`0I->+^L9$U,6JJ1R8: +M#M46#=4;#7$*.6W5,T.72&F_,8RY58!1`&>E,HNM'?*5)66X+_5H +MC]6HTI%`.6MC6I,\OR,I1[6I175O,\.70JM0O35N9<131LQ$/0\THFKJSHNV +M6ZS3.H;ZF1<;TZ(#8#H,]9+6,!` +M<--X2L!!8<#:!!!&-454,A-X#>(?6V!2(\_(6.(N8X*$W`J@JE#BJM1PTE2# +M1R8'&E):>^K+(!*.)\)9766O)L3T#@6_60K@+32F):,-6A7T;36G1Q+U4A1P +M:C:TQ'*_*8/\XXP8`.US-<@'8V +M+^,>U"#D#K%W$X6*3%,XA]/28E1;8H[<3$W\,?;L!2P[>U8&4[>U9"_^9@8E +M>R3%$0#/$5$H,R,#<=>^W3$_>U9/03?O97-*8G?0Q\PG=9>N!09#.BO%>TU+ +M%E?1??$2S64[$9?J;7@"!1#>JG0>T=@*TA@;,0?W%\PU!/#X]$P2!1?W/<)? +MA+?]&&6>.6M!,Q+YA38$T5A*#%,O9E,RE[A*2K2&-[ATL=<2^;A+1@F+A*H8 +M#1AU6OB*.7;O'C<97,!PUP/>)]+%O_<+BK++C!3(J)UI(DG_+4M_6?D)3(KP#EAA+K*+#;A;6KB35Q:VD;2;+;(7D9BM;)0I +M+-BU"@1W1&E*]B>A@(TQ1<*/Y@N\_:O;F_M=\3%;IG@9>7S +MG=3C`90`2SC4G75U2;*/5[;9FM78?5;-F?BW'$6(29FKF96C7VJ*H4[?B.RB +MR`2S`_:O,&,Z3,Q_#U8M&VI=8U:@?S&'0";?`G0G='/PT8RC0GAM$Q0GGQ/0 +MM!"=0#3Q3U410)/30.S7%Z9*J]IK)3/02^#D1G1,U(9$9(9,O10FA50GH"Q) +MH&A@DT?.+*DUD_2M)NIGH9E((OBZQ1;9JWC"H/HK0GGI,I/0W=I?I^92M.M3 +MI\VE0!/17%-4OFHF/=I,NY9*[M9543/E--%6/(,R!`"0@,FU/--P#0!^:S." +M)(0<*GB^H%>?$/@>1M?J)^0K9YL`"N^Z?V*("F2XS`]L#/5R+0UP=F0H+P8_ +MBO+D#.D(C=LB)P29.&W`J):`CWF,64U8YT)VW!M@BJ#MCH2%MKM^SCN"8_MT +M,F-6,A9&#<[T[X[\"2 +M#;(6"(#>`4"B`4(""F5N9'-T[Y?:1?[_@3B)_S*=HXY2_+3(]Z/-.?/T?=[_@] +M^GL^,^^OV?Q`J)^N]GK8\2FO/`3S-W`;V0(^,$P4WCYK&X;%/O![]G^^T**0 +MY##LN\+1'$T?R`K\4*/%4+*+%KZQ?(S^QG#2?0!'#=QX]L0Q[*T@RQ+*K2&HTBQ8 +M[#B/U&#LN^S\:RA$4I2K#\URO+4WS@IC@PB^LENM,$(2-&#:0RV[&1O-,$0/ +M*=`3C0TX3F@\\24@M%K6[;NS(_SEPY0LU1T\CR1'*5#T[(,N*+%SZ.PZCOR< +MGLT4]555JS4$8OPZE85',K_TK5E;UPJ2\L6PB^,Q7E>KU7]@KW#$FS\YMK1)MUWI>M[7O?%\WTA]Y-*8KBV%R-4U_XOCF.X]C^09#D61Y)AQ^8S#.-GUE>69;EV7YAF.99GFF:YM +MF^<9SG6=YYGN?9_H&@YD?F3WZ_>`:%I.E:7IFFZ=I^H:CF^B91>>D:EK&LZU +MK>N:[KVJ:,ZVKZ]LFR[-L^T:YL#E7]L>T[?N&X[EN>6;7:FCGQNF];WOF^Z9 +MNV-;=OW!\)PO#<\]RW3YUT1]=5EW39WS&\9IUG0];S_:97V>D]5W/.]QV_4>!F'=\WGO8;% +MS7>YKWF=^'J/EYGY_@^EW_G^CF?C/MQ7:];V?6=)U/;]=U?3>;G'<^_T'7>[ +M[WR=I]/=_%Z>X>;[_?=Q^OKZ+MG8^A_'NO4>8ZMEKY7TN_9N_]WS[2"0#@`\ +M.!4!GY-I@\)[;XW\0'@$]2!Y!V"+9X +M'0+?M!^&30W]-W>.[*#4#(8L\@+!6%4(X-PQA[!]\\*8$Q!A:_.%4*(A,U@N +M]J'42(*0!BC`Z$SX(CQ9B)$Q^[GG11>@W$")+6(K1-B[$")[R(/J-,B6LPLD +M<\&109YSG)(R;@Y)!G\E).2AE$UF4$HY32G:5*65$JY6,ZE5*V6$ +ML682OEE+66,M);2YE1&EHDO9?2_F!,&84PYB3%F-,>9$R9E3+F9,V9TSYH31 +MFE,9JK;9IS7FQ-F;4VYN3=F]-^9 +M4\YZ3UGM/=@$\)W'VGA+J?TK9]-AGY(6?]!9-T!?W.^@E!J&1]H1#:@=#:)2 +M.H>QJ?M$Z,1)HJRFB[+&1,P8Y2!D-(F04D8_29DE*&)TJI"RVC:\Z.LK9"/R +MEC$*:,OIG35BM-V74YIQ/&GC+6+U!H\R"HE+U_4Q'U%!XM1*94+:G4ZI=4&> +M-$I$TNJU/ZL52J8T*K-/:J1.JY6&5U1YVT"'_4JKKKZQR?K;*FM[2:OU"K(S +MFN=17+UQJK7IH-=ZD3CC56NLM5V?5WJ?5NPENZ5ZKN1?NM>VZ,@;,VUB +MQ(*WUS[Y,KO!>R-;=;D6LO/:Z.DEGT/XO_%J$5Q+\1'D!<:_U<;^X)PC(RS^ +M#(96\N+"B,L1L)W[O??W#%[H]Q$?@^*\EE;E6O@-A^[]P7VP)Q)>#!.&GRW% +MQ(_9Y>,;UP4QA@+$V'HEXGQ]=S#<),58/R-B^V.`[S8M>V^QTF.;\9`=_@N" +M&0<0WQQX^BX>0LD.U>KD^[6)WE0SP[>&+>7;T9%D1>/*%%K+Q,>]&',6;\VY +M-S=@:$L3:)KQ#ZZN?='Y@CAUIN:[^:BRO'N.>D<2VJQ9G6+L;,7 +M7VRU%^$66L4Q>P5A2-N*'V;3TO> +M7.EV(J:7PS5',\.-9;EMUJNT6X&G:NNG@:*.Z6Z[>HYKK<.W-U7WW1)7?&[+ +M)[[WC+/<=7N!UBX!OK7%R=[<$X/:?@N[]'V*X:S;=UJ=_<0L/=O>>N>+[KWA +M;?CMQ^)\&WS;WDO#.3\DY#R;C?"JP3;I%-+F,VN9S9YK-CF\W>\;X_R4CZT>3\LUKR/E_--+\SYOSS0/.^? +M]$\SRL-.Y>G]1ZGU4Y'H>EX=ZOV'L?9>SF)53T.M_1^>J[[>QON?)>[]=P+W +MWNO;?!S-\/S7P,"77^1Y/Y5YOF;%9L[R$;XOI?-?E\]C7S+[9IC@\3@/V((_ +M:93]RV%[_NQ2_%'W\B\_S1LQ3LJ#6%\_R>_6X[]J_OWW=U0]S_K1C`#^YQC_ +M(_;_;:2X3]"%Y^L`#]$`4`;XKY:^B'S3C:31;`,"K\\!QN<`@ZT`S(+9K.#+ +M;2$#1QL#@^SZ+"*&"W*.\%+"\$D$L"#Z$"4%[O\$S5JJ4&CLD&S[D'+LL'<& +M<'L'T&+[<($(+L$'[AT(SM4)#X4)4(3UL",)+[YS;ZS;:.37D*\+)^\+$+<+ +M2/4+*31_T)QF4)CXZ\2ZS"K'D-33<-<-,-D-\-Q_Z$\#,`4,K<4"\-#0[]3@ +M+/[4D/B)$-;/D,;CZ$CXT.[^4+J+C' +M$>2C$>B,Y?JAD>\VDVL(;\L(LV\ +M,#]:5=KTE9+)**U=,"E&->M;U>["5',2-FYK=G-F=8EFMGMGQK-H%D-`5D=HEH +MIJ5H\8MH5GEIALUITLEJ%FUJ1J-JD@-JUI=K!IUK4A=E9[EJ]KUK]F5I%,5J +M-%IGU9E7-L$C=L2-ELELIIEM].EN*.2NZVSZ[4-@"%]IENTH-KE,C'K-$#$1 +M=AMP,J=P=>#`#8,BDZMA5Q5E5#%EBHE)R']+-95Q-L]I]O!^]O4HTY\05,US +MEG5FEM41MPK+\DT"MB=R=G=O3*=NAH5V%U%V3_UVAH-VUQEW1K%WESY\=N=W +MUW=SMJMX-H=XEW]XUK=Y%U-Y1I]X%RML=KMZ!GUZ52,=!HE2][E[M[SN]T]J +MU[]\=\E\ID%\-YUC]]5]8C%M"2M]E^%^(AU]UZUB-AE^ILUB5_#S%^]_;R%_ +MM_QKE_6`)YV`&`E9%X.`YLN`>!1IN!F!M=U?^""SR8^!^"9_*8SND^MF&#F# +MN#R93)X?N$6$0?&$>$F#4_F#^%6%>%:0IHF$R?.&&%%`5X>"YF)Q6%^$>&.' +M6&9T6&N&S5>'(?II&(5G+TN'^($2N(IO.);P.)&),L;`6$^*6(>'L<6*%&F$ +M.*N*F(T".)^*&'`?F+;:>*N)UZN+$C6%YP6-6*T<^-&++<2?*86+L&6+^)., +M(?#VN-N.V(&,.$V/^$^,V-YG&/!A60609FV0I@R>&/>,^-^0M1.1N1&1.%V1 +MF2.0^29F>2#)^.D(F/F&V3>..263.362I[5[>4>4F&^4R@F5&3&56(.2V3F5 +M.6#B^5&2^(^1V-&4+:>3LW63^"^7C`67TW^8&">83">8DYF8V"&9##&96#>7 +M6+&9V5V7.6JSN6^6>5^:^*.9.5N1F;>;F:F<&:V;F)66646<.:^<>:&%.:6, +M&5F7&+V=^.^>.;6F/N>V=.?&?.=F6F@^@ +M.7N@V<6AV8>B&=>B6;VA.6&A>>>?.-.=&A^C&56C6.N?^4&BV?>D&4FD63VD +MF8.DV:NC>CD8FA^>6D>F.F6B>FFE>FVE67^EF8^EVI>!6IN:.G>I&BFA6JFE&3.J.=VJ>6>G.GNKF46KVHNL&F>>^H6@ +MFJ^AFB.KNLVFNF.K6?VLFG&MNG6M^M.L^ANMF@6O&M>L.NFK^NVO6C^M6BNP +M6B>K&2>N&I6N6;VL6IVQF?>QVJ6P.OVO>MVH>N^R^M&PVB^PFJVSFD^SVC.S +M.NNS&T&E^S6O.RNP>OFPNU>P^T6D.TFP&TVU^SNUNS^VVT.W&T>T^H.U.ONL +MNRVTNS>W6U&XFU6X6UFX&UVY6V&WFV6WVI.*^W.YVV^YFZNN>X>VFXNZVW>[ +M&WNXVW^Y&X.[6Y>\FYN\VY^\&Z.\6Z>-V\NQNO^L>RF[VX^[FY.]6Z^]&[.^ +M6[>^FVN^V\>_&^.R.^>Q^^N_6[^_F\/`6]^9FIFV?`&[O!6^_">_._V\_`F] +M/#.]?!F]O!VJO!O"O`?"_`N;.__!'`/$G!^I^`^Q6ZG$?#N_?#>_O`W%.R?% +M?&?!?&O&7&_#7$W#G'_#W'O$'%G$7(W'?"W%7"G)7$O)G#'(?&G(/&W%'('* +M'$^CW(G*G'W*W+?+'(7+W*?,'*O+7,?'/)O*7'G+G).?:8?%NR%[>/6Q&1&/ +MV0&&7.F0>11A'/.1^5A@O)?-'*.-C<6,NV.E.2N,>*7.'!+">*?1W0VZ'1&+ +M1L>'/1G'3#&'G3.0/0^K/1.*>)O3NQ/3^$F(72.D=\W5/5759AF+74N,6'F) +MW5G6?6G6G5V$76'6.`V6N5!A."V0>1F0W7>FUYMZ?8AGO7^FW9.F+%F%G9W9 +M^#E:CH':':G:KV;K-Q;*/7.0!@&*O6O;_<">F*O._1YU*Y/;>'F//;W.&7:7;7=)R7?&!7?'??11TO<_=>,G>=WW@ +M*J?;OA5N_>I@.$/A]VGAC"?,SZ?@Z7WA/;%LOAB7W@I\W@_7"7O1WBENG?'D +M'/Z8'D.`.-GE735>W?V0'D&.7:WG7G:9N(:7O>7CO9O<@?N-7GGHWH +MZ8_GWH?D]RBCG8/=WJ'J+O'?K.GJ7JWJZ>OJAE-^7KGKI'POPWP_Q'Q/Q7Q?QGQOQWQ_R'R/PWKWRGRI=(@(`IE;F1S=')E86T*96YD +M;V)J"CDR."`P(&]B:@H\/`HO5'EP92`O6$]B:F5C=`HO4W5B='EP92`O26UA +M9V4*+TYA;64@+TEM,30*+U=I9'1H(#4U.`HO2&5I9VAT(#,V.0HO0FETGX_LQFZSE-5J] +M9K==K]AL=E7,L_M._-1M]S3]QE\)OH7AZ])]D^N'QZ3:.-L^9S>=S^AK]K>[ +M_ML%U+]ULOV+[UL'I=QO,OB*YRZW(]CYO/R/59/;T?A\?E\_I8NG@>UVNKN? +MQ4N^U##,$\CUJZ][5O4XT$+7`SZP;!T'P@R3[L`_*]H0Z\,,&JQ_G]#+?O"I +MT!.0\KUO0I*20*]#EP3%<41+%JPO-!,20)%D$14\L71E&D(Q['T?R`VC_.XO +MD*JG"[MPP?B!*I)D/-*[Z%.%`L4O/&481/*TM2W$TNQ6L$=QW&LL2]+D9P(Y +M,@S5-33&LJ4`K\OS1`TPQY0M`QI! +M4Q4'-M(4C23*R&_LXJO.\YSI.\\.!`#@Q%05"5%-,%4?/U`4.I)DG6`TDI5#/]BVA9-!T554J599U%6?5L9P9:MYWI24)SE; +M-=R3?=OV^[T]/%8=R3_,LLX-&\N42L3VX9-%2S)+%E7KB>*4C>Z#VY3:"XS# +M2JPY<#@7%/EB7(DL4S/AD53/B4P1'=LM_**$RFN6"Z/JNK:NMS:LNT3--1K>N,QKVP,S/ +M+P:!H47:QM6U[8K[2M.D>?[AN3;Y\P*K8%MN];WOFLR)N_`<#I4/[&S9\)#Q +M'$\5Q?&<;QW'\AR/)(CK_"\MR^N*Q#_)\YSO/<_T'0]%T?2='S3P'^??5=7U +MG6]=U_8=CV79]IVO;=OW'<]UW?>=[WW?^!X/A>'XGB^-X_D=U3F[27Y/G>?Z +M'H^EZ?J>KZWK^Q[/I^7S?M>][_P?#\7Q_)\OS>K[G4?/]?V?;]WW_A^/Y==] +M-N]4@GY^AU/5H%V/^N](&_Q_X^X`OW?S`>!$"8%/4?JDV`T#X%O"?W`^"<$X +M(/*?Y`2#,%8,P1@]!^$$(780-2/!""T(H,0==E"=^C_H-POA-"B&4,X:/OA( +M\V#4!G4P#@+`1_\.X*P_AV_&$\18BNLA[#V%T2'6P6A9#6*$48I/2AN_M_$/ +MH=0P@U#^)L6X3$ +MA8JQRC/#E_$BHO1XCS'N3D9)'N_E%)F54JX0R;DM$V`<6H!/]@Y$2%3]X>2Y +MB#*F2LD962_F!*V0\)9*2WF#*28\R9E1LE=)26,RYH31FE%&9LTYK37FQ(2: +MLV9N3=F],(TBW72SCG).64\YZ3U8W.%)I`A^S +M[GY/V?T_Z`4!H%0.@E!:#4'H10FA5"Z&4-H=0^B%$:)43HI16BU%Z,49H.0. +M=I`Z-4?I!2&D5(Z24EI-2>E%*:54?'S1R?"FY]S?IE3.FCYQ\TM7\YN?0_:: +MT]I]3]ZE-Z7*>GR/^F-0*D5)J4[^H5.744[J75&J54W85-BK5"JE6:M5)JM1 +MVK%6ZP5AF_5VEZOJCUBK16F:59*B4PIY%1V\SWGQ_C$]F5+X*[O&B?7FM4:H +MKU_B4ZNMCS*/5O>C7R3SPY>1?D7+61;UK$.XLC&:8S^H6V3K[#6*T%+..ML' +M3JHUAK+1^>)(Z4UC[46,>O9BTCOI?/;D[:RS,*+-V)MLZRS]3[0OZ@+8&/<0 +M)9RXL9$*),*K4QTD!8>WL6'7W`EQ%:WUP8?7$MK'B6ETKG2UEA%RY-LXUW5L +M["RW,XK=O.N1*>P$G)'6.NI<>#LG[*V'@W;66$C+;W-BU?2+T9K'PZLW=J2> +M`+O1MB3+IU]XZBUG>1>>ZTR+X1WD_'V[5J8F8"KA?:RDL[N/^PG!>N6%9/1V +MOS?B^ULL!P?O!;:\5.*KWE>3@S#,KY0W[A?AW$L7<+7RPQB2RM?+Z7ZO[CC& +ME[KF6QM5B>06*<4VXQ95[%V"\1X\QE>O(\I\1X_QW;#+.58R98ACA*1EK\J8 +MWBQ7N]^5LD34O#9W)E0["5?Q?;W#^'HZW7@IG/&,<:ZO8K_G60$8I=W8N;EZ +MY>=\[8RB1GO-,S,Y74P/DVLMA9481NCG7/$V,37QNZ[/3..=%TTP16[3\HWT +M:7U'-[4-9K1:GU9JU^.J=):NUEK-]>L,X:TF+;33FN),ZVR?KQW.F7UY!Q!L +M"0FOL%;&KC"+'.GME10V1JO4]SKIW/NMI5_.,-G;/AIM'6<7,822S0_*QUM] +MA;<@/M[66VKX[;EM:?36Z(9[JU=NRY.[GX8VRYO+:&D*VZJV_E?16^-\VJO/ +MOR*.]-6WLOU<_:TK;C;QX1"CA6W,S<3XPZ[BNS]S\9V!QOCW(>/<@Y%R7?G) +M./<=U)$ODT(N4<9Y4^38DLN6P>Y?QCF+XMF\1F1S5]O-\3[4T;M?4V[\AY'P +M+SGGST.@8#W!E'(T$=RY>T1TOG^_LWZ_VGE?=O$NC;ZZ5U9['3;O;VO1U[@N +M\--]B?AV2V>VN!]HX+V;(O=>V/F[=9GAF?]'0@[!)WM?=WP=YU9Q>54E?!/E +M\)UOQ/)^L6@V3XWR5WO%^3\M4OD%=.BP,KO^WK[[GKEKKER +MYOGP_P-B\#3&C#@W0U_K?Z%^M[7AWQL!_(QO'W8/S?I\-,5:I,`,9\*$*\:39<:D<\4$:\53X!]J4#33@ZXT8$4R646:X +M433FBL4<\14:#44(T&\2T7T4$2\'+I+%#/S_,8S1+V"(RUZ4L'*X3KT,SECBDH21,&ST;Y+TL.LGTF +M;6[PJ742TL#<@[%#JD4KGB_J7LB$I,J;R +M4I%(K%LR +M!VSADU43DP\B].CZJ1[[%1=/%0=%<-$'%1U-E2#=%!]$::U$,P=6T#-/U757 +MI\-7%7U8)V-8$X$;D;D<=5,/59+GU<4:T]D_LRCV,9D]LZE9;3]`++<_ +M,DD6%+TZ5#]=J:]?%&M?5`E9U,4KM=;EM@":U!51%0LAL'43-(E>$*=A=9B4 +MEA+FMBUB]6UC=CE:%>UC]D1X]CR;U:K-2Z54-!ME5E,)UDJ;MDZS4=TN4Y2^ +MLM4`EE];$G,[-.<;B2$O;\*T\6-BCQMNUN\T$;MH\G##5+KS=8[N,B$1$T4S=6 +M5J5D;G5"5P-R4YMK]RUS)WMRMS4W%E[S5IUF3X4FZ5LU,.[UE4K[DC5I8?=% +MT::&#JZ_U?K+ +ME;5L=;]\#.-5##<%\ME\SXU+%%M\C7<7EK-.+J%F=VM05VDE%?<&UN:^]X=' +M\%%\=YM4"TE25_C,C,2OU=.`[M-LE[CGJ7=[3TUW:0%+5H$YCU-X52U.54^" +M>`E6MF+N^#B1\4C0U4<)6)UYF(-YV(=%5SN)-!+B$HF(F*U^KKN`-76+:3%* +M%HUFCJ5.N(>,"2[I\%-W->*Q-]=D>-"36,TRN`3M6"E#6.*;6.2*7^/^2A[.2V3+^.3 +M>3EQ]3^)KIRO4+R"4;6/D,EEJWDQV)C@,-U%$3M*UW%%]F\.V`>+TDM_%\.5 +M]BET*\TL66UJL)C!V-C>63R*;/L9,25D]P;/LOBU#<%]>9U?D9,O[Y<&C[-. +M$A5TC7F8^$:YC^]ID9;"E2M.S'%,3^[^MLS\3";)=PEB;D6;UE%@;'LBZ7D! +M=X^SM6%-C674/M?-B-JC,LO=3,6[>\#U0.=UZ,,3C&>5,.'-B-HN;=6&DM+E5 +M]]MZJO<2$$-=$^,'6=K'N8K=&E>,)XL95L'\ML(3L.D6KVINL&?MY$^$@E[&LS1<` +MU]5-SZ.:;"%);_N1NMUM.*+9-.33N=#.F;.<%O>J6O*;FN%_SW\K^P$4M(&P +MFPK5%/S<+83Q&",IMIFQ^L^O;:6C]-VN[,-^DOC/6QVS"M=9:NE9LBKYFT&H +MF0NTBM6JE?>USC^J^V57NV&VKD>VFW%$=S^&-_;R4&&T=6C*-^^M&7\=D?U@ +M[P33VLM/=_LXVXVKNC-Y>7%&>+MZE(2X%(=+.W4H^F+_=Z=14H6:&-[9FP5] +M$Q,A4*5&QE\^:FC]54IU=^ZL8<\L0N>$EF]DN>#UK6\6->]M?6^ +M^UMO6R^86]>Y]3S)V!E\M+_`5YMXG!,";T'#=MG!F*&]^MDT,\\OUEO%F^%5&_%M]E>"VID).R3#^V\( +M>BDY_(.W;A'(O(VS/&').1&[MD4XFG,A-"_)#GU_=LO!4VG*CEN#^?VML*G+ +M5)^\F6MI&0F]&NNZ]RG)RL&AFM4>=J\N4U7-MEW-2K?-G',PV_DAW.7.>Z+K +M?"W&V8<%]QE&D4\Y',&,O/^9%O=>6@W(G.BK5AO0'0.Q6I$&4K723970_)F; +MO1_3?0W3O3TX'374+674>#;$W2O3#[O4#=:5G0NQ/53RG5F)3E64LEG4R!%; +M-2?6,AL2EQD372][;.G7BS/7%A_`VUDAFEK@V^MK?./$^0'6=7/9&V,T=+V_ +MC+MT?:^<^O%G':4-]UC_>FK_;O4ECG@?ANM_A&U'? +MW@W#E`M"UU>XOAFX]E4>V@#FO0G"\)N%;%?/LO6`"X?,;F&Z_A3;]Y6A6]W! +MV43\]Z#(M;GE%`7+W=VN;2K0\2>/=3E?V!7C=/]+>P58VXD`4\EW[_W:'#'G +M//?'U\7('-2TU.&\3SWE7%#^D$OD7D^!]"_DG%_F7$'"-0>0N7LU2=&'E'M3]E[4"7G^0\Y_N.('N>HV,?9O'C^'@F'U5/&OR]S66 +M:%/J/+_T,XNRV8/BLEOS:(G,7+$2>^OI&0GS+8WVCN?M?MKF3J$HW9_TWT_H +MG/WX'WF_=($%5COUV*_;^>?O7GW&ED'U#--@7IWQE,_1E4_@-R7^S8>7FSH?8@#[?[[@ +MD%@T'A$)A4'@<,@4+B$1B43BD5BT7C$9C4;CD=CS[?+Y?\C?DE?TC?4E?DC? +M[]?L?F$QF4SF$-F4VC4XG$TA,[FT_AT\H5#HE%HU'BLAEDJD[_E,EEDNI%3J +ME5@LLAL#D<*K4_K<"ED+L-@K]8@E9KE:J]EL%GJ\]L=`LEKG=6NUWO%YF5*D +MDFE$JJ,OO6#PD6H%LA%LN5U@V'M\/M^,MUJQMMA]RH.7Q^0S>%SV?T%XOC_I +ME_J$CJ6AU6>QT0GUFSEIS=HM>NS5DRFWV.SSF2U>_X'!F&CTM.P&HP7"Y5(U +MMBS.=YV]MV1YUJYN4K^9W.^Y?=[W?D$BOK\IM/E?(\'IF_4Q/0Q?3Z63L>0[ +M&5R>Z[=GW/V^FQ[++/5`,!+NXB_.,TZ6N3`<%HJV"ZKBQ+_NR^<(0B^"LL0^ +MBPLP^#&OFW:?09$41J%`KR-,\\$Q)%:..XB;?12A75>V!8, +M-Y7G>EZWM>]\7;=43RHK%_7_@&`X%@>"8+@V#X1A.%87AF&X=A^(8CB6)XIB +MN+8OC&,XFXLY8UCV/Y!D.19'DF2Y-D^493D>.,`?*79?F&8YEF>:9KFV;YQG +M.=9WGF>Y]G^@:#H6AZ)HNC:/I&DZ5I>F9].%^2]?.I:GJFJZMJ^L:SK5YG[I +M\>*A8^P[%$>O25L>S[0\&RW[M.V[XL!NN\[TJ>[[`@UXQU< +MW`W+O?"O5OJ5H/>%3(5H)Y+=HQZCPPNZ*%^SYOOR'TO$^(^/KHO[/K(C&/T=VC +MWO?!^"/^?ZO4,9(2(?9#J-_S\KV_P\M^,`2//S>T^8G2$X$$X?X3TZ1S1]P+ +M/:C`V+[X!05,,^)R[]8&/;.N05_B(7]/;()!\S1F(30>@!!:%2#8,.W@,;Q` +M"_H4/&/X_Y_\-(&/WA'"F%A">#A[#.00?41*+"-8%0\BA%\@44GZ%TC(]&,I/4@Y`D4B+'V/T*I`/%C4\0TM'4KI42+@)+ +M&6BDI9RUEPH>6\N9>)^EW+V8"=9?S!F(FIRS*ID3)F5,N9DS9G3/F@R9\1*I +MJ35FM->;$V9M3;FY-V;TWYP3AG%..$ZFOSQGI +M/6>T]Y\3YGU/N?D_9_3_G_/.@%`Z"4%H-0>A%":%4+H`4T\@_J(41HE1.BE% +M:+47HQ1FC5&Z.4=H]1^D%(:14CI)26DU)Z44II52NEE+:74HFC3&F5,Z:4UI +MM3>G##"`@`IE;F1S=')E86T*96YD;V)J"CDS,"`P(&]B:@H\/`HO3&5N9W1H +M(#@R,`HO1FEL=&5R("],6E=$96-O9&4*/CX*.#0:B`:#@;"`6C.6 +MR&1BJ+"`C@J.$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQJCD0&R"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4 +M$,WG`4C$:B@\G(TFD"WN""9&::5&A +M#<:C`7#FN*PDR.OV_JN*\(2P/4M:=K=`+]!JHX;A`NJ:H(P`IN>$`DB"%H;! +MHX0TC:UX4#J-@PNL.00"D,HS,*THRI"-PQC*I(PC.K7-5&39C>,D9B +M:-(\1:%#DPR-RAC2.@T.8.8YC*-HQ32[4KCR%+2S%,D>O.LD/+.M,@K:B\`H +MTHZSR2%`J#0S(6N\[XH#D-XSCD,,0TD'`;A0*X4AHTK?C(-[4LVXP<.^.8T5 +M,R,L#G5-/3A2-)L#604#G+HY1E5+OC',=:TZ%#?N0.0VS.S4U#)7TL3>-%<5 +MI9L-0X&E<##.%@3^\M`K*GT))(&ZCADEJ8!<&RZ"(OX4",Q'0@+TEM86=E0R`O26UA9V5)70HO1F]N="`\/`HO1C(@,C0@,"!2"B]& +M-"`R-2`P(%(*/CX*+UA/8FIE8W0@/#P*+TEM,3,@.3(W(#`@4@HO26TQ-"`Y +M,C@@,"!2"CX^"B]%>'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R +M4W!A8V4@/#P*+T-3-2`X,C,@,"!2"B]#4S<@.3(Y(#`@4@H^/@H^/@IE;F1O +M8FH*.3(Y(#`@;V)J"ELO26YD97AE9"`O1&5V:6-E4D="(#(U-2`Y,S,@,"!2 +M70IE;F1O8FH*.3,S(#`@;V)J"CP\"B]&:6QT97(@+T%30TE).#5$96-O9&4* +M+TQE;F=T:"`Y-#D*/CX*07!/;B$D1DXL(3(P0EM>07!/;B%J1G!4-6$\(B(C4596;B$Z<$AR +M-6-K(FHC97!`:W!!9$=9(24E6T<*(U%0+68A+T-0/B$A(2(35(.$MP)'0_2B$A/#,D-5@W5"Q05W5N7S5K8C9>-5@W4S0**SQ7 +M;TPU83L^4R$A(S=A(21?240U44-D9B-13VI9(2$G9$M>7$!%;2-*54]#<%`R +M(B$C56=A3"-EC510V11(2$C-V$U:E-)<2$A(SA'2D@^9D\U44@G4PHU448H1R$A3C\F +M-5=3;%07!/;2$E-V=)-5)D7',A(2=B-B$Z7B1H +M(2@V964U448F/`HA*%0Y4R$D1#=!-5%&)CPA)&%@+S5:-UAA-5%&)VXA(5XQ +M/"$[-D)M(F]P;U8A(5!59EY)2CIP-5%#9%\A(2=B-@HU:U`J:"$A(S=A(3=8 +M-S8A*%(B:WHA(2,W83588EEC-5%#9DXA(2,W85Y+3%@M(2$G8CPA.F`]:#5: +M0#A!-5%#9"P*>EY!;CDH-5%&)CPA(5E;9S549R4](2$C.'(A)$9.+#5H(V-' +M-5%&)G`A(FQS1S5K63(G-5%*4DLA.FE!5#54<"L_"GIZ-5%#9%XU44I00B$Z +M<#!J7DXG/D4U44-D42$A(S=A-51G)6PU44I22R$Z7!E("],:6YK"B]296-T +M(%LV-2`U-#4@,3$R(#4U-ET*+T)O7!E("]!;FYO=`HO4W5B +M='EP92`O3&EN:PHO4F5C="!;-#`V(#$Y."`T-3(@,C`Y70HO0F]R9&5R(%LP +M(#`@,%T*/CX*96YD;V)J"CDQ."`P(&]B:@H\/`HO4"`Y,3(@,"!2"B]2(%LV +M,R`T-2`U-C<@-S0W70HO5B`X.3@@,"!2"B].(#DT,"`P(%(*/CX*96YD;V)J +M"CDT,2`P(&]B:@H\/`HO1"!;.3,T(#`@4B`O6%E:(#0X(#8U."!N=6QL70H^ +M/@IE;F1O8FH*.30R(#`@;V)J"CP\"B]$(%LY,S0@,"!2("]865H@-#@@-C,W +M(&YU;&Q="CX^"F5N9&]B:@HY-#,@,"!O8FH*/#P*+T0@6SDS-"`P(%(@+UA9 +M6B`T."`U.#,@;G5L;%T*/CX*96YD;V)J"CDT-"`P(&]B:@H\/`HO1"!;.3,T +M(#`@4B`O6%E:(#0X(#4R."!N=6QL70H^/@IE;F1O8FH*.30U(#`@;V)J"CP\ +M"B]$(%LY,S0@,"!2("]865H@-#@@,C$R(&YU;&Q="CX^"F5N9&]B:@HY-#8@ +M,"!O8FH*/#P*+T0@6SDS-"`P(%(@+UA96B`T."`Q-S`@;G5L;%T*/CX*96YD +M;V)J"CDT-R`P(&]B:@H\/`HO1"!;.3,T(#`@4B`O6%E:(#0X(#4Q-2!N=6QL +M70H^/@IE;F1O8FH*.30X(#`@;V)J"CP\"B]$(%LY,S0@,"!2("]865H@-#@@ +M,C0R(&YU;&Q="CX^"F5N9&]B:@HY-#D@,"!O8FH*/#P*+U1Y<&4@+UA/8FIE +M8W0*+U-U8G1Y<&4@+TEM86=E"B].86UE("]);3$U"B]7:61T:"`U-3@*+TAE +M:6=H="`S-CD*+T)I='-097)#;VUP;VYE;G0@.`HO0V]L;W)3<&%C92`X,C4@ +M,"!2"B],96YG=&@@-C$0F%0N&0V'0^(1&)1.*16+1>,1F-1N.1V/1^01]]2.226 +M325^/>52N62V72^83&93.:36;3><3F=3N>3V?3^@4&A4.B46C39\2>E4NF4V +MG2B!/I^5.J56K51_/=\5NN5VO5^P6&Q6.R66S6>T6FU6NV6VW6^X7&Y7.Z76 +M[7>S/^I5>^7V_7_`5-_5'!0RL5J\8G%8O&8W'8_(9')9/(7I^/[,9G-9NL9O +M/9G.Y_/87+5.GWNLY35:O6:W7:_8;'95S+/[3OS4;?O2?9/K +MA\>DVCC;/FU;U.-!"UP,^L&P=!\(,D^[` +M/RO:$.O##!JL?Y_0RW[PJ=`3D/*];T*2DD"O0Y<$Q7%$2Q:L+S03$D"19!$5 +M/+%T91I",>Q]'\@-H_SN+Y"JIPN[<,'X@2J29#S2N^A3A0+%+SQE&$3RM+4M +MQ-+L5K!'<=QK+$O2Y&<".3(,U37-CH0F_4+0,:05,5!S;2%(TDRLAO[.*KSO.[+^273$E/U.U.2>ZD]M34E25A5L< +MV/5,8V58U8U+5UG5K:5IVHL-;N[7-?R/7CJ29)U@-)*50S_8MH630=%55*E6 +M6=15GU;&<&6K>=Z4E"V*^TK3I'G^X;DV^?,"JV!;;O6] +M[YK,B;OP'`Z5#^QLV?"0\1Q/%<7QG&\=Q_(]]W_@>#X7A +M^)XOC>/Y'=4YNTE^3YWG^AZ/I>GZGJ^MZ_L>SZ?E\W[7O>_\'P_%\?R?+\WJ +M^YU'S_7]GV_=]_X?C^77?3;O5()^?H=3U:!=C_KO2!O\?^/N`+]W\P'@1`F! +M3U'ZI-@-`^!;PG]P/@G!."#RG^0$@S!6#,$8/0?A!"%V$#4CP0@M"*#$'790 +MG?H_Z#<+X30HAE#.&C[X2/-@U`9U,`X"P$?_#N"L/X=OQA/$6(KK(>P]A=$A +MUL%H60UBA%&*3TH;O[?Q#Z'4,(-0_B;%N'+[HG1*B/#&"\(XNQ,C1%.-4:XV +M02=._:+\98.1S?I`&(<3WS1CC3":*[M8]1ECC&V04@Y"0CC?`Z0,>HAQ9C3' +M>0+[(G0MD:[N/\B9"R7DQ(6*L(\Q[DY&21[OY129E5*N$,FY +M+1-@'%J`3_8.1$A4_>'DN8@RIDK)&5DOY@2MD/"62DMY@RDF/,F94;)724EC +M,N:$T9I11F;-.:TUYL2$FK-F;DW9O3"-(MUTLXYR3EG-.>=$Z9U$0F&KZ=<[ +MYX3QGE/.>D]6-SA2:0(?L^Y^3]G]/^@%`:!4#H)06@U!Z$4)H50NAE#:'4/H +MA1&B5$Z*45HM1>C%&:#D#G:0.C5'Z04AI%2.DE):34GI12FE5'Q\TI3>ERGI\C_IC4"I%2:E._J%3EU%.ZEU1 +MJE5-V%38JU0JI5FK52:K4=JQ5NL%89OU=I>KZH]8JT5IFE62HE,*>14=O,]Y +M\?XQ/9E2^"N[QHGUYK5&J*]?XE.KK8\RCU;WHU\D\\.7D7Y%RUD6]:Q#N+(Q +MFF,_J%MDZ^PUBM!2SCK;!TZJ-8:RT?GB2.E-8^U%C'KV8M([Z7SVY.VLLS"B +MS=B;;.LL_4^T+^H"V!CW$"6.HM9WD7GNM,B^$=Y/Q]NU:F)F`J +MX7VLI+.[C_L)P7KEA63T=K\WXOM;+`<'[P6VO%3BJ]Y7DX,PS*^4-^X7X=Q+ +M%W"U\L,8DLK7R^E^K^XXQI>ZYEL;58GD%BG%-N,65>Q=@O$>/,97KR/*?$>/ +M\=VPRSE6,F6(8X2D9:_*F-XL5[O?E;)$U+PV=R94.PE7\7V]P_AZ.MUX*9SQ +MC'&NKV*_YUD!&*7=V+FY>N7G?.V,HD9[S3,S.5U,#Y-K+865&$;HYUSQ-C$U +M\;NNSTSCG1=-,$5NT_*-]&E]1S>U#6:T6I]6:M?CJG26KM9:S?7K#.&M)BVT +MTYKB3.MLGZ\=SIE]>0<0;`D)K[!6QJXPBQSI[944-D:KU/UEMJ^.VY;6GTUNB&>ZM7;LN3NY^&-LN; +MRVAI"MNJMOY7T5OC?-JKS[\BCO35M[+]7/VM*VXV\>$0HX5MS,W$^,.NXKL_ +M<_&=@<;X]R'CW(.15/DV)++EL'N7\8YB^+9O$9D +M1\"\YY\]#H&`]P91R-!'QTV[V]KT=>X+O#3?8GX=DMGMK@?:."]FR+W7MCYNW69X9G_1T(. +MP2=[7W=\'>=6<7E5)7P3Y?"=;\3R?K%H-D^-\E=[Q?D_+5+Y!73HL#*[W(KS +M+'S<`,S>?WWY?4_&\B<$=Y8N-$HI(\-SSV'<6Q85YZ]-J[BO=,^>`QC8VUO< +MK78D\[[;GOMZ^^YZY:ZYUX=\;`?R,;Q]V +M#\W*MW/I^NA7?_GGZ?#7'ZIV#V%O_N8G^]T?U61OUYG^+Q*.>8))[WQFRVWT +MW,^T_BS2_FR(W&Y8YFQL\0]F_LRD_&OPM,QH_Z^(V<]E`(IZ]0X,E,LD^Q`H +MR4=H_,S(RFZ[`E`4_3!'`:]#`PJB\R\`VPUVPMT\C"I"RFG +M!^BL]"LO(\BYG"8J5`8P(_R>`_?`C!"A&^A +M#/`XRM`,WJ]XR2T2Q>LD_U!VPS#"FFEHP$CQ#[!"M0^8^RFRT4P]#2@6VH]L +MN@T;$@NW$4SG`M#&W%$.FE!-#^=5$8UVR"PG#K$0^DXB_JD@NJAY`0BV_>_W +M!FQXZ)`'%`K[%&^+%,]JL:N+#W$1&"_5%D?F_-%4OA`&X:SPW=!%%O%W!1#Y +M#6P2U6X(S'`@\"F/`#`A%"?0A<(*NFT/#E+!RN''[&,JF[W(VL%'VM`/$5 +M'.]'(R\O**K#+1)/&.ZI`F_ZOZE[(M#Q(:\E+)0]1!1&J9/U1)1.ZO0S'>YE*#)^YK)30W0@NC/A.1`W("RVY;')01 +M.%,)#515)(>\PZCI&Y1RZ[0C-S$3,E1].90T^5(Y*;$U2%&+2/)<^B_!$#&\ +MQT_I0')?'DN[)C`E-`O\Q%!'2(ADZ?!2QJ@\ZG+U.+2]&G1_)T]6OV_Y'FW# +M.Q/_,RLO,`DA2G3Y)O1ZS;29173G'D[^R_3]2S2#3TR%44O-430Y4#)%3C*D +M_#4-09`/$NBF[A/&_^ZE1M/].K4E0Q4'2!3FT--?$\D;3JS4^JD>^Q450M,K6!-% +M67695/2,]I1'1%.S/9+51=-Q6PF_.[+G3S4ZCY-;(!(C.G6E,7%',;,#/6NE +M%U5'-[6\F]/E78VS)4_O7M-I7FF[0/3^@3&?3',C7U)O7XFY7]6@M7`<_\LY +M"]2A/+72T_0A7_8!(G!TTLE)#C-S8-6G1;.K8Y8[119!9#1)9'9)1!9,IG8U +M5;)#$_-/!?)Z\M92IE97/508CK9NOK3:_C9G6_6Y7%9RZ@=M+_82V-9ZFC+# +M--9BEM7'-9&;*!:;2I9E8B\+5!/2[]7#,'3K2O2@PM:+:-:I/Y3(Z/#%0E!4 +M_#,-`?:_;!4I,58E498HALRE0#/K89!?)+:.F6[-:O)]*.V73$[/:D]O;S;U +M-+'%9;;[+/'$Q]./'5<7AG'#0I![/M5L]-)!:Y.U;"L5$&\\S//1RZ$]:XU=C$;2?1O/!'LO5>)+)!]8):8S$N9-B +M]?(S%0^Y2]>!>C%/!)("B!;'/3:S3RR[:6@0_(B%"!*8P!?%=];)<13!3I&) +M4/?S3-=/>M=S,W;4][&@ZJ\M=^D!?W4N[5:LSI>9?C@%=LM'@+>^YZEW:B\G +M@4D?@9?_4Q1M"#@'>+@?9941?I6K24\O@XQ7_133#G>RL3?;9#C( +M\/;A9_@)?]*]`YS5CDNPY=8MY+WDU&BKU +MCQ%SE3>-AA9W078]D6JWE)#EECCA9=&_<=-7@C#NP=EDVYEXT8W`]=$I97<, +MS[:U>FNRW;5API+-!VB/31<#?SF+*T +M_W<`R!$EC$U;F^K\YI,Y(ZEY`7*9G.X?3O052I3-('&S9KK5H%8S-AF* +MW+GM34WLP_D-G)6K0$Z1F.Y-GI4WH;>$WW*I?538^(QFW"T/+K3YH#`]2FR7 +M>7?@UIHQ*1I/8O:3IA#3I?>]B"Z1?7%)#!`[E9A5!U%2Q[HLV5I;CLM+C_G8 +MA3GE=3E7I&RAE^WEJ&JU6!DC@K7EH-E%9)JAJN\%"YA]I785JUHO6E4SF)EP +ME1GEK`U'#[?M$%=EEOK0UQK4ENQ-C-+%41F7$-<1K>X_673NT[CWKT^[KXZ@T[$VR`YIC#EUL*IEKBS8USJ!@%;3K)L?`+K%A+6HRZS#?O,&SU +ML=LPFMJY@ALY(V^9L_8#K/M&K1JS%SM:UYM?MBY'JMMI6OMMMO0_="MCAJ\3 +M!AM$XGI$P_1I=GGMK_M_'UM9`QKZJKMSJ+A/`K>PW1L;I[)+23232_N>S+7? +M%C4[N;K=37$=CG/I%M=1IM8O2[I#.A@]HZO_+]IOO)BY2WLNWS7=FOH)":RI +M;Y5)BAK-&!%CD#:%G7:!C5._;]O#)EO!>AA=O_@_P%33OXUU%Y1W;-%;OA.5 +MP7B&TC4KN-:)A!=I8;HSPIN73[F%,]8=P5L1N=P;"-!OADTW=%J=C3M1GK=4 +M]CJ#N8RC1GNWDQOS8_Q[MU0;R#R%.=MGR+J?R)6+.3$;(?0OR.[%P#3_PE.% +MR@Z7P_;_L)"IRLE;O'P32K='%G/%S#N"XSRY=UOIQ*?//;"!OONG"SS/(E77 +MS>C!@*SSQ/R-R5,QQ)S+K;;NPU1UOK;QSTJE81HS%UMAH1R!Q;#]5=T$[3T! +MFM!E+%SZXGSCR1MET)TQ8WTUTWB7T9T]61TO?'KGIU)EU'CZE9%5EMT>\3U1 +M=:>#Q3);U?8!R].AJ\CSKO#)$YTIL%KES4[%UI@ESGQC3/IK7AFK9Q!OH;RW +MT[#A4]RITJKC;'KQ*MJ-3I/?V<_QB?B)BC>E5MN]>ZS(]]WXV&R+<-9QX]-7G]6SG7?+XO4M?1IKO/YG +M`%AM>&_]PK;EQ%/G1YY]N)NVM-:W4AQ#RUSKZ0[/Z5ZO3M4C!1Y_Y%B+'CP? +MZX^_PQP/ZQ*QYUVK3Q5%Z]@7ZCVA5F]IM5V`Y6_9N_5#,#D50_Y!PVW_BMJ1 +MKKWQV+F-X#ZWQA+QZ;CC@!.=XKZAZ!*G`?X913[!YW7[C[RUU +MZ9=[P)C'];9IO1^`?+U-\E^)91_!\]6C^-_5R'_9_;SS_?_A8A_D[+'QY)QG +MJQ_37IE]#?]B'V(`^X%`X(_X)`H-!H/"X9#8=#XA$8E$XI%8M%XQ&8U&XT^7 +MR_Y`_)$_I`^I$_)`_WZ_8Y+9=+YA,8;"IC-(S-IM,IG!YI/9Y.J!0:%0Z)18 +MY'I3)Y(_Y-(I3*Z-4:E4X9*85"9S`ZQ6I!")3#J^^ZM7J[8H1,X37*O8K79X +M78[-;K#;*S5+M=[Q>:#2)#(Y+)Z?++U@\)&)]9;KB+C<;K6L=/L79L;DLCDK +M7D)_9\Q.7W>]WX=Q+]QM/*N +M3X/1,.;!>ATMI[LU<\OOM;:>ILJO+5"+N.RR$&OPKK,-\M2<.?"<$P_$"8P%`CCO-$,3I:V*(LG%2JHU#** +MLY%$9QHCJ/K[`;30-$T:QZP<6IDNRO6=? +M6#84BV!8=C6/$-1H]9=F6;9UGVA:-I6G:EJVM:]L6S;5MVY;MO6_<%PW%<=R +M7+5YWI>M[7O?%\W==<*8KBV+XQC.-8I7,2XWC^09#D61Y)DN39/E&4Y5D>. +MJB:+HVCZ1I.E:7IFFY_35^ +MRY?6IZIJNK:OK&LZUK=Z'[J$2*=9&Q;'&>OR1LFT;2_^S7]M6W;>Y6V2YN&Z +M;JS^Y,!NV];VNV\;"@EY(G='!7/OG#0!OR4(/>-2(;<_&H9Q_#\F]'$IRCRA +MTGQQ\ICS7(\XF'/E_BH%XZ7>3W_G*-VOC=0^4@(=YOE^JAOK]!&#V(?YOG +M_"H/H^5[CH>RAGMHI%7U=A\7W[[X/+_,[2-_;]'M=CX?NO;]/]/P@`>I^3JT +M)DX0>]0FS[47'-/R/N!1VD6&1?!`&"AAH!O[1<>Z!A`W[GZ@R8N#IUCX&+)I +M!."L)R)OD'VZ\Q+YT(%D0?`]#T,X./_?*=4BL)H40[+!!=Z2&H1H<0G!T^\! +M3H1$-[!XW<.H>1-(+#Z&\)(71%/S"6&T*W;G1(A#)&,$HKQ.C!$]=C?X?ED0 +MD72,Z0H'HR>\_V)",'^1,C##R%3RR=1.Q'(Y1SA1'6+),H\$:D&BM_T +M?I$$/D`YF/4@8\N\?=(F21/(H18D9)!Y$C7>R3DY(!IS,'"-+E"TJ3DI8ZR? +ME`E!IC@I5REDG"J5TL5(2PEE+51$M);2Y4!+B74O4\2\E],%-;EF5S%F-,>9 +M$R9E3+F9,UD[P23S1FE-.:DU9K37FQ-F;4VYN3=F]-^<$X9Q3CG).64\YZ3UGM/>?$^9]3[GY/R>$_:`4!H%0.@E!:#4'H1/T +MI:`Q_4-H=0^B%$:)43HI16BU%Z,49HU1NCE':/4?I!2&D5(Z24EI-2>E%*:5 +M4KI+,ZEU+Z84QIE3.FE-6&D!"F5N9'-TTB"346?C26E2KQ> +M"1%+,LM,`:ME,;,QS,[ECJ.;'C/+#ECH-#DO,]"QJ%(H%*W(ZM +MABC07/VCLER;)X%!:_H8(XO(%!0.`PA2*@U2%(D*R,G:V+8&X:4')P;T-)T+ +M+PO04"Y4X9AD&5)TK/2?4Q/M-!!0` +M6:VUSXU/EUXZB[J/Z&:MYG";/M(R.3L\I#F%N"T2&5O!GK27)_1HB+]2$K,N'#< +MC>-V^S!S[F1A+0Y#6.?/-R-,OAETH\C>.O6!0-%)._O+<;WVLZ\9V#$V],YU79.T3.9D-J;PZ)8,RVD-H<'LN_.&;IX<&FT!O<7"0.X:4ZI +M8.J_Z"IU@X!P6?#(UAFX20<@\-5"0Y+NP\+32J&6 +M(4(84PKA>_Y/#1V5JS*V#2+!_F9`P0F\SD)`Q)7@BU)'#AH]1#"&Y$%I44F1K,$"YS+FX<0?#DZ +MLEZ@3-)CD>;D,X90W(R12XPZCSG%AB.\:>.AU#4]%R*E&BGE14[I!94MB*Q*&_E'(Y1^-Q5Y[1A!1&-E+.%8M66*#0&\[@:DMK!%ZD +M4<09QS@52X)H80UNG=_3)]%5ST2#5N2DELAY$E_=\"`*#T&B@@"N"DJ+^PR4 +MU-R41*8(#'E6<*[LSA5H3(VFX"`-UE'3-_!0>2BI9&JD<8Z1PMZ("YM=N[\DG8':IO=8U5XK_TOO2I*\R<)F29?S>R7B-5ZQ%O,M)WU]+ +MONWNZ=K!&!;AFNO-@]N3PC+4=M/>D)@::]W6>1AJ[".7=I7BG`1S89PWPF<\ +M_*]YWPZWR1E9`S,0ECWG#3C=YZ8W=AV#2XN];\@Q7##7<6XXY=:J,EN49(A)VIXO-QN)<;,DZ-0U; +MM>UK5&B6,ZKT8DE;RJYXZ\B\7\QC9%_P*!OFI_FS:K&7K:[R)$2IQI@VA?:: +MIA\O2NM]:0.[;MI9>@GN,YCVU +M#VX"BQ]D3'V3;NZ;;&.$II5##'_;-1M^F5#+AO:%Y=^T^W4"B2YW=L9>;88] +MDP*=F9>"JO:01_0:[$L,A5S55@00<;8&X\.>:SY\U$6EF!;@ +M\;1SHJB]S2?'#!'#'),S: +MA((+5O'N)/(8KEYO2O@VO8M[6_+.W`[@;\X#V(* +M`J<,[GOK.'KOJ:$83H'I.A4$5 +MP2WR](&HMD5_(.=QN+"N8Y0YOVP,B4]Z_@ZX8_BR:X>R>[L,O`"#8#>I6EB_\-R50BD2"U$.H+B +M($K>Z0:Z9.S:4ZG,!H-;`H#&?>!25"G,?@BFU876!F8>U*+<4$V.?V#FMT#J +M;J#2="7^B%`:;H#"SH3`_BW+"..6#4@Q`D-RCL?S`#`BF +M=(*.!@($Y.[,JJ",#2#.K^A(,"7`JJIFW`RDJJ50^"KZJ0)@_NJJ3J)" +MKZ@VMZ_X#$JK"@JJFXJJM_#FXL_X?LD:!<7^JJ"FRXJ(PVI= +M"G`A"JJ..L@R\B^JS\BP].*$),PK$%$ZT^YDUT\LKJ\RYT5-%2,Q%8Z"9V5HY)%^BZI"T.!<-"(H.Z*+>)>*,/X[*[.!0Y"\<]D^$SP +M^E$\JT:4YN5P0HHVD0)40M%.5,7S&,^]&0,&5O"\!!'R.$40TH_,[V?DY9%J +M[DSPG,T\8-%Z:4-P6\GO(/'V6:D\^Z74]*4"4\_A(,U?(05Z[K"JUQ$^87)( +M4\[9)(5O),6:-=(\C.6*,P6\YO)A'T7F:]!VV4;-(@DB]^7M'<[B[@E)!V]< +MXD[@]FS#`?'`W%(8O5*(^8IL?X[@_>[A#+#.)##2,$0D]^EL]_"3*$AD1\%*F4E"VTD!K)U#!'6#:=F7LR`R]",S2_DR"SRN%*@[L#G(7+VA47N>: +MP,=(R\SLR""L;\]TNP.2ILTN#:DL@I,)#\,V#"P:R\XDR#,6R\\A%X\DS\J2 +M6^)46Z/[)DB^8HT/'_)JN9&1!H!L5P4`--)XZ2I&7ZTO(<"N3LNZW( +M=FTO$#,2FN!L\"IFJC+VR1,BLK+9+W`VL"T`.$*W+F4?&^[L*X2F#HZ:#&E( +M#LPN0K.77$^)^YN2<4`/XD*)\K;-NK%&$4>"'`HY%-?!D4Y-F!H4!/A-4 +MTI&\O@-0-2#=&T#>!`<<#:2F( +M+D/`;X,8DTK8[I,`RBF%0\X"R&2ZR0#(#K!22NM,FU0]"--D[U!I-!'E-%)6 +M9:J:0DK>)\!M-3(W-6GNYV#$8)/P]*_@):4#2%(2]9(71K-XE70\TX91'F82 +MJVC53/2_/E-92,")3K)L +MU:*FG<*G2]33(5-U0ZR]2G4(5/(D^G3=46U)(+3W2&U322^_)*2=52:C36@S +M)5'HS\+>7`G=-4!14G59&1+BD0+*/E3G1`,VZ'6=1*MR(#J3C&T#0LN#H-0-4-8#9 +M'$8R+*5B_29>!!4Q0P!1*XK^)\,$4\0J3LL4MV.JWVL<]V;T*("F^8DA`(,B +M#"N#5DZ<-^\.5.8`BF/4`4#B`5!H"2 +M#:-P!`"(#>`4"B`4("`*96YD'0@+TEM86=E0R`O26UA9V5)70HO1F]N="`\ +M/`HO1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8X(#DV(#`@4@HO1C$P(#DW(#`@ +M4@H^/@HO6$]B:F5C="`\/`HO26TQ-2`Y-#D@,"!2"CX^"B]%>'1'4W1A=&4@ +M/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3-B`X,C4@,"!2 +M"CX^"CX^"F5N9&]B:@HY-3,@,"!O8FH*/#P*+T0@6SDU,B`P(%(@+UA96B!N +M=6QL(&YU;&P@;G5L;%T*/CX*96YD;V)J"CDU-"`P(&]B:@H\/`HO1"!;.34R +M(#`@4B`O6%E:(#(W,R`V-3(@;G5L;%T*/CX*96YD;V)J"CDU-2`P(&]B:@H\ +M/`HO1"!;.34R(#`@4B`O6%E:(#(W,R`V-3(@;G5L;%T*/CX*96YD;V)J"CDU +M-B`P(&]B:@H\/`HO1&5S="`O1S4N,3$Y,CD*+U1Y<&4@+T%N;F]T"B]3=6)T +M>7!E("],:6YK"B]296-T(%LT.#$@-#(S(#4R."`T,S1="B]";W)D97(@6S`@ +M,"`P70H^/@IE;F1O8FH*.34W(#`@;V)J"CP\"B]$97-T("]'-2XQ,3DR-`HO +M5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S(Y-"`T,3$@,S0Q +M(#0R,ET*+T)O$0F%0N&0V'0^(1&)1.*16+1>'/F-1N.1V./M[2&12.226 +M32>42F52N62V72^83&93.:2U[QZ<3A]P)\ON?3^@4&?OY[/>C4>D4FE4NF4V +MG4^H5&I5.J56K5>L5FHO^>T*O4%_3R?6&%T.BUJT6FU6NV6VW6^FURQOZZ76 +M[7:QV*?3F.V.SW#`8'!8/"86D7)]OZ^1^>V2NV2%6:DQZTOFM9;#9G-9NUXC +M%5^@9_'3_%QN_9.D1JT9BL:REZ[.;'99O/5W08G&WK(0G):G49?`[#9\/B7# +M:XE_T%_OZQ[G$/O2QK3[[J9;53>-ZGLT;69CK=?N=N;]SL=[MQSB^GU5?CSO +MDSZ!4/G8^&;VC[#S??\]CP^3QOZ_D`NN_T<(,BZ<#.J[4+/+`;\1A%\0 +MO]#SQ1+'CBQ.@:P/FTCHQ=$4<0R[4;R1#T01S&S)N%'LI,U!CXOC%3=/K(LD +M0[#D7R=#,F27,$R-_*0C"4A-O4]05W8=B*JY]@ +M+!3E:66?T3(Q9]H6C:5IVI:J,5E9B[J'3EK6[;UOW!<-Q6];=4GU<]T73=5U +MW9=MW7?>%XWE>=Z7K>U[WQ?-]7W?A]53>9[>Q\9G?V:X8?6;Y]H^D:3I6EWEH&:+SFQ^:9J>J:KJV" +MZ=H6H:)HVKZ]K^P;#<^LY,Y&4;%M&T[5GNR:'D^BZEM>Y;GNE][;K>WZ[NN] +M[YOMT[O-^\[CKY_W9PMT\/OW%7\@6=<3>O`4+P^]7SPO'WYRUU\OR_%[KQ/. +M8+T%X\C+.S\Q?V!<_=7-\[OW18/U]W])J/,()@/5<9QO<\SW7%>G9ZYP=]7Z_J>QZWA^)U?K=Y[O6>UW&? +MZ#LJP]-Z?;85VWL_%U?W>%YWOYYUF2_)_?=^W_R]WH."84]=T[^GXP&?"X:! +M+]V>OY?V^-[D$7_OH:>X%LS<(!NQ7K`=[L"'$/R@]`2!C.8.00@?""#L(EYP +M!@NY1JCN'Z/`>*[UXSOH1P-AH]J$+AWX/>?=!1K4%GUP8AO$6(S!X61#A=$> +M)D38@/J5DVFX3:F]."=#2)Q+HF8/UIT[ +M9HS!('$N=,]6$3K91+^=DV9XMX19/2>U`6!SXG+.YH-!9^Q"GG-.@5#5^T$E +MRUF?=!IST.HLP&B$SZ)3YH2Y(@5`(-KTA_1>&S^EW0UI,VJC,SF*4=2S1^AE +M(8-/>A52*-;CWN0+IPW*E;%J7+_'_2!>3YUWU$HN^=T%2:9M5HS+ZITW9Y4P +M@+35S5-'$01AR^*I;]ZD0*?#5N<,RI61YHJY6JU)Z40?IS!.'4EJ:/,AE#6M +M;8J5QU'Y3]FM0:8KSJ,NV#3XW^TIK[$=YK]G_0\IY6*?=&[%S`G],*O=0ZSU +M^7A":P5;XJU=JK`:D==+%,HL9:"QU"JI.GJW7]_E;+)V$LQ9N`E8&F5U79&Z +MT='J]/5KY96'SQK>6KB+;VE+\X'-IMDNNVE9:27)?1+BN]!ZQVUI?;>Y5TW( +M6?;A:&Z]T*@5"NI=UL=UK:6SN;*O#4+I537C9V$D"[@U4:M2 +MAV-:;836O1=BX]4;VOMIM?.D--H2T[OR^"%%.H/MKN*NJ_MCZ%VFP#?2`=EW +MXV:;#AC!;\[$W,OY>._UW+)6YP$\EX+RJM8;A+:W"C4\-63KFV'!MS[R+XK! +M?"!$#L4/8A[#O%F!X&V8(+8&%-Q+]W.L;C5>^-[=/4A_ABKN4+?-5L+4F$&0 +M)U9'O5=JO.(KWX3LI8"U5E\+8_RG"_%F*G=Y89]C/).(;(XDQ'2>U.4H%074N@M3Y>J+89PVAF<7#OMH]^NK[AMH +MU7I:R%4ZEV#SE9*`\,,]-,P-H?/.#-`8.U9;;5VR-?YGU]"B"6P,J9\Q+K!K +M^N\N7LV?;K+^V:L8[QYFK'U:MI;&VQ"K&+8-N:BP'>_65J87D:.WKE',V);ZXGL-L/2=S\M[PX+N'.F8L[6JV)NO +MAN](5?T?NNHF?FVW5;H]-ZQ- +M_K5V^K]=G1U_+O8>Q=>YET?IG9NSS4[)M[MG;9,=OTOW*Y/=->]VHOWC"/>J +M+=\T)W[JG:=0](\%0'P'-?#]C\)J;JWB_!]%XGX;R'C/):!UYWWRLZ?$]<\W +M%7SO%[7Z:<'I?635]=Z^3/L?925]I[6-?M_<1F]U[N,/O +M??1=\;LWK?HO@OW^!\?TGP_,^!^5\+R^S/F^*^?%/Y/U8F?7^Q&SYFW>Z_;B +MW]K\$(_Q?C^1]WBGYGO_E_4ZW]G[7%_O_@W[^7\V^?U_LW7_'^6Y_[_XZ(]0 +M\F]6_^_(_0\I`(_=`-`'`0_7`4ZC`8_.^BY'`7`@W=":[S"I"K"B\= +M`_"Q"S`"\P^]"O"Z:O"5#&HQ"L\U#,J9#0^=#4MC#8^I#=!O"^^E###3#DOU +M"T^)!7#PK##T^F\]#ZH'#A$#$%#/#_#M#;$,YC$0_3$6B1$(^-$>;M$C$G#F +MXE#!$=$M$'$;`/$W"3$K$_"'%#%%"-%)%+%!$[`I%1"9%5"G%9$A%=`W%A%; +M#I`G%?%H8)#+%R71%W%X'U%]%Y&#%S&'%I&+%A&/%9&3%1&7%+&;%%&?$_&C +M$W&G$M&K$G&O$?&S$7&W$-&[$%&_#['##Q''#E'+#='/#5'3#-'7#'';"['? +M"Q'C"I'G"?'K"7'O"1'S"+'W"%'[!_'_!W(#!M('!G(+!A(/!9(3!1(7!+(; +M!!(?`Y(C`Q(G`K(K`A(O`8KJ8K$!$E%^7:I[(Y$3#C(^7RJ:J>FA)'$+)*76 +MKJCO$U)8=&R.CG"W#Y)BH>O0H,V8HI$])N@!)RL8HC)5(])]&!)S)TGS)Y%7 +M*+)^N8GU*3([*9$I*O],!,+,- +M,.6\E&CTB@FVF1,=,?,A,BF',9+M,K,M,O,Q+B'XDO*\:7,Y,Z:3,_-`>(GE +M-'-#-+---(P@75+4A6D?!_-%*-+.ZDD?*(_--BNP8&R]-R7S)6_5-P]3-U-I +M.#-[-L_'.`9Q-W.(7Q-]-O-1%[.67[.48).;./.>N^Q.>"7Y.F@FYPO%-A.O +M*,X3.W.'.I.,_!.0IJYA.XVL@U.K/1/";(J\YT>;.RGW-^W00MQ+/8P2Y30@^Q0DS&A2 +M@E0,7=-XR^FQ/!-6O//LI*KDAS1&::?2SXL'0R^K/281.X8%1@^?1D8/1H7L +M=!1L^51P8-1U.E//0C/C.C/)/Q.%1(H5-9,:EC-<9?24D,;^EHA69A2BDG-2 +M@;/#2RA)2W2X83-C2_3!2]3$8,;*11,13335367$7*-L613A3C3E3G3I3K3M +M3O3Q3S3U3W3Y3T173[4!4#4%4'4)4+4-4/3A3_4147494;4=4?4A3F+(6P6S +M4K4M4O4Q4S4U4W4Y4[4]4_5!5#5%5&+K395-5/507`(""F5N9'-T.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8 +M#@0'<0#,72P0$T0%LNQJCD0&R"S0A%0%"\C1R!%22 +M#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TFD>"A3(S32HT(;C48"X$`DB"%H;!HX0TC:UX4#J-@PNL.00"D,HS,*THR +MI"-PQC*I(PC/(WCJUP6AD&P;A0.`Y2Y+PVA9/04#H/(X,S0$[48-%(4#)XN +M!F&091U,0C*%,H%*Y'RN,H_*3S7-L'JP%LB(XO0%!1/$9BH-2QB-,D'S,G(B_M,-UI)>&0< +M!19LIC*,>9Z5IEN4A3.F4+0\OV2&H4JB%`YMM3+89A:+6Z3JX4"2%XG[%I=" +M.N.FPZF%`N;`.@R-_16Z9ACKJ[WL>C[1M^^Q8.0N!3MVJ3INF3ZYKS#[GM.R +MZ1L_%;AF0YY+P(C,T%$Z-+/^TLRPP4#Q+XX,[P&WC".8YCJ-LJV\*B:,!JJ0 +MN,&X:--W%`=T%`W<9)O=C$D(PC6.`WM_N7<]WF&5Y;X>P,]W+=8=,-OW#?%1 +M)W4C5*99.EZS&GUQ7!7=]U[C2@?"&GQV(NUXZ-O;T +MD^!U>:R!Z$`PYAE4J[]9(,GUAL>$[]D*X'/AR#8&19*RW?.[4*\LY,`T^M2> +MD'=2C"TFFZ@#`-64`PTAT?^[]UL`PC&+3\I4_!WCP`V@,&ACQFPYJ*>Q#>&-R238",LB4:8."CSBM*4&Q53*3VJQ7 +M8G%Z*C&&-`H8Y#MD#(C#NK2?"^+@*(8AGAF<:&IWP8@WBN'.'1J8>.;BH%1F +ML7V[LZBC%-09R(K1QA/'&/K'V0Q-!0M!&;I0\Q7-^S!/#46=AN;"]AVC1@[H +ML:M'EL#.$1'(;1*:))+Y32/,VV*4P;0ZAC#1+)JB'92Q=:D7&1(;PWAK#I)LWS"@Y@M4>EHTH+8#M.E7$M$899AR)D'*8-SL`Q(LEPY]%,QFU +M(80U+)0;647NN6K.0U$E@QF=9Z=:!3O,.'F>,V*#PB6Q+>BZA%#.>#L&D,@96YT51E +M3*-#2%L,Z9Y3VE$]VC3%2:#%@M1#0!C=;`FJB*(_`H#,U`WU7:..E@30(.!K +M3LF=6N'-#SOJJ5/K=1:J=/FM!M9+7-NS)WN-*YE2=KV"A+J?3".^H%8ZP["JM--<]38SH.ZH1(!!/4.0 +M9((FE-:C!#KJ0RS_#<<2EQ5PPAY!`\$QTWP0.M!!5BLX8C.@N<0MXB\1"A!4 +MB."BO4KC=,JD67%YQUK,W2HLNFA#.:72R=V&:=MV%N$AE*[MXP(\9Y#RK9WIC1/.\@933J4#),.]5W+KFYG*AD&E_FLI=2_?1$9R`VA +MP>9>Y1CC+L&GG7?:GS*&/U!!;<9H416B-&,ZYZD#25`F')#>9/TZTZF'G;B- +MX#"@6ND=V'@-+,`RWS4B8>?X;3KR79&"BB.*@4NAQ3&C(-7LAU2Q[@51"B\: +MADJ+CUX(+`S)2DY, +MRN^/0DTIQ[7UG.&903XNV2\&S3&8&#+?B^+RW +M`:`D;HEIMD-)-.-]-W0>?)45,87I)E2W-#-4D'H"!:WBR*?7$]PBZZ$-8<4R +M@Q_;YEX*O::PIF;[E;OP7P_)'S\@9@X084$HID7R,"6,T:"^H=:K/E;I+,2F +M5-O8U/KHDFJESDJ!H#0H"Z-B:Q?.#!]*L-+`IUPO=76O2+ESVT#E!VK]BK%? +MZ8`W^@H+YCTE=_2"?=E58T[H#&AA(?@S!S$7=F&XC51#0H8.IC$F:B4JX33> +M>5--,T_3SB=X3\'*YE2`X*,OWFG2WR[?W#M(!!W'&IR#7<;+,_%'R2B- +MDM?DII)0,%T`P6&^5TP[UV^$K;V*^%`)L!B2TRF'3`1SAF3X\"#$'J4!`$*^#R7E@@"9C,QP5X +MTF%=VR%[!YP%!Q(D3D/T0VUZ!P25`(5Z!DVT!J?#`4/RCR/VM^*P!>"2#:_" +M!`"(#>`4"B`4("`*96YD'0@+TEM86=E0R`O26UA9V5)70HO1F]N="`\/`HO +M1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8X(#DV(#`@4@HO1C$P(#DW(#`@4@H^ +M/@HO6$]B:F5C="`\/`HO26TQ-B`Y-C4@,"!2"CX^"B]%>'1'4W1A=&4@/#P* +M+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3-2`X,C,@,"!2"CX^ +M"CX^"F5N9&]B:@HY-CD@,"!O8FH*/#P*+T0@6SDV."`P(%(@+UA96B!N=6QL +M(&YU;&P@;G5L;%T*/CX*96YD;V)J"CDW,"`P(&]B:@H\/`HO1"!;.38X(#`@ +M4B`O6%E:(#$X.2`V,#0@;G5L;%T*/CX*96YD;V)J"CDW,2`P(&]B:@H\/`HO +M1"!;.38X(#`@4B`O6%E:(#$X.2`V,#0@;G5L;%T*/CX*96YD;V)J"CDW,B`P +M(&]B:@H\/`HO1"!;.38X(#`@4B`O6%E:(#$X."`R.3,@;G5L;%T*/CX*96YD +M;V)J"CDW,R`P(&]B:@H\/`HO1"!;.38X(#`@4B`O6%E:(#$X."`R.3,@;G5L +M;%T*/CX*96YD;V)J"CDU."`P(&]B:@H\/`HO4"`Y-3(@,"!2"B]2(%LV,R`T +M-2`U-C<@-S0W70HO5B`Y-#`@,"!2"B].(#DW-"`P(%(*/CX*96YD;V)J"CDW +M-2`P(&]B:@H\/`HO1"!;.38X(#`@4B`O6%E:(#0X(#7!E("]83V)J96-T"B]3=6)T>7!E +M("]);6%G90HO3F%M92`O26TQ-PHO5VED=&@@-3$Q"B](96EG:'0@,S0T"B]" +M:71S4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A8V4@.3@S(#`@4@HO3&5N9W1H +M(#(X-C$*+T9I;'1EQV=,V62O^XA>"K;[KN^N&^X&%D>*X>MY')Y7+Y&ONUZ +MV%]Y]YZ.2Z=XZ-^T&RVV2P=9X_@N/"L,DW_AK$B\'HN7LYGO^'Q^5LYU\ZO5 +MZ&S^U/[6CP*^N^]+$/K3ZKV^Z[(0Z4+K\J9_G]# +M#%Y6G: +MUZWLUL)2+;5+*E2U]WY.M@3N[MAU#=DPU;!$RS'4UXRG,F(2U>6%VCB-Z7OC +M&,L3?,XV["N.US#-^PY<-.O_/,#)+15D/504673EM8O=`D;QQ0F64'&\=9KC +M6>Y\Q5L4W-\A4Q-S=8'$&49_I>F::^6@U_H>C:+26CW'3]RZ=K6MZXTS7LDS +MK*M'L&PLGL>RLH_D/6%`.N[=M^X+HNS1)$J.Z:0VUQ+Y3>V[COV_\`KSM[WP +MG"NI#VT,L?20<9QO'+XWC^1Y/E>7Y +MGF^=Y_H>)?F]2)VG7^OV/H^U[?N>[[WO_!\/Q?'\GR]KZ?/>S['9=E\WW??^ +M'X_E^?Z?K^?T=7ZWU?W^W^_\_^`$`8!0#>B_@Y[ZW^/L=\0)VT#'MP.=N^V` +MD$X*05@M!>![JH#OZ@0Z]V;O8)0?>U"%_4&(30GA1"F%,!DDO[>P[.$CN80P +MQ>=#&&D*H<0YAU#M\,+%,P11BE%. +M*CQH?/5@[$*(<0(2PB@_$2&3YXOQ;C'%V&\58T1IC5#F*\"HLP*@X02,41HS +M1AA>]EW$8(NQKCY'V/T%8VQ!@]'"/$2HYQEB/'>#TAH]1_D=(^2#\I`R"CQ& +M"1L,Y#PV?Y(6.DB)(R?E!*&$<&H6QOB7'.*$J8(10CS%^!T))51)E%+.6DM7 +M@R3E-&>6TNY>2]@'(&4T7I?3#F),624I(?R4D&068TS9G3/>A,"2D,)F30FM +M->;#OY<3*>M-6;,WYP38FE%F:DT] +MX^SKFG.V?$_9_15GE`B>DLI_T%H-">?4Y)^4'H90V"E`8$S=G-0ZBE%7^T)G +MG0NBU&Z./FHA"]]DWJ.TCI(]VC%`J-4EI52MY='Y*TLIA3&&LR'JS4GDW4"HE0*>1:J+4FG50H[U*J=3"H\A*GU3I+4R3E5*L4; +MJC'NK-7:'56D75ZL5!ZMS"K'6>>]8*S5HK9.FLM-ZVUQFM6JN%O +M4WZZ5[K]7.FDN:N5_L)+ZOMA;$6&L#-RM=B;'2?L/8^R4H:\V3LM)&R-E[-3 +MYL7.RS=GX^69M!:.*5E;26GAY:*U%JX46FM9:^$UJK86S@):ZVEMX!6RMQ;M +M^MMK>6_?O8NFUP+B/TM]<6Y#X[=7)N92:SL^[FW1A[<*P5TKK/[3RKE +MW;N\]*Y]"KOWC>3=V\EYW=W9O1>N&5U+&7LOA>F\-&;XWUO:9^#=P[[7[>M? +M.E%_+^7FP!=^]6`[QX"P-=K`N";MX(P9=+!>#[K8.PE)[=XFQ5;/%.+;:8LQA:S%^,[7XRQM:?&N.;48XQY +M:#'>/[1X^R%9K(.1;-Y$R19/(^2[+9*R=8[)N4;'Y0RI87*>5[$96RU7[+.7 +M:_Y;ZV9NSE6+..=:QYTSQ5G.^>ZNYZS +M]5//N@:J:`T)4K0>AZG:&T5431.C:BZ,TA3[1^DZ?Z2TM3C2NF:J-655O=,'5]=M7:SH[JO6U%=:ZYHMKC7E#==Z_ +MJ_K&:>PJS[!V-638DY-DYVU#2#9N>=ESSVCG_9]+]J[6OQ"V_6V:L;(V]6G: +M=`MPZ"VO3WYZD;NJ3K[>4Z-P;UG/O3?$X-[[[KYN.H>_JE[ +MPJEP+3O`*F\&TUP2P?"M0;KIKNWAU,M^\3F=OKBTS>*\9G5PBJ_'-8<0NK77 +MD&P./5AY+23C?*9><8Y9RWAEC>7[#Y%$#9G,Z.M1JZEUVT/0.P4%Z_V +M.-/7.S13[+VF*G:.V6IZ7T'M\S^W=SC9W'NT\.Z]YA7WCOE;NQ=_WMW[P4X> +M]^%@OVOQ%K?`^+FSXKQT&/#^1MKX3RDT/)^7@#Y#S4$_,^=?]YST%N?&^CX[ +MUB]_IIB>?]5<'U&LO6V*YK9[V,P_1>UM[Z7W$MO;^[F/[.Z'OI=^]^$^_UGQ +M;E>6^193W7R[(?*^=TKX%XOH_,]?L7ZOTFK0_]I]G[3U(W?8^]U'YOX^K_;X +MCZG\T?OC_KFC]#]W7OR_QC1\3^D!?Y_W[5_#_7^_IKZ/^OY/KN;P`NVO\P"H +M=/[0$+N0#P%H50%0''COVP(GAP(0*+P/_K_P+NX0!MJ0-N[P,M10/P0/T/PP +M"01O&00MH04(<0+06(00&P7O*P.MR09+8P8P;/-O^0+C0=P@P +M=05-L0B)`0APD/0P<0EPA0:.`PG0BP?/NPI/20H.$PK'_P)PEP70G0N0D0O0 +MNPFPM/C0E0RGXPP0B0Q0PPR0T'RPV0UPW0WODPL./PZ/70J/@P\'[0XP@PU0 +M_PSP^'R1`0>0_1#0YQ!GO1#PJ6Q31@'D1:061;1C1?QAQB1A1E'BQBP41CQH1DQFQG1F1J'A1GP1Q +MHQM1IQKQL1K1O)M1NQPQQ1=NF1R1EP[.41T'FQMP/QLQWQP1V*=QQQYQZ1S0 +M@1[081U1SQ]1OQ\1_1VQZR`GSK`G42#R$2$R%2%R&2&G1J:'#2(R)2)R*2*R +M+2+R,2,R-2-R.2.R/2/R020R12.GJ21R323R424R525R626R727R82)22R8R +M:2:R;2;R<2]Y'0 +M:%0Z)19)`GR^Z52Z93:6_GL]ZE4ZI5:M5ZQ6:U6ZY7:]7[!8;%8[)9;-9[1: +M:T_Z33K=;[A<;E2G]2+I#*?4;5>[Y?;]?\!@<%@[[;'V_L1B<5BZ?B\=B<;C +M\==\-2J-;:AA,UF\YG<]G]!8\,_LN^\QI=/1M-A[MK(7>;0^=#L]IM=MM[_H +M[;<=)=-W<-[A]_;][=#O-/U:3QLQ>+IR^EX +M?%X_)M>I+<],B2!%#?R*IDCN/%S,PM)T.RA&THRM-3U)4^6%9UGT,[;#LDQ3,6G:C$6M;#$NV^M[.`^=ML6>Z.W[?U_X!@.!8'@ +MF"Q_?6$83?2GOG@V'8?B&(XEB>*8JB6&..?Y\8WCF.X]C^09#D61Y)DN39/E +M&4Y5E>69;EV7YAF.99GFF945=D%9KG6=YYGN?9_H&@Z%H>B'YF^&XV?6E:7I +MFFZ=I^H:CJ6IZIJNK:OK&LZUK>N:[KVO[!L.Q;'KI^:-C#=XT?&R;9MNW;?N +M&X[EN>Z;KN>S:/C.D[MOF^[]O_`<#P7!ZGO&T0?O?"<5Q?&<;QW'[YPS*;3Q +M/(7N*!ZP@7@^EZ?F:7YNF^CK?A\1X +MNG^OZWL>5\'J[;YOOZCY?S>I]?;?5XVN>WS_NZ=\_O?%\FX?KJ?]?9_O6ON? +ML]IL[DWN/[?H]]Z[SVLON>R\Q[,`&K/G@4\F!L"($P/?!!1\T#7_0=;M`R#D +M&X.-1?BSE^;V(%/X?Q!""(^H$OCA=#&%358$09?3"Z%,,H=04AL]6%D'H@-O +M>/`"(C5(2NJ:D_6&L#HL\]],<8_Q[DLV"/$;XH-5B/(.0LD812@:Y!> +M4,CGH05@Q'6+D:HHPZE%)>6#7802EBFTZ3L)Y8PTC9+F7C@I:M-EO+V-L(YA +M3%;[+]IDP8DO'?S,R(4SIC31<409MDRII37FPZ::TV9N3=?$^9]3[GY/V?T_Z`4!H%0.@E!: +M#4'H10FA5"Z&4-H4WERE#J)43HI16BU%Z,49HU1NCE$$'T@(^*/)$'XT2EU+Z84QIE3.FE-634MI6@JEL\J>4]:O3AP]+)<4^J)3ZH$! +M*A5%J54NH\9Q_T[J75&GM374U0JE5>=M5&&U6:4SUI[,ZOL\K"SNL;.JRL_K +M.RZM-8(O5:8S5P?3/!^5K977-IUR37[*5^:]9VOEFVL6@B!8>C[W;,0" +MLK8NU;8K26$M%3^S5EK6MNM?8VS]LYW60?[::I-@;8NGMU9FVK8+;V1MI9ZW +M=Q9JW#M5Z+MVKXRNO)<".X'J=8EV9&(9-1SQ!@[%^-L2W2?7=2I]UH9WR@G# +MG'$C9%0XF3D*+^_0\`,Q9HP# +ME3-D$'SYPR/G*K>=,@15O_##0N97\:)C9H?+&-(ZP3BYGC#<:W^:3N_*:`V; +M[G9HT_I"-VDI;9&>IDC%4K+]X_T3FG6NB-(9+RAJC"D-XKR)U!L3&6:L=QOB +M7FS,V%,1/CV-@K44KM61?UUG39.P;Y;.O7)F5NL\U[,S;`W0.?\*Z,U:_:*> +M8L.:QEWGS(4B\I9VW-@:G.2=CPAEHT_4$D](["W/B2+NU[82;X9OF'&ZM:8O +MA9HV.$B>)[TBA!K1^-)4;ITUM.TNEJWZ8D9K?+UV-4R(X5;B\6U+N"M>SSUP]/;O+L><"W?RCG6/.-\ROGS]]#A>>\QZ)CKI-^8/7-N8= +M2Z%TSEET>IWMZ7AKK?5+S[]UWRWI]D^C]>['=[K/,^%MPZCBWKO;N0]@NM1. +ML-"NZT2[O0[O-#>]T5[[07O_=M^7IW]8&BE7Z%^([I7?P_C/%U\HUXJA/DN] +M>#P1X6K'F9S].\UYVAFQZ#T7I9B^D]-ZF6.NJ4>M]=Z_V'L?94DY$\ +M2FWM_<>Y]U[OWE,M^^J^!,7W_P?B2Q^'\7Y$>OC_)^9![Y?S?H/K^?]'ZCP/ +MI_5^P[?Z_V?N.N^W]W\#I?O_A_(YO\?L_T?I_5^O]G@-A3_B3X3"_[?Z?U_M +M_>D[Q:`6._/S?\K_YJ9RILP?L`D`@?$`L`S_C^3&$`$!IK,`0?D!!C<",`JU +M+_L!T#!J\"$"0?$"D!+^+R[^<#,$<`+_4#QI,`<#Y]$!;&[_T$D!L#<#\%(? +ML"T%CGC(<%\&$$T%3(L'A[T&SDS9IKS!D'*HL&)Q,%,&L$,!D(D(K[,#9T$` +M<)2IT$3AK`C$"$":?4*9U +M,*K!;5;+[)B1,-2HD-B?D-YAL.+6S>#@K'\)L.Z<4&,!$0T/9C,/K8L/[8,0 +M,0<(T'<0T0\,,*D)B%,*[:S+;'\1ZGD0L24'Q^D(#!L3D#,3T3\1!M,.,4D` +M$4T245!!\545;\L5L2<$$2L,<645D2,3\4![$43D$7+\,6D#D6T.$!D8,847 +M<7D5Y(D6,9#[D8<"L2D8T7$,IOS:,9Z7L:,7J*L7[@T-*4:4[54;*84;<&D: +M$=$1,=3=CBL,\+3/ +M<2\.T?B/+>,MT1;,<0$VR0C*$W1W\WC6\WT>;+B/TG$G$34[,]L/ +M$[D^$V$T4H4\$^JI4]++$]E!5'J(%']%LAL\U(J==(\DLRLK +M=)="=#DZ]'4_E**%>U>]?%?*FR9)D]>E<3T3\=?ZJ]@ +M-@2J-@E@JI5@]A"HEA5A:GMAMAR>5B%B*>%B=BB=EBUBZ=%C-C2\SM0==*2,M%SYX%T-S=)]R=SUTYV]U-Q-TMUMUU7ES5V*! +MUTUVDP]VU:U()[USMW1_MV%WMR-X%X,=]WE;]%R`]W-XYVEX=Y5)-YEV=YQU +M=Z%=%Y:%%YMZLO]Y-[%Z5[5ZE[ATEZ\H]TEW%\5\9T5\LIM\Z'%[=]1TM]DJ +M=]UUE^,Y%[U\U[-Q5]-^YS-^=T=_=V5_U35_-]N`5]&`EW=T51E^MXV!5VN! +MDMEU>!^"$W>`U^F!%]]_N"QQV`&!N#5^V#N"^"5R6"N$=ZV#&`-\%_F%!UV# +M^">!T^-?6&F&N&V&YH&$MSDV&'&'N'V'^(!DF'6"EP^(N(V(^)&)-V\FN).) +MN)V)^*!@V)>%Q_MNF*A_]F^*YZ>*V+1TV+F+MM.+.,%F.,6,9WN+^,S\V,N- +M-FU)^-AWV-&-YOR@....1R-S+X=S&/6/>/EQS6\0\2>/./N0>0F0KV!^=:D" +M<#F06.U_^1%;N14:61F1IRZ0<&=8N24!=^&2AON2U9N2[VLL.3>3ANV3T'E7 +M^2>4F#V1^4]6V4,V64>51N>4U5L<^5.61Q>6D+]5V5\^:XZ"[C["T<)Q;TA#5;4TYL++"LFJ5[AR#4*V!B]Z'*4F>[-V<^1YDV6\X +MD'",-I\E4E$0++4BB0DR,C\?4R-&.9)D4V&@*9V:%J=P*3AK/]'D_NDU#NE&G^>E/%G&?K,F>C4R%I-*F@)Q^DEW6KL]^KYQVL-VFL<]6;E+F7!PFM-`&M=*&MIP6M]`VN.6-MI^ +M^LVDNFVD^9N+V:^O +M^JUGEGV=Z6FQ"5\A^?EGNA<>SAF>QY$Y^S^J;CTYTI6RVG$8VG5HMKL?+8DS +M.A69^F=KVF5$#/6VZ*FAU%&X,?FUVNZP>J,R\XVC-HFD+=#;6DU4.6E4HFXFI>GL1>EFSR)23]$&X-JNW,(4/V>4CC"VL\#&[.S&T6FELLE&[ +MS:TW#=NW2/L/VA^CC=FH3*3'.STA.]F=>XVF#A.I^_.S\3.8&S<3$FVH%W_! +M6>>TF_ML]#,E_`.G/`9Z%J^N9J7"^V'#*4^]6.W#T=.O'#AMG$D@'$W$YL?% +M,H67^JVU,31QF=W&:#^K6K&PN:6?-L;<,(>8\*\GE\FONI6]NZ;;.@NP.\MER9O*%JVR +M'-6W^W7(!L='G,4UO+NLG+\1W*>X4QW'N>"-/*6Z7!>JLTVY&HS(:8G0&P<< +M>Z/!Z36?7&/"B_G-C&3*W0QN7%V42R"4FC_'&GB#&E^X5I?13ANB_)+16]W2 +M74.:-&W0Z+.C6UD=D,D)N:G,W.W#?%'.>M6LN[Z%FBVH.\."73_)?,+-V_^; +M".W76R6^DQ_1\D&GG*##W'FQ^].@>F)OW2N6'2\/^YO/N]#"3!G+/8^\_->) +MCBO;/9G._*^\&^?8#@G.\CNR>84Z^A*(D.>X'4>GVJ +MB-/?\X>T>W?R/7LEV?O3QN'>>;NXW'G'.IJ5<.7"'1G55( +M?C'1N>/D,W/B_/Y]&WML_A'<7D.PW0ODOES9J9E1_)3.M!/$7#O6VN&QEK*- +MIOGFTP:7W6G<_:!K_GT!_G&NWG5*^K?G9QGB>MG%G:GH^Q?.OJ!OGIVN7JN4 +MOJ6R_`7K)P'J_%?KQKOL&#GL1KGLGLV3OK>U_$OLOM/HU#NOWKOMYNOM'NAN +MGNWN_2GM>XOO66?OGI/OQL/O/P1MWPGPO6ON/(ON?Q!MOP_QIL7Q_R!L'R7R +M9KWRORWL_P'JGS/S7Q7+WQGSIK_S'T1K'TGTIJWT_U!JGU7U?F_S_.GT/UWN +M%*GN7#'V?SWVOQ?V_W!K7UOWKG53OT'WGX$#7S?V7XL$OV'6_SGY*YGX7V/X +MGYWY7W7X?#_Z9JOW_YW[7Y/[GXO[WX'\'WO\7W'\GV?\WUW]'U?]7U']GTO] +MWT7^'SO^7S/^GRW^WR?_'R'_7QO_GQ`?`@#X?4#@C\?CX@4$@L'?#_?4NUWR^*M58MN@U6KUFMDFBJ%. +MQ,ZQ=KS>NW&YW6?V&(TNTT^-W?#XG%N6]RUGX&:K/&YW/Z%'Y%1V=4OF,V_1 +M[7;[DIZ>RW_6VNH[OE\WGC??LV8Z^VYOH^'QYWJMGAS/8]_R_7[UOTTCE/$X +M+LOY`D"LZ_R].6_#4P-!L','!#JON]T&0?"T+K?"+[/:\D,0]#ZN0U`$)P[$ +M$31.HD1/8\;A11%T7I7%33.9"L81M&ZF-B^L=1W%V"$4M2](3E2=-MU2M,'Q!,F073E2-RRE'QT@U43C4=2U5[(T2V7::Z6:F=GUI( +M]J6VX]-Y7G>EZWM>]\7S?5V)O1 +MMP7]<"8+@V#X1A.%87AEWW[1MPW%5C;6YBK!J?=6)I]BV.+_NF-4%F>:9KFV;YQG.=9WGF>Y]G^@:#H6AZ)H +MNC:/H*49EI&F:;IVGZAJ.I:GJFJY_'B1:71V`51ANO:_L&P[%L>R7;5&MW%I +M60G_9^`5!KNR[CN6Y[INN[(115+[0T:0ZUMU_[YF&25G3%'<"C^_;@MEB<%F +M'"('O5C;5:/"+'Q_&Y?R_(4MQB3:72U^\/S&*\TA;*\]M=53PV7.]'D_2SQU +MJ2<3U:[]EUV.\OV/))/Q-%T%V_<8MPG=[3WO4XCB$[U1JWF^=Y_H>CZ7IYU1 +M_EZWT2.]]1U9^I[WO_!\/Q?'0/K;1WG4#$&&0 +MD5@Y!V#T'X00AA%".$D)830GA1"F%4*X60MA="^&$,890SAI!U"<-8<0YAU# +MN'D/8?0_B!$&'D-XA1%B-$>)$28E1+B9",JI5!_11BE%.*D58K17BQ%F+46X +MN1=B]%^,$88Q1CC)&6,T9XT1IC5&N*D&8W1OCA'&.4/$"R`@`IE +M;F1S=')E86T*96YD;V)J"CDX-2`P(&]B:@H\/`HO3&5N9W1H(#$S.#$*+T9I +M;'1EV +M'(H->4%.7%!D$&S%PI+I4)0*(MAAE8&XVHT<&E(P5"F1FFDFBXW&HP%PYK:K +MK>_3^/\KBO(*]2U)VMKIAN_J./T&JCAN$"Z)J@B_BFT(0"2((6ALDXIC2-KL +M!0.HV#"U`Y!`*0RC,VS,#*D(W#&,JDC"-S21*UB?*`)CR/,B2.+6GR.+>M+^ +M+FJZ_I^&07!B&#"!BP[,1"Q[FA:.;-#@.#',@,(0"@RKO#>,XY##$;RO.L:3 +MK,M$AK8BZWARGXQU05TZM032L0C*%-H%*W(:MAF'(;!%(J#59]N6]D%Q"EDETW7->I +M95BFHR>'$G($CUM7PO%]!0,3NM,Q@WX"&6F-14;8T,-L311A$/LS?^_A0.`Y +M3),T1Z6V(ZMKR#,S[I;E8/Q-?C+8-AV+?F^-C1XDU5T+.O$I#&@TNZY0[ +M-L&P4<+S'$&V4L=FXEJB+JVE.M!IKFXZ_C\* +M;H)U/TRQ["(TZF_0\M.1;)XPC7;E.HR'J(:AFHP8);N&O+KZEQ"YA89TMDV@ +M0:TJ6Z)<&CK^EDVAEBHJ04DJL&AU"0K`@*#*`;F8#'41.EF`2NPW&:1FPB`X +M*#'03#B&76PH@`'"$\##,(H +M@$]QVT.&ZK`6$L2"L'$;P+@RI0QK\R8.]@X'EU$.SEAI4Q$2#CO'?/`@P=2# +M;XBRL2;:4%:3;23$G"H_X%`1@TAG#J2$GQ@EJH47^A0%(-D8!R#:8Y'85S'! +MD3Z;B5<%`>`YFA;*VE\Y%V;I-!LLV93[V:HV,<" +M"/2D8^FX*(&&0*,002$E$\5(#4"V,2+2QA]).Y/R1;#)0,LEI,-F+(VB3L\F +MCMS9K*).R86[M-E.&V5)#FQHX64>D!0<0%'3:ZG9($D-J4@0!$#>`H*-#R<`U:T#BBA.V^+5!N0(&(-J-E;-NUI]5( +MJ24F!B4*E5+`%$!`"F5N9'-T'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P* +M+T-3-2`X,C,@,"!2"B]#4S@@.3@S(#`@4@H^/@H^/@IE;F1O8FH*.3@S(#`@ +M;V)J"ELO26YD97AE9"`O1&5V:6-E4D="(#(U-2`Y.#<@,"!270IE;F1O8FH* +M.3@W(#`@;V)J"CP\"B]&:6QT97(@+T%30TE).#5$96-O9&4*+TQE;F=T:"`Y +M-#D*/CX*07!/ +M;B$D1DXL(3(P0EM>07!/;B%J1G!4-6$\(B(C4596;B$Z<$AR-6-K(FHC97!` +M:W!!9$=9(24E6T<*(U%0+68A+T-0/B$A(2(35( +M.$MP)'0_2B$A/#,D-5@W5"Q05W5N7S5K8C9>-5@W4S0**SQ7;TPU83L^4R$A +M(S=A(21?240U44-D9B-13VI9(2$G9$M>7$!%;2-*54]#<%`R(B$C56=A3"-E +MC510V11 +M(2$C-V$U:E-)<2$A(SA'2D@^9D\U44@G4PHU448H1R$A3C\F-5=3;%07!/;2$E-V=)-5)D7',A(2=B-B$Z7B1H(2@V964U448F +M/`HA*%0Y4R$D1#=!-5%&)CPA)&%@+S5:-UAA-5%&)VXA(5XQ/"$[-D)M(F]P +M;U8A(5!59EY)2CIP-5%#9%\A(2=B-@HU:U`J:"$A(S=A(3=8-S8A*%(B:WHA +M(2,W83588EEC-5%#9DXA(2,W85Y+3%@M(2$G8CPA.F`]:#5:0#A!-5%#9"P* +M>EY!;CDH-5%&)CPA(5E;9S549R4](2$C.'(A)$9.+#5H(V-'-5%&)G`A(FQS +M1S5K63(G-5%*4DLA.FE!5#54<"L_"GIZ-5%#9%XU44I00B$Z<#!J7DXG/D4U +M44-D42$A(S=A-51G)6PU44I22R$Z7!E("],:6YK"B]296-T(%LQ,34@-S$U +M(#$V,B`W,C9="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*.3DS(#`@;V)J +M"CP\"B]$97-T("]'-2XQ,3DW-PHO5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI +M;FL*+U)E8W0@6S,Y,2`R-#$@-#,X(#(U,ET*+T)O7!E("]!;FYO=`HO4W5B='EP92`O3&EN +M:PHO4F5C="!;-S(@,S`Y(#(R,"`S,C!="B]";W)D97(@6S`@,"`P70H^/@IE +M;F1O8FH*.37!E("]83V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M +M92`O26TQ.0HO5VED=&@@,SDV"B](96EG:'0@-#(V"B]":71S4&5R0V]M<&]N +M96YT(#@*+T-O;&]R4W!A8V4@.#(S(#`@4@HO3&5N9W1H(#4U.3@*+T9I;'1E +MTEDTGE$IE4KEDMETOF$QF4SFDUFTWG$YG +M4[FCWD4_H%!H5#D<"?+[I%)I5+I+^>SWJ%1J53JE5JU7K%9K5;KE=KU?L%AL +M5CLEELU>?]'IEKMEMMUOI#^HUQAE-I]GO%YO5[OE]OU_P%BM+[?V%PV'Q%-Q +M&+PV*QF+NF#I%$M5.P.7S&9S6;SF=JV#?V4?>5T6DHFCPESU,+NUF?.>V&QV +M6SVE@T%JMVAN.XMNZPF\MFZN62T>GPEWLFOVO+YG-YV!V]PWV^W.DZ5'X>5N +MMQY'/[W?\'AO_1M_3M4(W?IN5+?[^]6JXM#[E3U\>J'VJ,@_/WGWX\3_P!`+ +M-O(ZKTGV]#?P,@2DP6][).&A36JD_$*/NY4*O["T!0W#D.K/`C>NM`Z#P,ZD +M%P;!S<-$X[Z/V_BJ0O%\90]&D:QLJD0.#$1_J9'D$Q^I"!J6X350@A,)12$I4B.)%;+0G)<-2;&11!+LLC"+YS#&48Q=/.=6,N5G6U:QU6\[2//%>V395!.PPC'L.RMG6>PMHVFPSL/A+[ +MNV7;ENO&M3*(\I-PUPT\ZKA(=MV]==V+*XET7A>+>OA:S$'NCE\7S?5]WY?M +M_7_?%I7K@>"6>IKX8!A.%87AF&X=A^((C@[B'^?&+8OC&,XUC>.8[CV/Y!D. +M19'DF2Y-D^493E65Y9EN79?C5#7/`^89KFV;YQG.=9WGF>Y]E!^9EA&+'UHN +MC:/I&DZ5I>F:;IVGZAJ.I:GJFJZMJ^L:SK6MZYKNO:*?F@XFW&*GQK^S[1M. +MU;7MFV[=M^X:IL.A8IHFX[OO&\[UO>^;[N.Y['!F[;]PG"\-P_$<3K_`,CLG +M!\5R'(\ER?*;AQEBR#Q_*\WSG.\]SY]R]!TO3=/U&[]%H>S=3UW7]AV. +MH]7NO6]EV_<=STW:<=VVEH+WY_ZYX6B^)MB!ZF@7=>7U/C>-I'E:MWG!=]I7 +MGZ-Z_KZOYWL;3[FH>)[_F?'ROQ:3[79[%QOJ:=]'S^'[OCZK]WR?KR7S>AJ_ +MI\SZOW^@]EH[R&J/?>B\5Z+^&GO:@$\*`KV7GP+>[`QYT!7[05:[`2"D$X*- +M,?VS1_K_X,OY>*_%Y(^H'PD@9"1J,`(1P'A-`*$<,830SA:^&&D-X+0Y:P\! +M\4/6GP==(TU]$+(7PP:E"F%!!(9Q(B/"*);\8%0HAO$R`T1H=17A+#6&$/FG +M1`W)&7$NVO2U;! +M'AT<7X016;.09X[P)>3);A,9QT]Y\3YGU/N?D_9_3_H +M!0&@5`Z"4%H-0>A%"9YSO<%0JAU#Z(41HE1.BE%:+47H%0Q(-&*.4=H]1^D% +M(:14?'Q1I`X_&?TII52NEE+:74OI52BDP_Z43MIM3=I%,G`T;DI3BGTX:=/K +MIY3^HDYZ@QYII3VHM2YHU'='36IE49KU.815!HS.&E,NJRS>K;-JNLUJ^SJL +M+*:QU:=C51BE5FBLW'Y65DU;6DULKFQUZ[37MF)9Z]4H;)W8E]*RY4/)ARMN%?&]EXJ9V]=;`2^M[8 +M51=OG(:^5S(V1@CO=RS6$+IW@E!'UXU^<#R5OI:JY]XZD8"P5+Z6V";Z8/M; +M+%].#,%8KISB3$6+<#19P1=2!&#<,8LP=+]V5T+RW2@=*N(V-XGPMA??S&,3 +MY/RFQU>"-D"XMP4N\_F0,G=#?;#.0<785A/C#`% +MHJDWFA%)MY#XL,9ZA)D*0V?\1XJAI>O'^>,)9#CYD;"F4HFYAT%B'-V1]`:' +MU!;K,E5C-,R@U5IS$\8<*M)UMGN/SZ,M:#U/K_. +M3YGM9B=+CS1>/HH;+B+J35&F=:Y]UO*J`N=-J:[TA=B/<8\JW'K6[[+>?,#2 +M"R_&79.K,`ZOBK):\^==+[*VQI[7VC(B;UC!FN3$$]Z[[VE'Z,#U]CY6BEP; +M>^NHIR(T)@R2^V)-ZK=?M#$$?VE;EO_P[&7!+D7AX]9?<5W>2X+U#B7%.B;R +M;1Y#(/87)^.W2C_E#F5[^4Q"QGSG"?(^4<^N7RS#^\N1]^`[_WJBO?J"^&[?WBM-MJI>-CE +MV?QWD9D^0\EY667E/+>9D9YCS7G8=<8I'Z'T7H_2>E]-1'5KM:8>K]9ZWUWK +M_8,XIGY[VD/C]W[WX#N/?_!^(Z_X?Q?D.F^/\GYCG?E_-^ +M@Y/Y_T?J.)^G]7[#A/K^G^Y]W[WW_P=]DUHIIOX?S?G_1^GTU2OMW.^S^]K% +MJ/V_P_HUS^7Y,3?U_TU;^_+?ROW/]P`FEO^JD/_P!0#FH0"'1P#+SN-,GY02Q%II1&M5L7I4HCH3Q+1))&1*.&Q-'YI'P0Q-I91.M

11IH12M`Q6HW0D(#(M(&Q917)>18+(0HHD0CP>1:1'QM]1@0IQ<1AI9QBQEI!0=L4-W1/QF(*QG,P1+N*0S.&)+,T1JIE1KQOO +MF1PQQ/D1R1ROB1SQT/@1U1UO>1VQW/<1X1XO:1YQZ/.Q[1[O,Q\Q]/*QPQ5Q +M^Q]PW0%O\H72`Q_2!P*R"R#Q\2$P/R%R&2!(A0:Q"PDR(JHQ_R+O+1^2-*ER +M.2.P)R'04P^R0/&R/R2J<23R4*;2525IV26R709R)PFQ`R8JI282;)Q2<2

24R?0L2@2@R62APQ2BRC27RD0Z2EJBR=RGIJRHRI)HRJ2JQP2FP +M\RL29/QR:2*RN2CR9PWR:RPIURKRS1FRM2E2TIM2T2VQB2URRRX)PRWRZ1.2 +MY2P2[RZR\Q%2]R^2QR"2YR_IKR[3"(=3#3#H+3$S%'[3&3&GR3'S('F3)3)G +M=3*S+'<3,3,G93-S.'81BO8S131S232S3&5S`R%))33S636S737O834R'S/J +M?OKS:)S3;3;IQ33>IMS?S@)KSA3AIJSBSC)HSD3DIE3ESF)>3G3GI +M<3HSI)93J3JI43KSL)&S>+_&OQJ3MF]34>T?4?E\4<2?G@OU4BTC4CTD*#K +MT'BT3"!4DTGTH4HTHJ2HQT7J:1#46G/&+4EH34FTKTLG8TMTJTO-G4P4M4J4 +MA2B4B4L4S'*TQ4TRDTUTVG74WRO2R0(4RTYTW4T4[3!4\4V4]'(TZG?TR5`5 +M`G%5!GK5"U#G35$GSU%U&'05''H5(5(TSTN4K4\U+'$U)H`U*U-G-U.GL5/U +M0'*514F2OGSTOU2U0T^5"54G_U-56'"53TNU8)+5959F^U:U,U#5=&]5>525 +M?U.575%5;KSU4X4JUZU\U]5]U^%^5 +M[UN'ESM6`4$UWV!G3V!6#'%6$6$G$6%V&'#6'6'SVV"V)3SV*6*G-V(V,&]V +M-6-K7)]V.V/.GI]/4R1TI63V464OP.8A^V6V6A\6767V2R?V56:V;6;J/'^F +MPV8F+!^6>69RB5JV1&MHOV=V76>V?O;VA6AFLVBV?69-`VCV@2DVEVF&KVG6 +MI6HV96E5MVK/XV=6GG!VC4MO\6JVO&J6L!^VQ6PVIGB6S6SFI6L'-6=VR0FV +MWVX0$VP6U'JVZ6VMI[6ZPWK/M[(5W`SWS +M].%-/M51A-@7)I',_Q,W%.8A\)\7'2"7(117*)8)',TL5HAW,74Q()%T&1N/ +MJVTV8W:W1R%72LD14LV0S7=PC7`3WT+HHW$1NW@'_N'N!,VQDQHR+1QW%F06 +MN55)$T#LB-)0GLFH]P;H)-'LT7B-801)%(>S_4.M4QEQ$7GF.*46_18M&M;M +M-7N,TWF,[7LLL13MBM*I-,V)4Q?1O0O7[PGWFODVG)A&PW;R'WI`1?W/L6X"7U7HW7VK89W08/6NL98I7GX:8JV\&VXIXFXMXN&UXO+^8:V:+ +M-PRQMX(LE7#WZ)D&WM^PR8>W30,GP(0XY3O'YSP8->8[0UX\9:L2U\8=4/V\XJ8M9W[9NX*M>Y@Y%P&YJY68`Y#76W>Q(Q69>7I9=HQ+T-+8,9G77+]YL9U94FG9 +M/-`Y06W8SHTHS9]X'YHQ:YF9RXZ.`X8W79CQDY*7W(FT#WA4!N#WWN87+W-7 +MEVOYM9<6RZ`L_1E1I0J0HYR02:--IYVXVZ4H54+X89DWXZ69]H63XX(:8:59 +M1Z$Y(8_Y;XOYN:-T)X)0M:4M4YRYUY::@YY:(1?4%WS9FHDQLS_7\9-818*Y +M5ZE7*8%Z=8<8YN7Y/X.8GZ/IAXTLE9@0(9=HC,DQA08XU3O:S:TYB9&(>7WW +M>L[XD8Y7"9HID:W)(ZR:WZ#:QYI:U9GH%4N0!Z>XR8P'4979&GFF^W#9F:)' +MX&NY^X.Z?S&YIOG&O;*ZPV[8K8PYLXOYMZQ;0&T[.9_V_[2[-[$9`[%;5;5Z +M.Z?;2;7[8;1:/;/;:&O[3[7;VK[?Y_;>;A;A[8[$[@[CVT;B; +M+;9[F;D;;;9;<;HZ.;I[E;H;K;F[D[6[E[MFG[=[O[P&F[Q;M;R;0[$[1[J[ +MT6X[G;.W'[/[K;S;V;V[T[6[U[X[[;W;N[@;S[][#[^[B[Q\`:O;B[\W2;Y; +MH[Z;]<"Y^;W[47V<'&F<&<$\)[R\(;C<+\#8.\$7<<%;F<*\/\-\`[L;O;_\ +M2<18#\0;C\58;<2+N<.[;\&\8.N<9;J<:<:MS\!;G[Z\=<78S<=<;7U;X<[\Y\X]4]+=(=9=8=+](\I],\K=-]!=4= +M7<_=>]6]-;L]9\R]<]6=8]N]']C=:].=Q=L]2=H=5]I!=M=S]]]T]7^%]N;$I[]O<^8FW1=R>"L +M6W:^->)]J8.F/]\;]X-F-^'=X^&,1V]^,^.=F^3VYV?>5>$)?VH>8V]^0;[6 +MTVUVM]^]06]6H6C>:>==\^>>4>?>7^`^9V7^?>?[/5V>F>F^G32666C^D]$> +MG^J^K>KJ5^HV76GVI60[P>/&/>O;MWU7H46SGP>T^U'V^V>VT^JJV +M<>Y^Z>ZO!GDM%>[>]>]^^)^/&51N6^DW;68>L?"_#?#F+V]^-6LGY^\^N6?W +M0V]_$?)_*5U^7?$^-^_U4,/_'_)70_+[CV^F,?!H__'6I&[6^_0_0+.&+?&( +M!_3&,+^>4;A?4J_?6K?5C?.&+V6?<6S_:K^VO??M`_D^T? +MA^MIX^8_CVK?:IY?7>\?FV8IZ?9[>V^_J6?_2_KW:_J7&>^_R?ROPVU)X_%_ +MH_`?.?%V6VZ?S?X_Y/3_T?W?M?K?=?*_]?]_^?ONAA\"`/B!0."06#0>$0F% +M0N&0V'0^(1&)1.*16+1>,1F-0M]1V/1^01]_ON2/Y_O]\R1]R>62V72^83&9 +M3.:36;3><3F=3N>3V?3^@4&A4.B3*52:42JE4NF4VG4^H5&I5.J56K5>L5FM +M5NN5VO5^P6&KTB4V*S6>T6FU6NV6VW6^Q62X7.Z76[7>\7F]4ND/M_7_`8'! +M8/"87#8?$8G%8O&8W'8_(9')9/*97+9?,8RBYO.9W/9_0:'1:/2:"`@*96YD +M.#0:B`:#@;"`6C.6R&1BJ+"`C@J. +M$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQJCD0&R"S0A +M%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\ +MG(TFD>"A3(S32HT(;C48"X$`DB"%H;!HX0TC:UX4#J-@PNL. +M00"D,HS,*THRI"-PQC*I(PCU+-A2&S#MK)\L0H-,KRDY +M`V#8.WXZ!90=@4G2KQO*B[P!7%=PQ85; +MXS,\,-E@4* +MB:,!;0QUMDS2-AI(V#J-HW3-I@4"3%*7A@V&$MMJF)CIBN+UK6^NTCJE2N33 +M68:7K(4#?%-$C-8VL-A-.N;8.MM;+MF;:H,,_197XUZX&,NC=OXP[6V&W;LV +M&6;F%&79@US59H-&^;9G&=#>-FY;[?O&6R-$P42.^]:UH4=Z+:>SC)M.,#<$ +M%SU=0^_Q*WX0#@UHRC=A.\MKH=FAF&5GKI:3`";,%7475UN!K=U"71;Z0CF- +M(]>;=U*7-Z.47[T;-TYYULS!)[):#Z\IRKG_RWUPM_=)='G\_\EYWK5-5LC? +M,M_;[V`?@V*M@N/"!J84'#&WMO),.\LPZ+$1!P78^$)S_&`OS1`MI_S6X*0! +M!D#)'1Y2R%"1^`HKB02N`T.F"X_P,R30H20A`%I^08+0+VMDY!A`J!J1XCY! +MZ0"=EM(N9(GY+85/#!O"TNR#R]F`@T#-_S20VL$<^T,%I5#]$M6)!B\50'(+@:$"IS36-J$)#K3B71\-\3WH4#,VRD-%$G'4I!0%PV, +MF$.G9"X"F;Y+Y`@WJ62XG\6%IAN:@Q\UQ+S%5!P,[9%$RO\!C2OCLXK%6#S),I.L<P8*`@V+-U5V +MNH205PPP-TC5,!E:RX\;Z>VTCI#6H,>+>0AB]48MMPJE$I>%@Z(Q?)$3L.I( +MUL:B5JMX#*V51-C0935N@HFRB*E'7[FJ[N_9A[;7>)?B]*8;T_8YCH<_(43H +MH!DQ9)"D&0F/XV-,&(,2YU$T-;4YU1+?LG!DQ6&,Q3'VEJ)2M%)PA^B45L6? +M?&\"@'=NM#PJBZ3V>#:IV(3`'1!Q<\XR1ZPXD1`&??*C7'`RWTJ54[]FY<"-T]G? +M)NF\403=7[@2C6&*"2?OICG"*)UZ8A3F>;)N,'9W#Q4W3LC#[@18IS?55^(L +M#W.==/"9`4+LWTO!;F^H`DP#ED'BJC4F$AYJ;IW+#.4&Z7#QB#'*T3JQY-7/ +MC#[%^3>:&ZHP#[DQ,]L?,)@Z>Y6,1!1R1R"OY7]9;:U?KFZ.==<:2BY%C/SI +MUVZL&%0%]T1MB8%P1>T3^3S,7$=1;73%O==DKTOL71>_]'[;S<&W.6(=_Z"& +M7@_?PSN[191'O?@.E=@Y.P+,+J6C/F!`TAI3N$9>.W(;+FX-PW]S.`[A8;O' +M8JM4;X($#MV$@@5\'(V7C"2#: +M^4!`"(#>`4"B`4(""F5N9'-T'1'4W1A=&4@ +M/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3-2`X,C,@,"!2 +M"CX^"CX^"F5N9&]B:@HQ,#`V(#`@;V)J"CP\"B]$(%LQ,#`U(#`@4B`O6%E: +M(&YU;&P@;G5L;"!N=6QL70H^/@IE;F1O8FH*,3`P-R`P(&]B:@H\/`HO1"!; +M,3`P-2`P(%(@+UA96B`Q-3D@-3(V(&YU;&Q="CX^"F5N9&]B:@HQ,#`X(#`@ +M;V)J"CP\"B]$(%LQ,#`U(#`@4B`O6%E:(#$U.2`U,C8@;G5L;%T*/CX*96YD +M;V)J"C$P,#D@,"!O8FH*/#P*+T1E7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;,C@P(#,Q-R`S,C<@,S(X70HO0F]R +M9&5R(%LP(#`@,%T*/CX*96YD;V)J"CDY-2`P(&]B:@H\/`HO4"`Y.#@@,"!2 +M"B]2(%LV,R`T-2`U-C<@-S0W70HO5B`Y-S0@,"!2"B].(#$P,3`@,"!2"CX^ +M"F5N9&]B:@HQ,#$Q(#`@;V)J"CP\"B]$(%LQ,#`U(#`@4B`O6%E:(#0X(#$0F%0 +MN&0V'0^(1&)1.*16+1>,1F-1N.1V/1^00)\R.226325]O:52N62V72^83&93 +M.:36;3><3F=3N>3V?3^@4&A4.B46;O>3TFE4NF4V42)]U&I5.J5)_/9[UFM5 +MNN5VO5^P6&Q6.R66S6>T6FU6NV6VW6^X7&Y7.Z65_OFJWF]7N^7VK5!]OZ&5 +M:L77#8?$8G%8O&8W'8_(6V[X%_97+9?+U;,9O+9K.9NHX+)U&G7C`X7(ZG5: +MO6:W7:_88C)O[2OO3;2G;;0[6\:+;X/0ZBLR>U/G'<:M\BMJL/2<_A]H&JD`M'`:$P+$\ON)+]$1E-B33'5:P +M3*]\O5G0E:U52M<5S72N3F\$,4]34-T[3ZIU"[#R3_4U;T%1T4RP^,$Q[`\= +M5I'=JT?;%=VU;=)UZ_5?TVJ=-SO#,\W##D1U')LK5=9MF5=;-4T395%WK:U; +M7C0S#&;VYABT#7O,T61=BM^ +M8_H.A,A;T`5_3%.V_#L^61ABVZ!H>HZEJ:W:*JMR:0_^KM[E<".#I^-ZIL6Q +M[(L[9LHS[+-OM&TOWMFTZYIF%K=0.R[MN^\*RT;2I'A3R3ZVL1K]8NG;SPW# +M\0L$^<'QG&O`P&W[:?Q[I#RO+]]W_@>#X7A^)XOC>/Y'D^5Y?F>;YWG +M^AZ/I>GY-P\%VOJ>S[7M^Y[OO>_\'P_%\?R>5ZW(>Q\OU?7]GV_=]_X?C^7D +M?/T_;]C_'\_U_?^?[_Q('<#\@%`.`D!7[NS2B_=_\"X&0-@=`^"#EX`P%@I` +M(?$!S0OH@5!6#D'8/0?A!"&$4(X20EA-">%$*850KA9"V%T+X80QAE#.$)`H +M)C]AQ#@?$.8=07=L_5VD&X:1#B)$6(T1XD1)B5$N)D38C#XAL[>`4/!\#X'Y +M%2'P^H@0)A^/^`3\XP1AC%&.,D98S/$BK%%VT4XEU+^94RYF3->!,&*DV[J= +MKSI]SZG.[6>[N*`3OG1-J<,[)R3<=W/V?SQ*$4$HA&B*$?H+0>GK*J3,Y9%/ +MQH?0:A,_YR41C]0>!4Y9SSCH:\.AE!:3T1I<[V>,/*92UBU/:9-)8NQJ=_#: +M>]`9QTZH[0.E%(*AOPG-3FG\ZJ$4\=Y4RHM`*1T?J%2&EDY:>T"JI5"H$"HU +M$#I?5^>,5:Q5CK'+B#4UZ64=G71ZK%0XHU:J=6RHE6!OA;JZ!WMH+`X%LM:FGMH8P3=P--^@-\;MSBJC?6PE`K,TCP+5NDMQZLWTOI?>;U +M^8)T7LC(B[5:\0/!O);F7N*\4W4HGB.+.,KL49O_92W>+[BX@Q=CJ@F(I28D +MMOB?'V1A0K%ES,$7OR_EW+ +MF!\QXYS)F',^7:4UXS+E[,6.\V9HSCFK.6;LTYWS-G//&=L!9ZS]GS0#S\K2 +M#RQ=G&[TJMVHPK>'15CKUZ8TEIV\^F]%Z7U#IG +M#ER-.:GU'HW2NJ=4:,T_J;5FL=7:4T%C'(.,];Y.Q-H?+=O]6ZBO#2G8&P]2 +M7VT]K+8EP;W;(V+I+86S=?[%V?L?6>U;F[)VCLZRNU-L:C>CH/)F_[2;\X!O9Z&X, +MFW\Q+-;+5K]S8'O1P/?/`=\<"XEQ#BFU^([=V#O#BVT=_;RXOA'C7(]Y\@XG +MPYYG!M"XVRA>C!D_;$\UXWS3CO- +MN"ZVROKCI>NN%:\NAA'D71-B=#Z/T7J/0>M<8Y]TCHW6^>=`YQQ[L7.^<]EZ +M[UAYO*K;99ZA=S/4[;Q]4TSJOL'%.[=CX!WGLV\>^=IV!W_NFJM0=W[]X7O7 +M6NDY*X/DSE>3]R9MJM4W"^=.+294]Y[V=W;/<4W]W[[XGQ9>?`X1D/M +M_QOF?-E[\BFM_==\M^=]7ZTK?H;B^%W?4L&U*?,LJ>6H8GVO8TU`.\'`2ZN +M\"]&NZ\3`>[ZZN\%`7`B\,UD\6HH\:_V^BX2]RS0QZ_D]`>/`*XVVHM\Z_`@ +M\!`JX)`:Q5`5`M!@ZJ[1!?!2WP_P\8FDUR_XT,_\W+!/`&PLJXJN\H_$W/"* +MP4L2L!!^V7!C!7"8S&\( +MH6PG"BM@PHXDV5#9#M#;$4M<>!#O$7#FWU$;$K"TUK!P]LW"IM"_"A`"X?`0 +MZFN@X(M`MW$=$M$G":W2Q7$C%;#I#C%1!JZ\><^S$XX7%+!!!"U]$HI0X;"6 +MUA$$UHUA%3%E%2Z`I5$E&+&4^'&7%=`E$Q#TBLGH[;!X\BP_%S"(P#!]#-$( +MPQ"B>$P3"*^^_L_<_O'-'*[DPRP^SA'._;'<_B]?'1'?'(_-&@Q&HM&I#\]U +M$"M6LR?-'\^O(#($RJ_RD(IFII"\X7('(7(8C,IC(.DM#Z\A'W(;(K(L?A(? +M(@F+`X^5![(O(_)`?)(S(@\>^G#^ZE$A'F_K)7';'')9'E'A):SVS5'6Q?)A +M'I)C)O#@>3)'(/)*Z?![#+'!&3*)#E`G&)**\.SO&Q"DE!&;%C`K"VF)(U(W +M(2^6H/`=*A&ZS-#-!#!#7)2LPP\LVDA+[-;$! +M,`\9,%,Y$[+U,A*[+],9#5-'-Q-)#',PTK%)-6D?-=-++I-A`S-E'S(G#$^' +M*/-[-[.=-Y.E+9-,](KXO;.:CW.?.FU;*DEM+1.5),]U(!%9)5)E)?'K/-)U +M///9+K&XQW"/#-$4D=/7/K/4\_./+/))/#*`W))#/_0`>W)ZIG-G(50#0/00 +M]G-C,W/Y+5030?0@>10&IE0*^70C0O0P=Y0FBP^#"_0S(;,HS`^]*&CM1''^ +M>/0W(C(X_[/]0_(71#)I+M*:C'1A%Z>-13(1,)(]1=('1J__$_1*U[0E,U/! +M0[0-1X]XJ@KO&W(!+U26_'%,W-/C/>IW"-26Q52L]7&S&Y&Q1Q,&^E/[(I20 +MRHK]3+->O2H-%]331-3+35!8_DTBN))2W>O(T[-L=_2]0K1W3&RF]53>_K3E +M'B[+2PZRI4N_'`OE)Y2)/W2-0M3Y3[`^Y*[BS[3\OL_5.I3G$?1)%+2'072+ +M(E/%4>^)4K2;4!4I4C&W/@[K!=3I&0V]2[47)]0:^%5$RD\NP;%TFY-55RP< +MP941"&QZP]2S2Q"'.R=]3S5G0]5K(%1\>G/FL75C0)632/66^M6;6=1,Q_6C +M0I6G4=6K6_(#614;3W7!7*^;7%5!3"GU+W/M)S/N]8T0]/)1$)/A5*?=6S## +M2$>?6O7D>-$.GY116W0Y730=)=-1,M.Y&%7W57%T]?+O1F?74">C,/!'6-&1 +M7Y85"!871O8%15*M1W&Q.)-S,=7U3_7G9/&%8Q7R>I6>_91E557C9?58GY!! +M7117&K(HPQ,_9'.W-_776+4'2K6'.S5]7O"0I-1A9;5=8M3G:8G32U7\U[9K +M8[1S3!8+.P\Y9[81:;9-9]-/:)7Z?"J6P-8I9=:=:S977Y:54-1K;*IA:I2_ +M`[5I4M3A839Y.K"(KC+;;I:^YA;"?!:*N-;3<'$#:@>K<-:C<+;.=O9M8_1; +M;7#K;O+[:;#A:]-W1)P_M +M:%&U4%5_6+-M$/=K!':/Q=[7W7Q=L>+<;1U1;7-?$^+>_:M;G?'?0 +M]Y?+;E65?3?77E7_8@C*]D?I'3=*HY=K6;@, +M>W79"%%S&O4[.109>)?S<.[P\+8;8S?_892`_)+Y9D_9=U@\>S;LHY3/C +MA9;H[EAM8G>->;:#A$K?@9@TJ-5VO3:3B/;1=!6=BHO?,I9-A]>%6E@A8?!E +M+C-]A=39BQ>!9)GAY=OD;DAD?2!CI=\O%?UDJ=UDOA5!;=A*C@I%!EN>^O- +MD/`OB92FP%CP>]2@O5"!@_8!95A"_)*95]:G$RL:K)CXX=B35Y7A7[=+E+8; +MFG>=9F__6S@&?+<#EA>OC/G)DC>I5QG/:/A,QEF?$W?-?;3)8C;_2#?J>ZIC +M!RFC6[7)4@?5@`CSFQGKGNUQGSFCGKH,QU(>F&C9B!@CH/H%(-J._Z@CJUJWJYJ[J\?]G9I;7'J_K)K+K-K/K0(S()IE2-I)K< +ML5I9@C(3K?KIH@NMKE%MKKKT]^Z9?GI20RB=L#L%L'L)L+L-L/L1L2A!#VA` +MW%JIL?LALCLELGLILKLMLOICKOI;KGKWLZF7L9KQG?L]M&E_M`G7KSM)M2E@ +MGF@IM/M%M5M@^PA)K;MCMJD^A%6FE/L5MWMYM[M]M_N!N"A=KO0ICW=2@GN% +MN3N5N7N9N;N?#O%HE:K?8E)OAON?;ODBSH7O+H;OQO^>UNUGPBO0* +ME/P!P/OCNC(VFGO[FY97/1>3PA?VP&PU>5PDS]'7"/'%:7PO/97;CM@TS+B= +MFD]1'5G5'##.IP>7M!M8@IP+N\M%F-O3=;LVZN&[Y!=9%:U*&V/%PT_ +MQ^S3=BRYDU8#LU'QO;H;F#DWQG.+A[4CQXXC""K;PFVUQ$UKLUI?R5C! +MG%C5R?T!C1;S"9SA3BM#$*\G9GT+S7SE5>K]5>PE$!$*V=FG7M>]NCI:\;NK +M/'R_E-R=T_BWS?S6X%TG=%S1T#U#C$[US-4TYB_11KQ9$UTUM1)/C7>[T7W0N#F_ +MW7WCW9FKQ#=IPK1_*7UZSQFUUATQV7P;P1X,>YUBMIUGM?QAX/X<>GX3SUSY +MX?XHZ3XEXOW,FSO=XKXXF?X'X5V9O]DEFWWAW;P[S5WOY3/-Y1Y-WQPMP=Y5 +MWMY72'XQ"[UIY%E;.CU/&-QCVAT_VWUW==Y[VIY\CYX_XQTW4)S/Y]+?V%VS +M-+Z=V!VCZCYW&7S!YKW+Z3S+V=UOZEUWZIZ9*)[!Z)ZGUUZ?SCZ-ZQ#YXRR9 +MS[%#<3Z#:W[-Z]Z;[GZK[%[M[#RU[3V5Y!X+R'C/[/[K;1[O$C['[CZA[S[) +M;OZO[[Z1YNP1TM;-\%.E\/\IC_\5\1[1\)[UV#[YW)[7ZUA=87\+%1Z!\O!? +M]/[I;M]5]++E\_W+YMX9V;Q=YC][Y;Y9]S]YY/YI\= +M^/]%X[^58Y[4]OS'W1^7^BGAZ/^1\A^E^OX]^;G=OK^A^Q^]EC^I]E^YX;PI +MW5^)]W,ETM%9WY_1P_7_Q1T3G'_;Y;/7^%^!^'/;^-]!^=[8@G9@'T(`^H%` +MX)!8-!'_`X3"8%"X4^H9$(E#8G$HC#HI%XK&(M#XC#X/'(/")!')-&Y1&I5' +MI9&9;'X;,)=%)'!9/*YG'9S-Y;.I]/)W*9K!J!/Z%09Q1J31:9%:'3WT^'Q! +MGX_*E!ZK5X:^ZX_G^_WS7'W,*K3XU4+1$(92Z/2I[3;99YI1)!9IM;[;<+Q< +M9[.9+=:'?*1>\)@\-;J#4,%B,9>L/CJ-:9K6H)6:G5*MEXA8J]8+%9'Y=Z_< +MYEDM%I+SJ<7D)/<[5:\!-9AJ]5A<;0M'L8GSM^3P=IVM3BJ_W>/Q>_%O-=X5N>)X/1\?A\ +MZ=LOEWOOY^#VX+S8$Y[,,H?[IL\ZR"K*DD$OJ_C=M0]+]/PUSU/*E#WPC"\( +M-:NK9PVM$'N-$$/K9"T,Q"_,30D_C_'U`$#NBK:NNHS\7/9#L&(0\L2Q%$Z2 +M0Y%*0Q/';Z1\IR/MX^TAQ1#$E0TWLDR%)U]7]@6#85AV)8MC6/9%B5I%<6 +M3]+49T'9-I6G:EJVM:]L6S;5MJ'9]N()CB2U +M8A3K7TBY=45;6%+8YC]8Q_2E$9!CV0Y-CV+XN\6121DN-Y/F&49E/5X3Y<#- +M7I@E[X-A4;8TO\&Z$[.B)IHNAZ-I.D5+,SN3Q*.GL@NVDSO)Z^SRL^FOMJNH +M:LP\IX#`.VM+'TCI'KDU:ZR.IP[NDY:#O-93=.>H +M\`Q.P9M6N<.E7&"[,T6253@^UYCM_)8[5^Y5#NVZ\S"N\0=P,XK^W,1[QS6] +M2EPFQ8%L?$[+9KL;3OV%-''-/K73G;=#V_:]QW?==[4W++IKW,<$X?8O7TL> +M(WHD*>!,/B=)P,P;#+'57K0-=.51L&4]MV.YEFDB>;O_D>%$L2>?]$VEPMY6=U=!9[[/'/Y[GO\GMGO-_?.^1X;IGVOI<\WQ4;XF^OO@$;]^+ +MJ((&;?J]A'\"GSO=?]!ER+_V$H]@/`R#\%WW0#,`F5!;6X0PC0@Z=ZCJ7$/6 +M7(OA1CLV5G;4E!B#<&H<,HA.F>',/X=O\(IIHD1'B-$%1 +M[-8(JV>JSM^SBU_Q9BU%N+D78O$'>G%2%\5H*1?C-&>-$:8U+*?DO!>,55[1 +M7=;&N.D=8[1WCQ&%PZ,(8.*CG'B0$@9!2#7;'ILS`XXQE;FPA*<38H/_D@R5 +M54CX=2.4W$LR4EHGR:5A#=XRAE*E$5!*%URE(B2G8BKN0T;XQR)7+*9U\3(# +M0@EHP>!LLR=-9@[!Z6L*C@06BBY!!*;WN0(F'(N'K1Y=E/E6O-LD4)$DR94*J=C,C(DS^2/#M[GI +M/ES4)9^43HLA63T%T)O'4X1ZD)&:1T?0=24A;N5>4)D0]>=K<&?RRHU1))96PVDK&*B40>U%*%L$6=2NAE"=]4-J:2^/ +M#16JLW4%SXJS3R@YKB9.-K`\%%-8DBUDJW,%!E+(X4NJC3"6,_*O4X:U(NN< +M^JX4^KN^Z8%9W(-9@`R2HD"+`(VJ76N=-3IGQEH*[>1LF[(21B=3*2MD;*IN +MAI1!Q]E[.639!1V'S++&T"M)0&TRBJ#4ZH18FIL$J%S0;/(2V5L[:6U6'6R5 +MM;G[VVMY;VWUOR#6XG75"W=P+C7'N1'>X5KIV51N3<^Z%T5_K>*K=6ZU+88W +M%)#)A_3#&*7>E30Z\3%;PWDO&I&4-9HB5BDY9UY5CKPV@VSQI*E7H=Z[J +MRE]9*7\9I8A`-UL!4*N;=IYQ/FU-+F4TK!>"L&8/311A/++C85[+;-?"M7X% +MSZ;L<67DYS3UTGJU^IB?1^XGQ1BD?MV(_4-R8&/\10/1=BK)&+*&6QI(72ON!\:914)8#&\Y;777*L!+GVN-\93 +M.QH"TN_=_<%VK2MPNZ<5[KR7=+AW#^(+J5IPK9]SN(\7XQQFV_"=T\5P-QKD +M'(>1&2XGQWAF:N1\IY5RM=YF.*;W[YWS;&F.-J< +M]YUB72')KM<3KLG[#3VK&A>U=6F9QS9W,-H2DPS1'M?9]>=D[K9ONW>>S=BJSD;9ND>/ +M:5H=K^;E.^\;ESYXGL/?>FO)V1WGM'1-T=&N';KPE4IC8Q[WXK5/2O.^-[3Y +MZC?CO&/PZR57K?E^D8NK#4'P^&_0U:]'[-O7IO);;]KW[(OJ1^>KN9<3S-A_ +M8X?]M33I_N>U_)])XGYGQZ<>^*E]/ZGU.N<-4O9KMG2N=;YWET#?_X>?D=Y2-_U2I3.@G.WEG\_Z<1XF?[U7@^D_U_Y_VY+^Y;[_+N#BS_T +M`L`RV;DHRCU3A;Z[E$`\!\""04!(S4!;_3%T",#$#*,[DL!D!$>,>4><>C +MMSA<,;=4:;S,:L?D$4*$*,,D$#[$?L@D#4$PJ<%$;$?<@LAD`L@[K4?,@4!T +MALBC_T";HL%,BLC3_LB[RLC,CS[\FS-J,"-L1DE;!\9KYKY3S,\L;7ZJDL\N+&!OTM1'B3Q]3:[@A_;:ST[ +MR% +M!-($GB]U!U.TT#7SRM?%*L@%9U +M7%C3"=-!M$^"65IKK%G#:2%=-(OU0=>]95?*YRL,9MJKT]I]7:J]0-;U.-L; +MODM-2ML[`]05B4B%BEI-<==D_]JEX\W->,Y\_M[= +M>M;]T-3=T"^"F!UE6`4A:_%`U +MGU_&$,QM_2=M%XM:MZMV-AEX1XN*= +MYL7=Y^&F"%TF)DN^)TQE^%R=2UP]VUR]ZU6]R318\-O^-5Q.+U\^&JM[.%"& +M*UO-X%H.,\X]RM6&->/3"V-UU9(-STP^.>&>.N,%]-.&*N/>0EV51A*-VM4] +MXUW[7N0M8@[V2URV15\UI&#F)=;6062-,>*%V;#MXF+F)N(+LMMN55K-;N*E +MYV1>448N1V4N'&3-4.(:L]==85\F7F-F7MJ$SU>5\685-5_XS,-F)4"[?9[> +M$6$%?Z'F2=_:(U_K@%^N:E]E^U@52Z'^;=\.9L/$V<&E&V`F##\E$KES_#W] +MF.=F>:+,E+2&>6>F?)??V@&@Q<\A\A."V@^AA=&A, +M?&@NANB1:L*$*5%$66C&C.C6C>CFCNCT)-64:.7$9A`^C^DVD^E&E.E6E<)] +MY\?&!^4>B>F1?,-G!=,($RVG.GI;D/$9;`NGVH9;40YN>F.HFI):> +MHPD,1,>FI^J&J.J6J>JFJLKFKNKVK^KH^ +M7.LVM98NI@HFI&MFN)7T9+`>H,VFN6O"E<2>GFO.OI*<:]-VJVP6P>PFPNPV +MP\;]Y\=.D>H19NQ&Q^R&R.R6R>P4>S]^QDVF=6OVSO&A]Q>:%%. +MT&OVT6F&M6S6TVT+CF@>U.DF".UFUN@4"F@F!6V>T[A.>&#>U6TNW.N.>S=& +MSY7=GJ&N%9:>Y&:KNY7NY6;]3R.RZD1>XBQZ`5*[1L^*T,EN4[Z-IYH&,@VR +M0DL-`6A98#R9XZ`^5I8.\&*5Z>3&8LN6\6#4H[/*H%^6D[V]2_$TZE. +M,>5^]JG\G>_^]^0;R$"2-N9^.RXHN*8N-[;:E#U&]5YBD666[F^._"=SJV]F +M+7!.L3ZN=$]#*$Z$QB7V6DNYHR!7#M;&3E+'%DZG#ZUJ,6TEN#+.2";_$^6L +M\3S>3G`].[#?%_`*FN^4\J0^!4S#J6'C;[*B$.8!]O"5_/#$K/#7)6(F8S#G +M(IZF\G&M6JH6;M?^<3GNXZ]:LO+]HFY>YYD:_6&/-7-.:Z0.\>Z?)$#6`^X" +M+V)/!CX?.O.ZWO/.LFU?/NI7/^4?0/06HG0FWQ9&YU^^,17G1C6Z&I:O2&;W +M-L#>^>W'2U=/'^5>[6[_(9IO.SV/3D_5E_3&\I7_ =Y-Q_4'1W3V5W+!\W +M+64.T?/5`BJ=@O*O*:BE3K.E@=3_4F*E!TTJ@E?G55O?&76NV&QM$%YKQ?64 +MXC;F]W&`\6+/!^2G85.F!N.FS&=,//7/74Z_:K*#@/:&^'6>8\WZQN/W5W5: +M0'1.V+`V[-X''W7E.DX/>O7=IM+O""O^*/=':7./4_+K@#,.'W9#-W)MU_>Y +M,G9/`<3[5(O1O-YQV_K&/-UFW8W*1N#0"4'2O2EE'!3 +M]S^'>4A<`W.RZ-Z^">X3K6ZCEGF/F7,^#'FL`75'0^LN?D"O3/H'H.UVVW9F +MS.W_HNH>U&WOETVOIG0;MT$^B'HGJ7INRVBU-VL'KOKWK_L'L,(FD/K>:'L7 +ML_M'M/M6KNEV1FN'K&S>FL'&OGN&ONG>F_NONTV6NT&GO/O0S'OD6_OVVC^4 +M/2">RGQ'Q/Q7Q?QD;^K$1>K7M?R7R?RGRNC?BSZ>LGP?PFV7S7S>X.M&INM7 +MS_T$1?P*/WTFMD:,2/NGU.LVP&TGQOV7V?VGVOQ.Q7MVWWVWW?WGWOWT>.RT +M@'6W0'I?UV?^SO;W$?XVF?IWF_Y>"_YOJ_Y^?7H6V_G_Z>?/ZOI/;_[&B7GN +M>/Z7[N=G[_I_9OXM]:2G26Z&(_D/37D"#',AVG-E$F$_2O2;*="4FB)&X^%! +M;&Z0?@@#\@4#?#X?4'?[[A3^?[_?,*?;_@\3@43BT7C$9B\2B4(?4=C\ACT@ +MCD8D$;D4:BTGE4HDDIDLCB*O=7OU_O^!H6#NN+RU:K>9Q&0 +MSD6L,7@3]T6CTC]S\?M4-A\*MS\DT-F>PGMVP6.NDIH$=PVOW4-W6/QNUX6, +MW<;V6YS49R56X^XPO`Y$(WVSQ.7Y?!YU0Z?2V/-S&,[\G[?7O69W'%SOIB^G +MBC\@OO^'PF>IMFLT&N\-%PF5[&7Z+RNJV;]N2\C;.(X#RP&_L%MD]#Q.\_C# +M05`KAO\O+^.2VCP/,RD"0,_SQO&Z#U,Z]B#K&^+X/DCFLW&=0U9-CG5[;=&1D[M$VU;EINE$4AQK&CI +MSK:-Q6E=S..V_ZC.K(DJW+=M\5A&EH6$]5B3%,=CQ;9,7OM3;\7[A.%87AF& +MX=A^(8C;6%LWB6+*A?\68/2SZ67->+Y!D.19'DF2X5BN393AN,V-CE,1A@^5 +M9EF>:9KFV;YQF^6+%@5+X)--F9SH6AZ)HNC:/G6-1/@6-Q9GUE9@]N3W>RMZ +MUS>,W+Q*FJ78OUN:U"]\Z[L>LQ):L'R'M+4?/G9>U?VY-#VK2=O@M-=U3L1 +M\ZF'&750,-RUU/W1U575?+Y_AR/Y7F_QYG];;UOZ^V_]V;W1^/??`YAE[N7- +MKG0:U]^:7'KIQ00O5)S@F^P55C!)^3]GH051V;V";8G^I[3HE^`$)2B.T@(: +M)\+0&/O92\\=]\+E@I\A&]F"SOU#/5@S#=Y#_GG+A;(Y!L3H(31%);"B%,*V +M\OD@TE^#;P%2)&0`X.'$/8?F":Q#.&*-GXDUBS""(4.D#1&C)">`4*850&;P +MYI@*S7>'1AA$%<3TF)O+?V]2,4H\PACY#1UC+(DC$2 +M("1*C8IR14D82-O=A)*2S))&/?D=`B-LEY)25:)*"3THV(R9=M&IW#XX$RDE +M9*V5TKT2QGC1)N54G982WEQ+F6\IC2RT:">E7K6'`NPCP[V8S9GK%QDK'1-D +MHC`-7;.N!2,88X&O403J9B]IJN<.\]./LK)>0%/G`>6LD'%G!0E,-K<4G'3. +M2?%Q[#IGX'8FF@*'9D5?OF40WQ^4\Y$3K4!%J=SL9PFCE]"V?"6YU1_FO#:A +M,,:&Q_1Z\*>IV87MN=%!N.+GH8*C?]1AT,UC,1$C)06-,XXURZY?<_XWTMAY.R.RT'`1`I9,5QTS3H+QIL^>G2ZJAQCI'!&9DVS'M_IY(F +MDQII4/BE_2Z+M%ULOW?V5=:]'8?153FN:L+TE/1`2$O2/JU(KU:.O4Q02V%= +M5&6K3E/59W\E9//3Z,M4:#MZJ:^U^$#$,T^6G'ZFDVIBU$CFV"&=%$DUZ5?1 +M=Z+:IKT:LK1Q6ZKZ/F#;15ZN%FI+U\JG"ROT,K+K`6]!-]M%K4U!L\Z2B,-H +M?KV5BK"D-@Z7NL@;/H=26Y$C;E2/81-*MT8 +MK:/\@53%:5,X25"L),FZ]\UMS=IHEVQ+N\`KHK58R$--J>KIF?@E+-A,(8`B +MR@ZO5[&>1HJE2B5-59=2OI)A_$5!+VR:O?2J^.(Y6X,Q5BUN%HL.54H1B[&F +M-<;,TQ@LC#N,\;X]Q]C]RF)93XQM)$R9YL75R'D!0Z_DA:,6=O_5YTYVIE8# +M==="8]PJYQ\P'EO(]^ZL'*S#2*]=2VAV(ECL\Y,J?G]K6?&:YH:?C+-=L:!P4S?#FIN3J%V +MVRQ>;)V>,XS\K?GJU-OKJ728GI[4%A\XZEP5>ME6C',XHD&3]<)V]*I=V_2$9O:?0YL79-AIFYCK4E/6=K'FZBVCK)XNTJ: +MVQ9MJZBL$3[A[(V%:"@*^=T&W2L26B=Q+).-23L+>&GW^:\R]L +M"[N]=*Z_3GO[=NX"]X5:)MRE,Y<4V(J*DTPM@*;V66]L^S1'&VZ`W5:I]6=C +M)[TUQ/;>?$X1(8VM4"NO$=?U["^.ZD_7M1FLPS!V5OKEU +M+*9<[\]6CE>R^Y],\CA'JLI>^]^+(SW5_-%A9MR![/VGJ<2891,:&ON1FS87 +M]I[_('MG)NT]S`/W=S/@?)^5\N1^/X+YGT_J>SA1\^`>&\=:.]Y]7[ +MWW\51(+"][[6:?N?(_!^G]4L/Q$&_)]&E?Z_Y?SDE(SULXOMY%:7ZS_G_?_/ +M_P`0`P!0!P"0"P#0#P$0$P%0%P&0&P'0'P(0(P)0"L,J#/R/RM&O]$QP)P.0 +M.P/0/P000P101P202P3000*C1OLJ#.9OA/Z07P8'9$4/_/`(V08P;P<)%$5O +M_P:I.00FQ9Q+QQCQ?-NQ<&&QAQ/Q@B_QFQ +MD1I')13E+,'#.QHC/KQ"<1HQIQO&C1JBT-UBOQLQGBX1NQOQTF/%M2AEX28141S#TR +M@,[R%RB2FG.2C16R@R;1EQ52IRG2KI@2H2D1L2K1B2JRL2P2GQE1:0U"!Q,P +MH0R2PRU&S2H2RRS(3PT2URY2BRQRYR[,6Q3R[R]132C2]R_)72\R_S!)/3`S +M!S#)%1#$JS%3%S&3&S'3'S(3(S)3)S*3*S+3+S,3,S-3-S.3.S/3/S030S13 +M1S2/7B(33S434S535S636S737S838S939S:3:S;3;S<33>S?3?S@3 +M@SA3@)4SASC3CSD3DSE3ESF3FSG3GSH3HS?SBSI3JSK3KSL3LSM3MSN3NS>B +MUEDA_3Q3QSR3RSS3SST3TSU3USV3VSW3WSX3XSY3YSZ3ZS[3[S\3\S]3]S^3 +M^S_3_S^S24!4!T"4"T#4#T$4$T%4%T&4&T"B`@IE;F1S=')E86T*96YD;V)J +M"C$P,38@,"!O8FH*/#P*+TQE;F=T:"`Q-#1HY`BI)!C`HO%[ +M2()-19^-):5*O%X)%RH8YJ5#N"BV*!B+1B-!3@AD-QD*".93H=#2;C.("F=# +M"_;^O^KBO(*]:U)V +MMKJ!N_R./V&JCAN$"Z)J@B_BFT00"2((6ALDXIC2-KLA0.HV#"U(Y!`*0RC, +MV[,C*D(W#&,JDC"-S2Q,UJ?*`)CRO.L0C).LRT+7!:+K>&:4A-SR3@ +MZHBC=4]:V%98QC>-H6R`]##/]33!!=1(B+\%`VQP,C"AF&#EBY*H97?(4[TG +M/-*A`K=,!="@9X?)H9R>!5#*!1-0!0'K"S\&U&!2S+;!;/SEWTQX5LQ@BQTD +MLZ)2/2R?/D%R6X?3.)0LO&,8#,=^A@V5G,S'*7W^S4P9XY8FC#8&A.6*X4U2 +MQXR#?,[F:,ZPW7YI84#>,0YQE,ST!MM0Z:J.$<;>Y>E;-N;EQ;4845+<^LZ;I^KZDX3F!UJHW#>QT:X(%HU\2_%++OYHDYR#.R?8//2=X6&UZHY*J?T[BE#XO1=&A31](]+E@8Y< +MGR+O_)N'!EUV;4]150N3L'"QES[,RO+(RCGY;-:E,70)#M`;C*,>\>HS-7#J +MRWJ.K=8VWUJ]5^XZWH?0(PTC/[\U]`P.4?0.8T<6W([CG<3A,R+@4!9-N[IK +M2L'PKY#"E-]`;@RF<>B:EZ)S@S'0#&VT,8:WHM*.$EYHKZ&D08=`X@S)CUW) +MT8H#0%QPT*+T:KA]4-H9 +M0UAN:U:<9&M)OC4NF-1E4KAI,V]I[\:`\@M#L&E;88CG/GC4Y`-P+4L!R#(M +M`D+6(U(=0^82*IVE1/(CTJ<.:JX2!4)H7]78:4KF%4`8E,`;`X/J4`=5[TG" +MTG@#*&([QITN`MDZ;I5[X)1@H6(L99`;5Q2OB;`)J1IY3/BBI*\S;:Y72G>] +M+(C.;D/"-0X&.7`:V4R5 +M@PM=DG+\%"UI-S%.K.F1VQ8RRL'0 +MD#`&Y)RMA47N"A]C[B0D^,$Y9"K17;.Z)V#))L-G>$^!Q"9X)13]L18F"@/` +M"`,95P7A)#:9@$`1`W@ +M*"B`H@(*96YD7!E("],:6YK"B]2 +M96-T(%LU,#D@,C8T(#4U-2`R-S5="B]";W)D97(@6S`@,"`P70H^/@IE;F1O +M8FH*,3`Q,"`P(&]B:@H\/`HO4"`Q,#`U(#`@4@HO4B!;-#4@-#4@-30Y(#7!E("]83V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M +M92`O26TR,0HO5VED=&@@-3(Y"B](96EG:'0@-3`Q"B]":71S4&5R0V]M<&]N +M96YT(#@*+T-O;&]R4W!A8V4@.#(S(#`@4@HO3&5N9W1H(#$S.3(X"B]&:6QT +M97(@+TQ:5T1E8V]D90H^/@IS=')E86T-"H`_X%`X)!8-!X1"85"X9#8=#XA$ +M8E$XI%8M%XQ&8U&XY'8]'Y!`GS(Y))9-)7V]I5*Y9+9=+YA,9E,YI-9M-YQ. +M9U.YY/9]/Z!0:%0Z)19N]Y/2:52Z9391(GW4:E4ZI4G\]GO6:U6ZY7:]7[!8 +M;%8[)9;-9[1:;5:[9;;=;[A<;E<[I97^^:K>;U>[Y?:M4'V_H95JQ=<-A\1B +M<5B\9C<=C\A;;O@7]E,#AAT>ET^IDM[IKYM +M-W?NU@>Q>^UOJEM=/7.;([3S_-<^?[>'9O5U?E\_I]=9L^_>N[W>SM_RO+PL +M`T2%,(];DKH^*V/.I$#K1!+[0A",)0FM3\.X_RHH0[;O,"?ZJ'^?SMO$TCDJON4XT<11&D9QE!CAQC'3WPI(DBR,Z4++ +MZ_;30U#DG($J4H1%`3@1-'MK5M>-!S+-MN7 +M[?SYR3.UP6#3DF7#/5C/'/SA7E-$P8=9M'355,O*\]U\2[B&'5/?^.X\^N`H +M/86#(-D<.P_$-T2HA=2T3'$8R!6.7Q[,,9O;F&+0->\S19%V*WYC^@Z$R%O0 +M!7],4[;\.SY9&&+;H&AZCJ6IK=HJJW)I#_ZNWN5P(X.GXWJFQ;'LBSMFRC/L +MLV^T;2_>V;3KFF86MU`[+NV[[PK+1M*D>%/)/K:Q&OUBZ=O/#TK_/G/]1U/5=7UG6]=U_8< +MKTSL'^?7;=OW'<]UW?>=[WW?^!X/A>'XGB^-X_D>3Y7E^9YOG>?Z'H^EZ?DW +M#P7:^I[/M>W[GN^][_P?#\7Q_)Y7K1\_3]OV/\? +MS_7]_Y_O_$@=P/R`4`X"0%?N[-*+]W_P+@9`V!T#X(.7@#`6"D`A\0'-"^B! +M4%8.0=@]!^$$(810CA)"6$T)X40IA5"N%D+870OAA#&&4,X0D"@F/V'$.!\0 +MYAU!=VS]7:0;AI$.(D18C1'B1$F)42XF1-B,/B&SMX!0\'P/@?D5(?#ZB!`F +M'X_X!/SC!&&,48XR1EC,\2*L47;13AS%6*\;8LQ;0S$*,\=8[1WCQ'F/3RHT +MOI'U&P?L58_QOD#'&!$EG)64TI);P_D.IZ74OYE3+F9,UX$P8IS#EI,..4R)61DC]%IW!`YMS.=] +M%&;,/W[SC(+-IW4X7?SHF_..;T[8^10C]!:*T')J3'?20*13N9U//GV[MVL] +MYS4`FU/V9CV)_S^G90.?5"'B4$G/0F=U$8T3P@G/.>DJ9,1+2.B5+W?S0D)#R+$N(-37FW2>-4Z:4T;I/.2DM +M":>S9J&_,@D"J#4;=Y2*GL^JBU`I50JILYJ%U(JM4*H%.Z=4ZIA5UVU,HJUA +MK%6*FTJZ-SYJC2ZI=(*L1=I#4>D5$*DSBH].2J%5*TU2H10>H]2JJ5QI1."A +ME"Z/V%K_6VME#JO2_K!6.L0_)ZRJDS6>CM5;#O`KY%V-5AJZ6'LY9=^-`K-S +MIKM5.D-`:\V=KC5&UE<+!VKM!4R;EBZ)6-=W/*LMDY\65M37AWMF;/W!KM72 +MH-G7X4CKG;^TMOK3W)MC5BHEK[AV6MA<*Q5M)E6V=U;B8UDJ-6[M?;.S%>K5 +M6(L)<.<-IGW5]MA:F&UF:'TIN+<^T]K+$5/LO>^\5SZU78F9=IW-W(M3VF35 +M>Z];;V6"N-9:U5?;F/OO3@JG-/[\7NM[8:HF#J2VSOWANME:;Q7[O],[`%%: +M,2YIQ6O$;P<#WVEWBW%=,,2RDLC1F1%E+28QQSB/&&.J(XSE/C7%&.,?9%R- +MD=XN0)!Y"IOD3)&3\H91R5@*:M)ZT3\P9;ZZ-]LMW*RYEG+N"Z"9ARUF#,TZ +M\OYIHAF7-&:\R9ORS2O-V9\YXNSIF+.^;,O9USYGC.SSN +MG46ZN#[ZV)T1HW15T[XZ)T?H[1<^](Z0TKIG#]Y]-:7TI>W3VEM0ZET;I/3^ +MIM2:GU'IS5VF]&/+T#DRLVA#]C;! +MU]2;86R=AW4V+LW2FQ-G;5S7H"BF-(LXFMS=^CE3K!6;IWL39>T=-;4VEN77 +M>Z=CZOW1NK=FS-X;SU_M#:V]-Y;MW-OK=^^M[ZQ>3K/0>M=OUYW#M>^^^]E; +M(WCPJT'!N&[.W[POBETM_\5XGP[B6]N(["XSQ?9[S^!;=QOK:\N$<=\@XWQ# +M?'#N/\=W/QSEO*[H7\SVGSCBO--L4[P%MR[N-IK9.Y/BKI7*N/ +M<^XUTWEG.>6\[ZES?J//^HZKJ +MCJO;.W=LX7W'L/;=6]U[GW?IFONZ=[V/WWFVG.Q[9R#MO;7).C]GS)3ZI>&L +M\YPS_GW/6?O)9R\IY?R?`/,^0\EF/Q_G_(^8\YZ+'?I,U>8\MYOT'".@SQT% +M;?U_9="<%]9E'VWM\?^$R7X;POB,K6\\U[CX7PY>=DP'=[DOM/B?+^9,OXV5 +M<"_-^E].5WS\"8IX9/S3#[<-T&\=FWTWG?5_A_)G'$7I?5>G_3^+]7B_Q_K_ +M+Z/^'P7D?6^1XGY5S+U/5V@\NAR?J^3235B;KOSN3O#?;.BZ\`T`L`[8SP#K +M;M\!K53P;H3V+`,"SZ#[#+K'K/;U)X\`#>L!SM3I,"$!;P,$;/2Q4!D%<$[= +M<$L"4%[19Z+^SHSW[<"Y,#CI2OSM"JZ?R<#$,'[$*\RJ4'#BT%L(\%Z<[\\% +M4)$",%CK[K4)T)L$S!;UKHD"[6BW3_,&1YL#;GK"RAC#BURXS[T*$$D*4&,* +M:Z3VKIT)\-$-[?,*D.$&#>KD3W3H;P[V3@C*\+AYD+T`<)3+B;BD"CUR-RB[WSZ+!T1IX4(#[S<33"K2K<8:I$(+T+^;^4;[][^ +M3"<:K<;\$;T<,=#]K]$<$=4=K]CRL2T.ZR"#T++;S*\/RN$:)ZL?3ZD?L?QW +M"F2FD@4>KY,>\?\@\A"64>4@2FD@C_$@TA,B,B1^4@,AB2T/4+4B$BTOZK,JDSDR$ST5DS +MLPSA$TZO<74T:1\TLS3D,>,"LG]:E4LF\[D]D<30S.,#KQKE-3R]=9-=A\U=9[5'$0AYT#E<5+=$=# +M)XTZ4VD95==2,DM@M#4#R]5'5?52]+58DOU?REE@,Y3J +M=>L.M=M@T`=>4I)ZE9=25AZWIZ%DJEME-B=.%!5<=$C[L\]@%C;JTN5*SIRS +M$:D;J]+""T:!5D]E#_EA5C-H,JMAS6]2UEU$-F$-;^DX\Z<)D5],]G+S4G!\ +M:V5,%%EE5!WU?=BT_D3TM%J%C46MN +M]U\W%OEO]DRB=I=0MPL^EG=V\]U=%X%/]G$\%X5*U,D0ER,?;M#[:/=NM?\:]-RCUY-V=YE%5943=(L'+#M!%W-3%W=`EA;?[MUC +M\YB,KP5^$ECEH5>=S2T,L-RN! +MB,%_>$U-EVM_EU4T%A&#>%JK^#U8>$$6=7]X\5>$CVN&M?-WM7MJMF](U*E_ +M;_TT2MU&N(%IV$6&%-=WUHU/"46&]9U]T[,M\MDYLZ&'E_MD=MUT^%UQ]*N% +M+=O^)%RJYR^ +M&`%RV)L3UE./5?U#&,F*N`MBN'..BE;SV$>/$E>0^0JJ>2ECTJN1N#1]E2J\ +MF3.-.4F/>-:N60MR]'F*U:\6>,5UU@66&1&65'-645\ZBW\]*^>6=>-G^-%O +MF"UAUY.##\%&^!9X:QJQRL=IM&U7^1;/.&=7F3Y[LF,'N9]_V:KQN0.%,,F1 +M5M=YV<%_Y^B]ESF)3),>6949N5M8S*.;<%]<@*:285;N!#V^>6:\W +M=]9[^>CPR:.>]\>?N@B_TBJ8:-F=>@NA;'V@Z+.A.@6$.AFB:E\CZ020&A6B +MFC2KVBR"^C&B-.FC>D2[-!*>>2%\2CF=.E6E>EFENEVE^F&F.F6F>FFFNFVF +M^G&G.G6G>GFGNGVG^H&F=EVDV#^E#06H.I&I.I6I>IFINIVI^J&J.J6I5I:F +M>*\3"".K.K6K>KFKI_S$VEE3.KVL>LFLNLVLXC.&VF$[&D>MJ[&E6=DGNMVN +M:KN>J0:;\X>NFO3W*[>N*>R)VP&P.P6P>PFPNPVP^Q"$&NR$#*NJ>QVQ^R&R +M.R6R>RFRNRVE^ONE>N6O>SB9NQ>OU]&SNT2_[WE.FS>T>U"6,9J"FO&T.U.U +MZ6"BR$.MFV&VJ4*$6>Z4^Q.W>WFWNWVW^X&X*%VOLAN`UZSH^W6X6Y6Y>YFY +MNYVYZ&.TJF:-VD^UR4^VV["/&SZ+&Z>W.N^[.\",V[:2FC^VFD.\.]"2.Z22 +MV\N`^Z^].^$BF]A"5&^V_._Y]>[>>N@._W`'`Q\7`6@ +M"*]`>][]&"%W\EU=.:%F_"-X+/L[6`.:6;_"%<_"MQE6:UK0]&ST^72ERK:P +M,NDL6S.V2`O!F[\7=I-TMQ54C/=,'&3>]Y>65T=J/&>#D8Z^LP#5C7G$SOC/ +MV"9X6S_%G%N[VD.3$K/'DP_$%Q+OU@]UN0'*''EM<1ZMTR*U#K\Q?%4"\^7) +MDUK"6-7*?+'*_)_&_&F36*,V%ML4UU,),`,*"XL+C,-'').EO`MH&3EOW-'- +MF6]6G'L4DL_$,M'070//\1%7<&7.L.J^?1]7-SJB?%>=,#&O/%[RG,_.,WG+ +M70LH/25OMTG1=J5C<(N,C7#TW/6Z6NSW?/O3F4G4LMO4'6CC67>/#F+_='=GD,>&=_>?DL\?>OE7EW#_BG?_CO@7C&8 +M/9\Y"TG7DHO:WF\Z?GG3WGU0?BL//<,"]7UYWH'174_I/9_7WI74.&G:DWK6 +M7CG<'B_,M@G0'IG./IWGO&7KOK?J?.?KUQ/JGH;WOFDOZN>8GJ/I\V6,?J7* +M/N'MTP7L'J'M]!'L_@/HJ";,^)GN/NOL?L/N7&ON_+/P7PWKZ=_O7A^ZW@;# +M-_-DWP?P/N?LG6OQ'G4)/S'P'S7H7F7JWB&25^7?EOVWE]^/E/WWX7DWV$*_BWT/C7Y/LWV +M/X_QWC'Y7Z%+'JOV7Y'Z/ZWC?QG3/YV^_Z_[O@_T'[=G5Z7X?D_3ESL5'>_\ +MO#E?'$_#7*7]7W%V,'U#N$N(?X@#Z?[Z@D%@T&@<$ +MA,#A,"AT*A\.AL,@L4B$3B,6B45A\-BL>CD8@\CB\ADTEE$;E,:ED9ET8F$G +ME4DDL41LD(CE:D%@GLSL-LM=ME-GD58M5UK]WL=MO59NEXMUVO-O +MP6`LM;D=,@U+HM&I&+@54J%2JE6?D'AD+L^&H46PE[SN#GE=A51T4@FEIOV> +MU.@DNDS-RU]!S^SU>TP-SS>UW6WW=_T.:DF(@N*I6-BN0J-3IV4RV8@6NX&R +MCN]U6\P//YUNM%1[/5WW6[\2[N6A'0OO@[WIUGAEMHZGK]6V]G1X..X?&QF( +M?_(R7+@ZKK-`+"OHZ;X0,^2]K,[C2-PZ3T0.]\&PDS+3))!$(0?"\&M/",.P +MR]\"(,X2".(_+'/VI[DLF_[*P$TL0N:[D,/G#3?KBOC5[7U?V!8-A6&K%72=)\[Q0?;(UG*UB6?:%HV +ME:=J6K:UKVPH5C/L^]8V7%3_3Y;-QW)]\7S?5T6VXMO7E<+[JW']-.!1SGO+A*N86T>%8;AF$8A3$%NPZ$_R/5=48 +MU4..555-&O-CM3Y%C*)XI!:%Y"Z.28_DN/8WE^+N!?L3./65YX$NDRP(D3G9 +M\KN?P+H.AZ!HL"T\C3W3CI7X_(&IZEM^L2\\\*:SJ]&4*]NYSAINZQM$.:2CK^;X#L3R9 +M5MV5MAM7%Y=4^V2-(.X;WR6!S[R>XQMJ#Q[;RV^\I.-:\!6'!6_/5:87#>9, +MW&6*8K2_7]=V/6]G17:8GP^Z59R/,<_OG.3]S??;XTN?=9R'$N5 +M?KV;=+9MZ=U4,0NSEOLYAQE6;QX_.[MY_,_P_8U?0^==]D[ +M!PED4C1-<>Q[?&_W[5*]^W1]KO3KMZ?%`5L[NR5`%K#[V:P/3P])L+]5 +M`HO29`=_C^G^MI4,ZIX4`GS/,<["&!BC#M-.-S"6`QO6MP0=&]%@">VY!HPL'H=LLAY$"(3!G<0Z@S$.&C)H3)HAS$&)L2'U/-A<]`IK@ +MX9.%7W%F+46XN1=B\?6*;8E_K@BO!2+\9XT1IC5&M8+HHJ01ABZ>-DXR1R0&Q-6+R;8A)YU#\XRH`E(CA@T*X0)I:5!^$ANV>R6 +MEK+%##_W$)72R_EQ3;I?NZ:/+YHT+7`K^D,Z:/J;HHP*EA+F$,T(535A$^"6 +MD"T01,8Q-V!$WY>S@;6JU^"[9"PPD/,T\29Y%RZFM`F`D[YI/>FY/.:+XYZJ +M.4RA*'"?HDS_5!/V9YFI4/RBM(A3"%&#ROG=-E`TU*'0J-?):>4VH$T+@(1= +MVI(:-T:H31YS='3Q4?I&RF4!T:"QCF8]1`;97$T-I@=J>-$::06H&B^BL]Y7 +M-/=F\![#*%$T](_2)BM/ZA4W*W2F9;TX9OHIM0R>U.6Y-/IU1(TU%*:U1FVW +M.'L%8EOW4/5>KU8X*SDC#.>*L$GZ2LJ=3N)E4JLPH;)7&JM;7*UP@%+RL$Q8 +M,%9A-3^8-?IV/6K-,F""\9TTLGV[>=LF;'22BA/6R$F+)I8AK1B1-E;'R357 +M9B;T^D8T`4%0*15`9^(35Q4J=%*ZFR"M=:^V%L5>6JK3'REELK<6YMU;M$4Y +M9E6KJ9%BWEP[B7%C];2.%B;6W&N9.*:(T)HV"<&8+:*CXF5&:+32-#@::\V*8EP@'/`OM>*M(W +M;^\X?N(\28E'[=6"=;'=MYJ@_F^4CE/IE/')"NJ2+`U[HH\'#*.,=3"H'A[" +M>+,0F,Q-D7%%:\"3K?3,3"5E+]LL;/C.KF-9IS'HG3#V0,J2 +MX)HJ[(N)LCX#.;6"O2%G6.US<[>DV<78.VSD[*?5&\I7GQ[D&AY&8=. +MI!I=7K,%$ID)VT=B32$ZJQ.Y4!D_)VEZ09"P+J)"Y9*^ZF9/H,Z\P]=X_U]A +M\^>C-5:KQ/4O%.27K9=FAK+&#_,(8@UOL1Y3N:_XMUP^[065LUZ;V'AK(>C= +MD:ML4C&TD-[4:6UG:%%TN-#[1OT_[=UH\Q7HW;)3>MH-$62VANS>6%S#9DW+ +MLK)%S^$<)X4N?@FJ]S7+X7Q'B7$U?<-T=P^X7%.-<;XX@3BV9>,77X[R/DG) +M4FXBX+<#99V["*DX#I7>;]LI\PW_S&_'-><U)G:*V'+/IE,>G=(P]JGH'*;:W*XSI*\&VM3T.HAT_I'7^I;AT3V/L& +M8HP;DX=P;-""M7[.IGV>G78MP8[[ITGL/<>S=[[0NS(G5KDVLZS21.77.R:H +MJIUURG=_%95\3X>NFQNJ]KZ'VUR%??#=R?#XSR'B^]=U[YV7T'HZW4HY1Y3J +M_@N1:OOM@?S7D?/]XSYYSU^-O8^-GQS]L70>0XJY;WWVO>^H^DGE\/V65/C> +MX>7U2/11/G?/][LS=%YN7<`^MS;ZOV/M +M=7)OV?MX7F1$91^A>INMBK]W]_\7%_@MS^7T?\O_P`+=N"#$/Y/YO`OZLDP` +MP%0%H[P!C'0"O_0&0)0)HV.&BDP"P#+$/5/[0*0.P/%]0+"BP,0(P/P2P3%Z +MN+!\0,0,I5#*/SP7P808P909P:0:P;0;P<00>P?0?P@0@PA0APB0B +MPC0COH._L1P5!^-'NV"K0D0HPI0IPJ0JPK0KPL0LPM0MPJPE,1PFPG/*O@03 +MPR0REKC%09PQ0S0UPV%TP1> +MEM1OQ26OOIQ(HKTOPM/K/KO +M+PKPMXOOR6(,R82:29.9JRN!IRQ$R4F?PQOB/.L*)PNCFICY/DR@NEL%2I,+ +M2J/CFKR>R;RFH6,.L(O@%C1%2BIV*7O0OE,MR>D@-L.3#J.,X,YL[M0RWL-RH'OFES0*9 +M.!._'`P8,`K;+EMLFS3-3<34GU2T$(H;&=MIMGK(S4)[3&2Y3>M^#!2^!]+D +M19S*LKR:-;SARD,.3.*W$Q2Q&\RV)BRW3M0/2RGO@SICPRL-G)92N"X +MSZ3UO&TO3C2G4PB@2O4=T447R'S;2QTN4Y&LIO3!(`-N2Z)X3M4YTR35M--) +M3-H1RUS_R"O`3FST3^O72_4ML^T%3>$ES'S0S,4^NY4S*VGSU(S7.^T:2#4W +M/?+RT@5%U1/3(QR4VSSI$*NU0T^3\3DTG +MU3#XS?4[TDO'U5U=56D*D-5?R^OJ%BTV475:OUN6U)U=/E4ZS.U@$QSL-1UH +MUAU&5J*GUK#O5L*7/359UFT;5$4IR5SV51D9TS(EDE&VS_-`UMUUB?UVR]S^ +M$VUXCZ5.1[5/0$M"T'2@4FTEV"4%3W-^KU4-MZ2QTA6!TAG'5>6$3A4'6%U9 +M.U4K5_45T1T68JO/@6KUU$_VSO+JMU!3QUM6GUYVT +M-JL,-BRU6V5]UF4:U#U;#46R5I6^U$T_RZ,MU,U4VVVL6W3752VTU('<3#6+ +M6D6PVE+6U?V^6WVS/2VA5+FZU83@/;V_5UUBU`3CD&3(6[5R6\0_S:TL5%7# +M765=U'7%&XUD77557#W6JIW$W,C9W97&W2V+W(5S6]*?75W+562XW663[SH2HWMUYU[8=FM6J6> +M*[WM7R6LWNM27D8?UE5EWV603:7KS5/18BWQG.6X7GH&VZ5LXI6RWFTBU>U& +MVUXM5QX#5RX16EXHO:8J3%707`S"7&728TX>7/V(WCM?XWU)7>W'X#XS7),_ +MU<8IXY)AW`6Y5?'C8\8XY`/CXV9"$#W-SGXQX]8RW48H7I8MXB,P9%S/$:7= +MXX7EXU5*XZ8KY"J!7>9(/)VDX.9*5O7"Y$Y,7G7L7H3Q8Q9/9`Y%97W0CP7H +MY5RA8FRPY*XAWF3NX?'[WOXE8T8CY:TRWS5[I;7TUZWUS8P96Q+15%8887X4 +MX9+X4)F/6%7]6&9L9P88L+X!X`LH7\R]VOC&P7OTV0X+X%8/T2X0,1/XPFV3 +MYX9[P09YO^9ZX<9\9_6/.40"0P9[9_Z"E^:`P'Z!Y^Z#:&%S2&1ZZ":&Z)0Z +M/3P+Z(:%Z)Z,EJ04P5OHQ7Z/Z0:0Z1:1Z2:2PA0O0F73R.$GZ3:6Z7:7Z8:8 +MZ90D1R4JXG.L:-:ZWB:ZXZYZ\+4QG+_ZD:<:\Z_G0Q(4W;`;"$81J5_:N[$[%;% +M[&;&['1N1R!\9):5['[*[+;+[,;,[%QYOT:59VX.["["1^4JZ([0Z_Z'X*ZU +MR'[3;"[47VY4[5[6;`2,U"[2[9:Y;:0(:,;;Z\23N@;;;>:H[?/=[@%;7Y+V +M9PV#%>9Q;F;E6C6B[DW^;GHU+HQ$;BI%H&[3X89VFY+DA8C;O9@Y8I`2O +MT`YIE>O$33D.WE%?8N6U4GOJYDGAV7X*;7[55/X2'-96-.3?[Z;VKOS?*$I0 +M;WDEI/+&,E9$<"[IX&S):>[8/?"OI@9<3B*1-KY9Y=,E989/SB9&/"4_\%D$ +M[ZZTOSS9Z<<(F@,UUOH"YD<6<,992<9:96T\5K8=9-;Y\#)`SF:G\45T-[O8 +M)=*;8K-IF9<0XP2^\;<5\C<58-+?+#\>-F<+<&.ZLHI:4IW[*CNX;QRE[=G\=3O';N\%8B=4]5 +M<;\9\<]78R;/:DT!FRT-]<\OGJX_7[UA=1U=M"KL32[]3H]93`=/]7[T9(]?<3P[;N4L]A]N7;H+4X=D=Z]X[4]%)>LL\;>" +M3PS+;M,L=U#J^`'7UD-;=W^)]Q\'08]J4,I.X3;HW_8K+R=T>3\X-^]T*Y;] +M>4>3=+=;]`<2/GYV=?])O\]1+F5ZX/;AR"]'.2^>>>\VX,>@/^]8='ZE;E[A:$2*>E>H:@;7=!0$>JZY^K^A>M:&Z.;240:S^Q^R>R^S>SP>Z4:.T! +M>T>V^W>W^X:R::[)]R^O;6:>>0ZA^[;3P<;!^]^^:CQ@^Z^_^^#&:^O5?":\ +MZZC+1#;-?'?'_(?(_)1MZOQ$:P^X_,?,_-?-Z1>;/G[5?$[>ZFZX:5_0^M_1 +MZ[?2_3:VQC,`?#KK?5_6;!>]?8ZH[#\R?)_<_=?=_>?'[(^Z><_>_A?A_B?B +MQW;.1^^&])?:Z=;1]\]!_F:<^N>J?HYX?I^G_JY_^F[[^'?L^O^I2->N_O66 +M^D9^?L?Q_K9]21?J7]K'=-[G5]+M8G]\US++[YOV=YQ=.*PT&)PA_B`/J +M!0)_P."09]06$0J#P:&0B(1&)1.*1)\/B(/Q^1>-1V/1>!O]]R-_/]_OF1ON +M'OJ-1671&"PR8R&$S2936%Q*9R^5SR<36;T&;4.#T*7T>R:83^>Q6 +MHT^E3NET6B5>M4B*5.=5"<3>$UZM5:S6"5U6?URV6U]2"$1I\1ZZ1N,024R6 +M3RF5RVW1.U8&:8.(6*I6S!5C%66T82_U_%V>E8O!X:CV3"9*LYK(V#'X_$TN +MTYG&YW#4[2VO/ZN$7"#1I^['9;-^ZZ12232B1WU^8746.%9;2:&SPV":CA2' +MD2;@X[AYO4YS&3#?\SC5'B8W?ZJP\[E3+K=7P=N'=#U\;@=?R>R +M=VK6?6#:Z!W*+_O^?N0KRW*^+BWKVM4YJIO*^3D/8G+.JW`KI0B^+W.>AJK0 +M:QC`N;"B'NLI\'0O"$)PRZ#S,.^$40PXKW-&^$$PL[L'/L^S\($_3^OVNS_M +MPO;=P&A;F.##SN0K$D9*+(+/2`\+2,A(TGPD\4@Q#"D1.S$4L2)*N]I83A4=GVO5JSO@^)8 +MGBF*XMB^,8RUC,/MCF-8^BMH3=-]IU+`549!E.597EF6Y=CN7YCE.186_,Y- +MOAT`Q]E&99[GV?Z!H.A:'EN:5%F]J9/FVB:9ING:?J&HYCHTXY+G,ZVM9V"0 +MA3DDO?1$3I]?VQWQ0]*6'LEVZWB>!6[>>WV*F.O5AJ6ZXKFBZH[JV'Z5&U4J +MXLEE2I$*Q5_/5^\%$;I;"I'$R]PS5PWR481CK?(;MS$9Y%O.]83G&^9WI]LS7JEV/=)TG4,16O';!R-\]E;48[IS/;T_FLWMIWF]YU4_17G=3C\/85OJ +M!-73W3?_B4SQ7GO-=_I7E9GC>>ZGA[GVFUT?%M)]Q\"W6AWC:=]K&(^K$W5J +MAR4F>[,OB]?8/E2O1?5456T)6O(5P_Y_S9'OOA@$4=\;Y#9/F8@SQ?Z0E[)6 +M?PEI5CW5.+$?R]!USV&`(,@<_."T$GI04;2O=*KIG80#A,R%W1L(#&Q@0WU- +M\#46/Q>N@B",$$LK&@X_=]\&X;/6?6V9RBL'N0BA%`&$\1S6PI'Y"N%CGFDN +MA;\_:$$-7$JJ0?%9VS\H?/.*"D-04.EA1220]1M3LVRE9B1&F%"<8F&UBQO:O`EX,LI=2[EY*B6CY9;.@E!')V*C&!-B/.N!N#,(0F8C(3IX:R4 +M9L!;<\N:N(T)I?FSG/`J=*K9V3(2=/N@D. +M5$2F7<9EY+HX1I9,_#^&":E*Q"77"5QARD&T'@'0F`\P7?RMCJU^"IPE)S>A +MQ2]@TOF9[QSNT9FY3DR!3:./"I?&)+]$6NQD,FZ57L>X\R,<)2.1U +M*HFL-F%2Y,%2*?-T4Z\*C--(:)'555]YB2JP5G/FKV@+7)!5"AXLA_4V8;R# +MJ75VND,:R+I,FMVBSX:K1NJQ2V=!3::HKINBB;]?EQ2!@_%RG:W*`%4B#7)Y +ML,H@UHFU3V"[SK,J45W51`TU:0T@M#)NP-"YK6/Z45R +M6Z>U6FF#VSJT#IM8N/\6:<6WO[;Q$]^%XTRI[5'`RYL%+TI--":."YE4YPC" +M2HTI[YJDEO"Z2DO987QQ%B5I^'4YQPF'B'$TJ+\8MQ@U'%#G["71QCC?'&.6 +M7XSB?BMO^.L@9!R$Q3'F*JM30PG->9N`[9WWF=21=V3W642RA;BR\\(_96+' +M$`\&6ICX7KM5TZF7LQ&^S)4=H61JDV&A]!9"6_;/1.H<> +MKNYEJ=#NH$]C+/>SY=/:GU!@"'K0]'8UOM'M@M4:\Q@TK`VOU;IHKW>U:18J +MR<'*[@R<,Y,7:^:?RCL._E1,DZEV+1NFS^8^:QV1LW9F&-(M`U;?64.PLOW3 +MMWI1Z^EDN18PAEG<<7[AE#L0@>+V7;J)Y3SKO;F8EL*\K/O'=JF-Y1?WRB[? +MI:(^U_9G.6)EJMMU\U%>$RMAYY:U;,MBT[W*NS:/&-G;5RTU/@DD;GRXX/RS>/(K@T4MMQND,]^3\5X\K) +M;\];3\F2;R'B-QMT\TS+O3G7*-;=%X[Q_:>JF9;9YE,2Q747_WFSC=SI_/WX +M;VIETFK?02L=#Y7QRM"%[T]:Y7J2WG">LWOZ)W/7'=9\[7T;$I''?;Z=7Q9? +M?`M^YQQVB)(O*U4-<[UJ%K?9?CM>HL>GS[<_#[A],F-U/R/).)V2[QX)%7*? +M,]RYIL>/'`F0,T[ZJ/%.:\?*>Q)D/V6.?46`G*C4V'!NL,=F_[/WV0O:O@?' +M[B)?NO`^_^1\GY4!370J^-FWY7T?I9!^8PGYW,<0?0^G]O[F)9($@A58+#VC +M\;?=_-^>6'WR,?A^?^C]W[YR1L@/^'\7K?R,V[[_G_7^_^?]_\__`!`#`%`' +M`)`+`-`/`1`3`5`7`9`;`=`?`@_X_DA8_H^-`C`O`Q`S`U`W`Y`[`]`_!!!# +M`W`F-BB6H4^PCB_A!5!6E<1N_V[^A=!9!E!FD:+L_[!A!3!I!U!VQ:!',+NN0 +M\4J/'5&,5^0O'='A'X9C'DAVW#'N[.\J,-'W'[(.97'^AZG6@6OL(M'PTE(= +M(1(G']&)'6[JV-(-(I(^8M(4Z.YS($H:(?(])!)28/(4R.#0:B`:#@;"`6C.6R&1B +MJ+"`C@J.$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQJC +MD0&R"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG +M`4C$:B@\G(TFD>"A3(S32HT(;C48"X$`DB"%H;!HX0TC:UX4 +M#J-@PNL.00"D,HS,*THRI"-PQC*I(PC,XY#"-HYA9-(T +M#>U+-LRR(4#M*S,M*URHA0VL]3X)XS.0-U%4VW0\S;-(W#*Y,X4;404#')K@ +M,S5E)TB[(ZC++E-SFW\TC:,L_#D/,TC#7$]MT.XRC8-C:O&\J+O`%R."H(B_ +MA1"@TMM,;#T%1K#4D-(R5O;`93F.=(3G288AM-5#.TE](C&-XVC;&0R5Q;(4 +M#,Z]Q,..@T2_4,QSF,@TQ32(S19*%]A17=W,V-#/8>UV&S/A\K6#=TYS]@8S +M8O>XWU.%HQ#RY&%5<.HW#71-Q3F.@[Q4%`WY#D=8WODV495B=\CJUS59EDEF +M`4*B:,!FV4X`&UU#*Q;&Y]FFD5:-&3Z-;`;!OF&))A=59L.UHTC",3.A:SK@ +M7[JEU"'L4G#J,(SZ==626Z/$T)?I\LL4X`YTTF&K"-*U&TMLTU2L/%#C@SNC +MW4W\LC*,(R<"-\4[I=4Q!D&6'V35>LA1EP8M*ZXV#)R@9Z/JU2#KP(QQE'3R +MZ%:DFSO25*6P&H98IFG:!1;="T/V?:S:.@X.KWH4P4`]2X%0-2/$?(/2`3LMI%P9D>*`2E^[^4(%Y+V8 +M!T3PUX+R7H]1XCQ$Q@R?661]L"'WP*!`5PJ@-P7`W0W!%)$$P70-?^`J`,`X +M"ED@.6@B208%DJ,E"M^P,'\0O+L@^"J9V[AG=$%P%+PTXOE3Z&]C;'7N,5B@ +M&1$887UDOA4#D&Y`EGK16F8!+)UU4IZ!PF9$9Q@<&P?/&R-09`R$A#FL2-,' +MG*PA"-".'3\"=E<723\'"&P91>@D5A_A0(9@H"^$D)X7TLL##<%]\1R05@X! +M3`2`Q/H2.=A-)Y<:#"8`@D+"J(A?(CO+CA!T*D5@91M!0W9\DKTS+S8O+0%` +M8E8RXC*2%QT:#81KC1&J5;&U'+X18FMN]1':A!"F$,)(2:B4^4,&X.:(C?,?JB[4[+'T\U==J'<-+9:M,5;BX +MT,H8T.G9IG7*J*7GKUV!12\,]/#C'X.\GHG]*B7$_C$M0Z(.'//2!10-V"LW +M/+?!`O`-P9GQ!I8^"PJX8:;O01@'.GE"IVSOJ-/2I*C:E@@>TK=,*V4RIG!` +MMPPZZ##HL1$'"V`30PF_GA/*VE2C-@I!L8=9:.RR%FA)*8&S[;*V),7:\[YE +M`7(/8K)J3Q%P9`N(V2V4$K[T00/O(>&@>`YG/DS`6\J0I2`TE,7"]\IS`(F# +M*EA+4\)ZK<7440(*GD6&S5>D^@4;V@0BDY#J7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#4T(#0U-B`U,#$@ +M-#8W70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$P,SD@,"!O8FH*/#P* +M+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#4W(#$Y,2`U-#`@ +M,C`R70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$P-#`@,"!O8FH*/#P* +M+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@,37!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;,S@X(#0U-B`T,S4@-#8W70HO0F]R9&5R +M(%LP(#`@,%T*/CX*96YD;V)J"C$P-#0@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;,CDY(#$R +M-2`T,S$@,3,V70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$P,C,@,"!O +M8FH*/#P*+U`@,3`Q."`P(%(*+U(@6S8S(#0U(#4V-R`W-#=="B]6(#$P,3`@ +M,"!2"B].(#$P-#4@,"!2"CX^"F5N9&]B:@HQ,#0V(#`@;V)J"CP\"B]$(%LQ +M,#,R(#`@4B`O6%E:(#0X(#7!E +M("]83V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M92`O26TR,@HO5VED=&@@ +M-#,X"B](96EG:'0@,C4R"B]":71S4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A +M8V4@.#(U(#`@4@HO3&5N9W1H(#@P.#8*+T9I;'1E\GE$IE4KEDMETOF$QF4SFDUFTWG$YG4[GD]GT_EKXDE#HE%HU' +MDL"?3\IE-IU/IK^>[XJE5JU7K%9K5;KE=KU?L%AL5CLEELUGM%IM5KME9?]+ +MJ%QN5SNEUIC^I5WAE1J=MOU_P&!P6#PF%PV'J]O?C^QF-QV/J./R6-R.3R5Z +MQ5,I%PJ6(SV?T&AT6CTELQ3^S;\SFIU=(U6+O.PA=\J\CO[ZVNYH5AW&EWV_ +MX'!TNGN%TU%WXMSX^+Y-RX]XS.JUV+OM5WM4D%=Z]>[>[JV][M<\/"\GE\WG +ML7$NW+Y?&U?KI?0SE[N_5[&ZK?CK7;W'\LC]/1`,!0&X#U+J]BX(0Y$%KPIY +M_G]!C8NDH[ZOPZSK)"[$,J%#:L.N_L+ONW<.PY$$-.R[T4P!`D61;%RP0,]T +M%GY!3F1F@2FQQ"+,N@A3:._#T-2%%3P/'#\51#%$E2+(;LR/$47RC*4IL2^+ +MFKC!"F1K+,M'_&DO*B^,)-2ZD+2A($4S-*$321-+P30_TGS3*DZ3K`48N4]\ +M:*A,$N2[,$PMD^;9PK-%#-M-R1/W)#_3=,\WR3$45SM2E*M'/#G3U0$.*MB"GXE3.*8GBT>H3'^.Y3E5W-.Q; +M+,QF8YFQLQ.C4F,Y7GF>SLS+-I!4>@Z&U.++LIUO9]I>F1>Z.D:AJ+ +ME0EFS'GPCVL:SK6MZYKNO:_L"'9EJNR;+EZHPEL.U;7MFV[=M^X;CK.T.B?Y +M][OO&\[UO>^;[OV_\!P/!<'PG"\-P_$<3Q7%\9QO'=;V/9=GVG:]MVO7QSNZ"=OWO +M?=_X'@^%W,M;QNQ]^/O?D^%YGF^=Y_H<'XD:>-W>^^7Z/L^U[?N=CZ?D^/\* +M!=V@?C?'[OT?3]7U]=NG8>MY&]?#Z_V?K^W[_9[_J_CY'R_X^9\[^(!0#@(\ +M!_3\&[/@?A`M[$!8'0/@@Z6`[_($O[?G`J",&8-0;%4*X6/M,P^^%L,890S>4^YW4-(<0YA7"F'4/8?0/>^W*(40XB1%B- +M$>)"\87K9B3$V)T3XH11BD0:&R?Q^Q7BQ%F+46XN1=B]%^,$88Q1CC)&6,T9 +MXT1IC5&N-D;8W1OCA'&,I`XJJ?CE'>/$>8]1[CY'V/T?Y`2!BX/F.D2XK#]A +M_(F13Z1\R$5\T<@<5Y%R3DH\^1LA5!1,DE)63DG7;R7D>VD@4FY/2EE,ZJ4$ +M01_RDE/*V5SG94QUDC(B5\M9;.6EC(:.TM);R]E\XF7,F9#OT?W,6!Q,M^4`'SPCA',F:+\H`O]A`^,@L(&\O+FC"*!L`&_/^FR_U\$U7E3-FW.B8 +MTR9V3,G#.:K0:@E!Z%4 +M)F;0B"D&)V0,@1.JAD%*+43?C1"=,R*)3NHS/:BM`Z/TA?_2*DU):(T2@M2" +M=-&J644I3/J>[I9_2BE70%\U':%TCIY2>AU/IC/SI)2>CE$9OSNI_4:CF52"I-4:=U`I).=Y50G14JIA,2E[CZCTTD=*J5E#*I5#JG2BLLTJ=5:I=1 +MRK]2ZSP-FY5>K$X)VS6KO46M-5*>UHK/.2MU%YMSPJM0V>-<)I3YI18"C-[%N\H196[-B+J3SME,6K\%:'7CJ*YNX2O+B6#? +M+=R^5VKNWCN7=>E53J\W&KK>FWMU[+V%NW?2^=0[O4[G7/R_^";S4SO1@C!M +MZY^UAEE>_`5O,]86S[H&7N?[)TSRQH>T.B+]SCS%E&:>39[W>L_8K +M+<]+2UVT983*->*N:)T]CC*^G\AZ4QA<"PM39N8Y=1H2L>#<389NQ=7$MS+U +M9CH%H:B\S*TVWQ'76EN*M8X;U?9BWC?[]59>E5MUNK,>UXV'L_6EX+N:GV-I +M_#];\XU0U[M76>W=@[0HJX:Z#A-59R=GLRRE_-A;`P#1C$^M)[33@OK[+>[J +M-Y6MMK^XNI=8;]W7MZOF:*N:3Q'1/?-Y7:[HH;NK<&W\(Z.TUO7+5]]G3SUY +M->ZEI7Q6KR94C1_#-V;_X=B6U&$KI7,G+C'93K.%8MX;O[%ES:B*R;PT342@>,N-ZBU#UG4S=^T\^\'MGP7B-(6,TSDC,,U+.>.L_=',.:K:[Y +MU+XO17BO":>T;M3BVE=#\;S/Q#R?H?5:D;QX?07KWT>>]DX/UWL/;2=]K[?W +M4B_<^[]]#WW/.O/_#VSX_3'!'KV@\SRG>_RM4]GPEU*K?/[R?5WKF3YV1J3[>39ZYD?U@^_@]YY'^^^F^KPU6W'\+$E@J8W`^9]S +M;GQ=[NQ-[.XJ*-I-;MKO\-%NWM:N*,D.X.K,YNEIA,ZJKN0.]/WK'.8K!.JK +M!K`IJ0!JVM200(+P.NSO-0$'R+K/MMQP-J!0"-:P-IL,(/`(4.=JK0IP?.HN*,TO4K/*A._MYPF-'/,P +MJJ5MMN=0>KUPX+5OI*>K5*+/`ORKOP[+'O-0GL:08NU09N,0PM^-)/O'!/#P +MWPTN@K?PDO]0#O\-Z0\L2-?1)O_L(N"Q0,Y+INWQ..ZMI +MQQ4/T+4N(P`Q%0<09.B+^OPP"J1MZ,UPRP=MFQ=0*M_0&MVP7-MOZ,?.;L.1 +M1/[111TK8-]P@1T1Y0+KD/P+_1KO\P%QM0P,:QO0=+AM"M3O9MS/B,@O+O)J +MZ06/SN!1?2%0EN/)NLM.!OS/LO42&,9Q&,N/L./JHQ'OOM-Q9O3MBN:/TM5/ +M>O?R5'-QGG%R6K@QOR!-6R5R:(924R:R<(2R;R(,OVO.O$R@N,M+R12(2 +MA+S.P2QA-R0:/N/QOM'`2?Q/H,=28K +MW2!P5RRP?Q[,8QWPQN`OQ05P3IWMXP6O1*]1-P)N?0/LJS,QK0512.R1:ODI +MK1\QJJFPR2`S!PSS)3#QQ1.NIP@L+KYPC-V0Y*[P")\,QQ!S8MPJYQ+PYPE0 +M\2(P-.12]MDL'QK31R[2`)0R9,>Q.351*K-LT*3+6NV0XRU1"/1P_1`R104J +MR3JJIPY.LO2G1DO)1B17/.3U1EQ@Q@-&1FQCP81FR.45182]1J4%S&4'-.T(,*S +M"4+T*3GL.SXSU,512RA.VR--IQMSQ-#4@QUTCTCP.3[/X480O1XP$22MROV3 +M!,>-.RE41//QCR'2C2#-1TF.^RF.:R$IWK=ST^-C3PT\G)27Q(TJLVT^U#(-4]U#U%'UU$U%U''N2 +MQR#TO2COC,H5*T:0G/]T15,TT(12PRY3'T'T&/MLP2)U21:L*#5LU<0M3>0NK1J=3 +MR45]M`0LRR52+( +M$3IK8SO-O0EL#..3M6%U7N[V#QASOKOK:0[T#3?S%.<56QT5Z1:3V5[MTV/S +M34K103#5M3Z0KR-0@5DQ/UCT$1Y5AT!)B3^S^-TQV0`Q/QH4!QURS/+.2V?V +M74&VA4B&^Q;T0V1U_0!6FT,T=NCT[/K+LN$2TT,/HT)J\M4T3/*OR)VQBVY5 +M.4F.;17UH5IO"7!P76SV04;UXVD4AVDVL1N3ATM5B1Z+ZTTU8,6-L2Z4C1U4 +ME2Y7!470"QNVE6@V+UJ2Q7%R9RYU)2V.YTWR,3MMS1D5)OK530YO&U06Q/1W +M:4T6S2.2,OFW;RN5+58-7./WBL#+XOD795:3`VBU"U'R5U!(44_G.WJ74WH5 +M;WI7N5&751PWNWPGHU&WQ7RG>U(TL76TPRB0V2'/Z6XOKOCU32HOU5@-XU5W +M6WZ2CTKTS7ZVY0P68V^OTRPNNR24/G+RQSY6UVHW'T`4GV`6JQTL15EOIT>M +MNU?/AP#2T1]UFW).37&W#,:W2'%O:ULW'/XX(3C.35I0%3)3"R"1MK6!RSVN3]6M.+Y(-K6>46RVV`J7T7W"G%6T46X%9%Y*9&W_V +M\T4.MT28E9/5S6TUJ8&K^VXV\8"974LXPM^3ZM;5OX1Y2WOQ\6294X0+-7.U +MOX4S66V5A2KX-L48+W)LXTE7-XCX0T8UNL38Q,;U]7M5^0!W]WU,04MW8T\2 +MAWY8N8U6)IE8N52YUY`4L7>U?W,9TYSYLQL4ZRB+GY"7B9\9OUK6C7S7IY_G +M52HS`/6YB:":&'G7R:&Z()4:%Z(Z*)/Z)YQ7:W79ZR0U6:.4:51U0V3W;U\W +M12[5X+G2DX"1IZ3T.X^7K9H0.9'YO9V5XT6/P58U!YP60YD94YN9L9DUF8,3 +M.4?Z2Q'5F:CVR8VZ670*E4S:CW1P#X@5Y3KW0X/6-5:Z=7&.*XS7(9$S$1]X +M)OIM1X1$V.U\5ZS0N^30T+9#7GZ!7HV +M194358D7/.KPL0K3:0FV(S>V)6=6++3XZ6<8Z1"XK*6[(.I0L6AX?VRM?L'X +MO0M7+G$8R34XJS[XT/27W9(V%8]9VXX3P:J5GV(2'XXPWS9[869Y!8Y1`;$5 +MG3UZDQ8XNV-QI6/0A8AZ+S\Z>U_P;[AYKVZ9):K3$3]T"KZWG4G5>KU6K98Q +M!UB5O51O_54Y]Y/UY/*Z]Z%:LJQV\;`6DQ>:B1E9:6I27Z6V];P9,87-9E/[YKYFRYU?7 +M4;U9H<*;I6;QTJ;RQPZW:,TLLAW8,I\5R*Z.2\TQ4U7 +M^K14VY_W>YV7_5.W<.!/Z\:R/;O[X59Z?9+6W7L\#9PZ*U#7L-Q:#4_9`;R< +MCZ=\D\IZ)<2\JT-=`=+5><(;)PCXI[#[%=;[+;&G6[.85;?7\,\[BVM]+N0W2[.]8=7]B;F[HS*Q +MVY-:HY*9.'O6[=%UE:`]@[Z\_]O<+:?]*]Q=5*Z1IQ-4243]Y=_U/W`O"H)9 +MM[->!O#MU19]X4;75\ +M3Z->-R$0V\Z\4\S^2A>ER8F>GL)^G>H>IG)->B;\^<>M.Q^2^`[ +MHWA572I[3M-U.2LZ52J9T>TZ1M'Y:WF6&'()\<1I@>$]PYC5_VI[1]!Y8Z,2 +MXZJX@^/L3YGW471PUV,4H^#G&S_)<>$](>(<%=6:\<$XZ[2=)]6_4,:3>3P[&0B;G320UNN^*QW02O +M'8.LE_/[$G'93YW]BU9\C?3:__68SV]>;:/<$.@8[T!8]SNXY^TY*^V9!OU1 +M&6^6:9/2AXZR09W*9;>W,.9_0Y$?(?'?Q%=[2ZP6ZP_W4#[AZ12_^)[ +M,]KY&=&-0?0[?[51_'(Y3!_B`/M_ON"0.!P6!02$P>%PJ#0Z$PB&0^)1"(PB +M*QB(1.%1V.1^-R&,Q>,0R!/^412%RF32N4QV72B+RV+1J6RJ<3"=1JB4FE16=R2AR.EU&B/E\RE^5=_2A]5=^2E^OVE3V&R.R6J14&:1&@R6:W2[P>ZSZCWJT7"WSR_VNZX6V7RQT##T?$47$WN +MV4VYU*"52K5BM5RO6"DR:C8VG9^[Z'&4B3Q.9074Z>HZ+3:Z>:NYWJ7XC:T# +M5S;ZS%\CCZJ_27@<7I=GJ92DY:45R +MLO^MU?-]SS>?T>GU>OV>WW>_X?'Y?/Z9WGZ30?7.^SO/_P,R\B4*^_4"0+`T +M#P1!,%07!D&P,_K_O$S4!,Y!T+0O#$,PU#<.0ZJ4(,Q"4`G_`TKE.W'C[,FZ$=N@W#/-XY;DMW(KM1W);>R"MK +M21;K565<-5.=*#I6\T[F-](EY5/3Z#-NF= +MC)C?%]-M@5"+\^]JS0W$_6/7%UX?,[TW),5:SEB6'8W0#(J?)MK-&MU^X=.. +M`I?0616K*C%,,HN0QSE^/OSBM_VO,N(9=F-U9IDST8O$>,WUB>.W3B;!6'FU +MCUM>=GY=7F(YSJ-B6C/=.Z35+%IWDM@VED#6TNQ6=4E=$_,-.S*:#6DR:EI6 +MBZ/G^.5W:&(:\L:Y;=GNLV#M-DWSOFYL#KM-\%4%Y9G:]X:-:F#\=FF&/-M= +MS:N_&1QQRW"ZS'LJV^L-Q2$ZS@W:T/02KD;A](XG1W!U=P=-U/6QK<4G4YST +M@/Y'D^5!FTOACVPX:J/)^-Y?J^MZ_L/-@3 +MZ]/[5X;5X3_>)C&V^S\WS_1]/S>G2'U?=]_X?C#?V:'L7@P1;3H'&I">VZI@:1G;FQ9*Z%US1()00@>Y@RBRSUP8/:UY9;]'RMF +M9ZXQ9C<50G[A$2IP[36M-Y8JPMNC3&`.6ADWE[-1"D\\&E$+_45"M\ +M!ET7J.+CX$ +MRAB!%=4:]FNQN<+/#6,"RE*P;0U.*,#G8SG;FLF#*PE0O-(I+B,TW8AJSB* +MWJ=$P(E3B:_)-P$[9*N$F/.Y?L_8T3,H4WV*#+9QPQ?PU"@T32'J%D;$),,W +MZ,Q;511VE,TTK/=BA`".4='NN\GO`B",$(%0,1XDY*-.H$.PAPPRGS.:9QQ= +M>E984A9LN+-T]^7-`J2ML?E5.JE58PTI>/+JJU6ZN5=J\/NK57ZQ5CK(]>L- +M9:T5IK4ARL[]J5/_?S4U;B[J;Q?K?7>F%*)HNU-;4!9$>Z=I-J$MUE$`DMP2 +MKY6F:E;8TT,H5,6>D*J#V.HV5"E\F633_I$:A +M%E&EQ+HE(NU-%Z$0Z*E11I5%8Q)1KU1R*3-466BBL4NMMFK*R]N'1-7-HGV%%SE^5!4/;X^H`96TM!+3W6O7>MDZ9D^ +MT>O;T?F?8 +MW%&+<*Q:A8_:@\N[",-GA=:T:)SJKWNN2&-]I+PX$O'BK%V#9.7,MM@[(UE) +MS-U3;<+(V(,98]PNS>W->54,X:XKK`%V,!9!Q)!^*=<D]*/7FT@[26E=-:;TYH9X=`\PZ=U%J/3FF=2:GU15[4VJ=6:M? +MAJO5VL=95FQ&^0JFM]<:YUUKO7FO=?:_V!L'86P]B;%V-L?9&R=E;+V9LW9V +MS]H;#T.T+:.U=K;7VQMG;6V]N;=V]M_7>TU'G*W)N76\]Z;UWMO??&^=];[D>F+?>_^`#<'X1PG=._3R#Y*_P_B +M'$>)<3XIQ7BW%^,<9XUQOCG'>/<]17SF(G/NA=#>QT"@G1.D=)M[PPKO2NG=/PWTS +MG?4.J=5@SU(F&W7);6ZWM7JW7]&=8J?MK,14]J]EZSV?L':WG=BH"@=^I2BJ +M'T[C(WNG:.V=Y-;V[`7<.\=O/GW7LW=^]>%41WS$7?NM^$.YW/P/?_#>1Z,N +M7M/BO&CY\8^#S/D?.&=\1XZGY[_!>5R\93T=3\%V\(5Z?SOA?)F:])+(]7K. +M^O:]-Y#Q/C_6^[(]Y_S&4CW>T]SU,COPO'2X47\+WG7_7GD]C7;/Q)OC>_F) +M;7Z;AV6_2]Q\OJWS>F^H^!.L??UX96N()^3#\RR-?*^YU3[Q+?C_FFRO@AGY +M*]^W\6C2:G[/V]/_>^>PRN,*(_0A>E_`(LLP2_.^V_Z_\]]`2_$_L@N_P\N@ +MV)(_Y`8Z2_^_`SLJ.6U`BT:^*]P_BP6;3`O`PZ)`T\`0+`B/A!8]%`7!.Z1! +M2]K!7!$^H/C!<]M`'!A!BZ'!F]S!J_R/E!R/;!-!ZY[!^]`0)"(/9"8/7"-" +M.UG"2XK7#=#A#FK)#E#I#NJZ_>X5#W#Y#[#]#_$!$#$$WHZ8*Y$-$/$1$3$5$7$ +M9$;$=$?$A$C$E$G$I$K$M$O$Q$S$U$W$Y$[$]$\JC$_%%%'%)%+%-%/%1%3% +M5%7%9$G%#%;%A%C%E%G%I%K%M%O$V/"1>']%Y%[%]%_&!&#&%&'&)&+&-&/& +M1&3&5&7&9&;&=&?&A&C&E&G&I&K&M&M$'&S&U&W&Y&[&]&^W2("`"F5N9'-T +ML53*1<*EB,]G]!H=%H] +M)?\4_LV_,YJ=72-5B[SL(7?*O([^^MKN:%8=QI=]O^!P>!I[A=-1=^+<^/B^ +M3,SJM=B[[5=[5)!7>O7NWNZMO>[7/#PO)Y?-Y[+Q+MR^7QM7ZZ7T,Y>[ +MOU>QNJWXZUV]Q_+(_3T0#`4!O(]2ZO8N"$.1!:\*>?Y_08V+I*.^K\.LZR0N +MQ#*A0VK#KO["[[MW#L.1!#3LN]%,`0)%D6Q[U)TM6=:,/3$L4U/E.N+'$=1W0N: +M[KVO[`B.9:KLFRY>J,);#M6U[9MNW;?N&XZYM#HG^?>[[QO.];WOF^[]O_`< +M#P7!\)PO#?Z'`^+&GC]YY7H^Q[/M>WV?I^7Y'P(%WB!^/\7N?/]'T_5Q'O> +MKY.\_!Z_U_G^GZ_1]OK??WOW_+\W[/_@!`%XC='8/Y;L]]_,"7EP"@9`V!SI +MG\/Z?X_%Y,"('P7@Q!ER3^']NY?(^-_L"X-0CA)"5O\$830IA5"MQ,*(60OA +MA#%X\!'=PRAM#>%,+H<0[AY`)[S)42XF1-B=$]0B +M@ELC_'[%6*T5XL19BU%N+D78O1?C!&&,48XR1EC-&>-$:8U1KC9&V-T;XS$# +MAHG^.$=8[1WCQ'F/4>X^1]C]'^+H^8Y&85X0**L/9$2)?./F02OHDR&'[(J2 +M4DWG2,D'%*.DD9*2;DX[>2TCFTR0D[*.4CK)/P_BI)J4LJY6.>E/'-3\AY6R +MSEHY:5\A(IRREK+N7CB9;R8EC*IO4"X13%F',=^$R'W3+@4_N#\'IB/P?\WN +M9[_)H/]FQ-::#XB"OCFC-F:\WH$S>FY!V:DRIQS:F-,F=DXIF3/G@^:8KO9N +MM\@_")^4[I\3VFE!1P$^W-2_D?*F?,!WJP(H10>A3UJ$T,H7,FAK^H+3:@5" +M"BM$:#3MG/!9_U&()SJ;]0"C,%:'TCI-1^AM'*)TGHC.FC4RZ1TOI712D%%Y +M^4OLE5YR5ZIQ7:M]6:W5]H_.VO$SH/6!G33Z==-7OV/G79&=#G:T2%I +MY1"N56+.56L[86NDX;136FK6&"<\9RSRH/!2TM>X.STGO:N`TT[$6@L_8.TE +MB+40'MC8"B59K8V/G'<&RLQ+57"II0&1LJ)=0&LW9ZZ%MJ3UTNG8>Y-7:MUM +MJ;8VNUFK"7;KY;BZ-'KN6AMO8:L%$)\7(M]>"]57[KN8LO+F84V[QUPL)>*P +M]KKK5(OA?VM=0+MWKN[?BL5-+]8)P%@2\UT;W3\L396I6#\)WHLM +MLS?;YR9GSCRXN0\'XZM1.1\-(K83WH[DW)-DWMOZ-9GR3FG*^5+2N`Q_,&7NY;QKC[#$N,@9TSYG +MUO><<-7US]H.7N@*U:$T1+S0UF9T9VPMHZ\N4\JYMS%/UY62YY6TTL^7*6D\ +MGYKMU<:L>1S,+.TUCH+'.YM:[GQ7O34_IV9;S +M)=[?^H]Z;SX-MG`V6->Y6V#OO`NVW6[OV)PCKOIJO^`*+6\X#-^?^')Z/NOY?[B&T)+T#PW-WE?2L5]/Z=BB\-_]T:HQ#P+C +MW`>(=7Z3V>W&SK-[XO)@?=VT>J:"QCTCLW0KL:]OWASA.IN<[VV?UCP':*%] +MMO!=/>/>K%ZGW!XMPW-:O^,U)Y&QN;4EYJZ?TYZ#Z\TMF]_Z#]W,MJ=,V2_'Z +MO3OB:EVY\W^.JF#:>^>\S^*;/+NK6K_+NP??SN[=FQ=B;L35KOSK;]*_C]3M +M2@K=3]+FRPSD"AZ9#!C'3]2KC^CK;?SN[ESG4##O#KYP3_3Q+_CNC;#PC83G +MT"JBBVC5\$S<<%3DS?K5STB9KM;[,!"BRW4&+^BWC6\"RLKEZ$#V:F:KAP;_ +M3P[G$$#6T`3>KJ"V2HT'"[C,SGBDSS#V$`JSK-\)<#S]$"BFT**]KH:$,*RH +M\&:I4"3KIZ4'BDBX#_9Q$(39+P3E+G;S\.#,:YQ\*O4+;-SD[P<++O,)T$;7 +MZX[?RC#3,.;DCH#<2TZ\12:>"$,849S(BXQ\D3L8L0#IL. +ML$\4$2,'+7C9BCCKD-"N4$L#D2R^D64(L7SED-,8;A\0S;C;#!#AKB\"$/L= +M\#<5\$,(\!4!D>\= +MIRCKR<*E44LC$,L#,5KU$JC_$H<=$34!L(T3,1 +M38L![Z$@<4;DRP+E$N$`;%$"#\$&#U+O#M,`)T4/31T9[9[/\FS::GKN<7[I +M$(ZZKC\OS$?$V,=,QS3;*LI4VKG!^,0J_$;[D:K,03UTS<[ +ML0D9LXKCKB;>D^3=<9#",1LU47 +M,_E!+3$DL9D9-$+<"C<:JX=%C+TLR=5$+\[D4PC7]"4P%"C=$T<^\Z"4$UKX +M$_5(]!T`E)]),>$QL[<^-'$?]'4YT<,_%#3Y +M5*;Z,A2L49CA4I,HR=\X#R4BE$4.$L--49LC\6,B%.3[4JL1[S-![^].U.Z? +M2H5$LDS5=#,Z,-&;Q\K=%=4M.C,SF<75+\5+:D\+]\B\RD@+4\. +M-)3.%+KV]#TV$^L=,E+%,N\IC;4(*;DM='<%U6IO,-;:M#M`%@$WD_ZN%-%8$E<+2HD)E:DK40\1UK-K-9-@LNBXKT,;U"KZ35D3TPUH]#;+ +MM@-#L8-`TB=<\:3\4DJL%IJ]+G[SE6=NZTE%ST-#E&%$ZE=%,[;5=(]LE+-" +M\#4U='TZ4<]I57LD=>L[]:K2"I%G,`E"T6LZE>\-D6\MM*E5]GLTC+E!DN5& +M]?=<5'JYE(%3=,TA=&+V$LK4M-\HU3MDRJ5.MS[A;]ENU,DT5W]3[[%4C)4Y +M4?\FE/B_-/U7%W;VEQM0=2\E]13==0YSMZ=HUY]1MZ-[9]-2M[E[YYM[U\%\ +M9X%3-V%,%,UV[V55#+LI%.!D4#`C\E:-JL7U8;Z,N4?E7]X$0<]\_MCKB +MU:IQ\#M;MMM$=SES2X$4L7%@<.5^;N\0F%LNL=$SK[,T->$RU<=O$T]I\E6# +M\?V$)QU?^!%I=(F!%8,W]E\=]@$.TWTX4]KHKD5*JPM@[@UFT+JH-W3`+$%T +M]H=+56$2E1=[-D446(COL:3^1]%6`$:<'<2#;;>>(&0U;;^.,MMSK4ME&#`=P*LE14Y5O,X$7M<615` +M-/T9325N=OF#=&[]LW<-$O]SN$64N*5DF6N2U*,($_5`MJ5G=T6([I5)SR-A +M>#>6N'\D]U$R-H+MU76`U7E=-36<+OE/=-E6MV5^4[4B5BL[&+\C<]54#T\B +M+2--UWDCCE&7MQ>6+4$K\9=-MV=V&U]D`U=M6+)K3M-6%T;%EN@S1 +MN">+C=N-->UA^7T))PM\V4\ZN1D=FCT>U^B[LO3[V&VE6G^%$&NGN"%"-=4O +M&#$TMU.*5G5:V36,-UC:F(>1+MCL-T&JU&V&E,^KVKE>,^L%NE^>=>I4V +M3$69VHR^R$-6BVJ.8V1F,\BNT#%F`%E<\ +M2E..]ANS6P<_]FL.D\BF.U=A..V.$/>*&2NR\YNRN+6S,9%HNFVJC#-M=K&O +M=(6#T#+;[]TN=D=`MKN1MP]5UH.2NEX\1V?5L]LN#5[&J +MN5MR#NN5.9NDUOF72M=O]MF\<:"9N3UAV263N65PD4,W%ZN6>8N!ND>46J%9 +M>F^SFJ^ST8:\E*"F_`W!$>&Y$V6:FIEN.-E*=8>..H%,6GV6F'VK5R697#>Z +M&;NA-M=+],/$:F32E,>0%WM;-_6>K4,!VD-Y%VM/\BS4+4%V+[]^&=[_=Y>F +M7`>[FS%U>X.`^BDGN@APW(LSTL.A&\7(?)CFG`7)O*!TVAW*/*AR]\VC-\\P +M>C>HFO%ZT@4%-,KA7#_)>.F$M8&OE".G.! +M/.=0%9<5VB_/E0#C.LIV6U._F7ED'$&`^$F\DQF9>54?W._1^#O,F2-4%VL=>F@N'>W,U,`%0/0\UV1'`C>O4>'FXG2&9"OVV62&VT)NPO6&QE/1U +ML7.N&'-1')7(/46%G5+7.T5]=Q_/'178>^>-N[*DN)FU$P58ZW-(N@NW&L=C +MW3_.'72^NX?4C$$'^G?1W5';L5$&<5V"-)M`BR&Z?2)U-GV[6LW-&\/:N4W; +MTQF\V+?;G;';M_^5F]^[^]5P5V.^N^-S9TLO]HG:>@&;UUO8F(G>DS'>'A#F +M^![K/!6M7!FY4)U*-PW+V!MQ.F=7/@O4/@_+/C"]W$_+DU7+^C'DU6].&==. +M=WWF=/]H'=-NO'E3_:C/6,?*J2GE&"YS/(_G;:7$/GWH^`OC +MWI'I:G/)_IGI^4G@S(/H'DU]7$TRGJG?,JZIV=W'&CNT/?-/=V\RL'WLM5E> +MGF^`7-50W2B5W)_>K_O.MJ<-N"V6%9LNW0M=%Q=F.NO"&63GV'U&IS%5J^7` +M71/87Q&#-;_.6G72S<,J%NUT?`O/]>^H/#V*ZZ_#'?!SWPG@EQG.-JW7N577 +MFS&SV*D/'5>Y>)GR\-]O4E,>CLF`7CDFG6W`"%MB_D7J_M9N^O7N&S\["W?G +M7'K8VUN,FTSP;7W-U*3-^/[];C=O_YO=/&F2N0-&)R,^FY+F'W?WFBW:_.?Q +M?;75]WWAL4/[T5-!6K>F%.EN%!/P.%^1?\?:-9!R;%_&/^!R47EPGWWOGC?4 +MOA0?8@#[?\"?<%@<#@T%A4(A$&?\/@\+@40AL)BD5@D7@D)A4=BL-C$1BT2C +MT;CF,SKMFTGB&4T];SU\U<>BELTFIU,3SMJSF:VNXW6TS>SU\WJ6_V5OW +M>TW<^X6QW.WYF'G.)A],I+_I='QW.['9[7;[G=[W?\'A\7C\GE\UFW^ARGGH +M&E[70?_2QG6A]/]GW_'Y_7[_G]_S_P`_CX/DZC&OJQ\`P3!4%P9!L'0?"#L0 +M&Q<"OH?[[0C#,-0W#D.P]"$)GXZ;JJ;`[/L,]30-%%+*MXACE/:UK71>V36N +M6T<:-[&3BQJTZ-1^]*>M6C\=1[&,;Q[(K.,S($C.;!C2O=#<0Q'`T+P0U"ZK +M%+:Y+M+R2KRX#B2TPBRK6MJ5-LO#"Q:G\3K)-"OS4PDPKO%46+Z[LI.U*+QS +MV\6 +MRC+?12X,AMQ.+TWG&;55O45FWA)&7Y'U1U#4V23M-E\R8R>0911^$2E:$LX +M=C^-8O6&,8X]ZBNC"EO1-&>52_BN*8-2^.YG1RQVMC]13)CEG5I4+UXS9.95 +MJP%(5;4$WLMAF-J[<,ZZ],<)9V^.>XC+&JZ%BVV3KMN;X3D^HZTY&UZ/NC"Z +M-DJJ;MIFW:;OU%TVR&@Y;=$=Z)%]]W5G'&VYLT"9]0FI17RU'\OKM?1Y)ST2 +M1&TEMM=MZN;?LU='<]X]$TG-]+;#C11U'8VPC5"QHX\VZ`YEYIWV/=]SG3%1 +M%05OU/XWC^1Y+\XV\6WO;LCG8A"V)>5ZOK>O['/>7U[#X([?I57M7L_'\GR_ +M-Z_P>+\_U_9]OW05].?TUWU,=SS*\.2Y=CSW^_Z<\DQ_*C6`K3=>]Y<[^H`F +MP:,[![2+H'0,8\B<["I$]'Z5_!0H;D6T/3?$V%FS0X/J9A`UA74(6P02;PF5 +M."9F*OS4O"=NR<2)IKA8\V$1V8@O4+$XJ$T9X(J(5LI +M^,RY6"-[5\LN*"P6K&@4F2-&2Q6DN_3!#^+:]UV.<+.M.'4>']14@@R2`QSX +M-/#54^HN$:&\0C;BD20[B&N1M3PZ1I:[$BHY<8[Q92[3!K(:VRDU4II4143F +MV!F$?RY,LD+(%A<3FN2`)O&-M4@Y)24E]%*7\-9-2@5O,&.$=(KE9CFX>2K- +M&1/^4],ADT:HAG>1_'$OJ07-2X)9+J;$2YP3#BC,%N41ILE^:)-(NCSF0RF5 +MZN%G$T6FK!7I)E12PH*INDV\PD47YTYIPPA;_).=$O6Z3KH5.J<< +M2G130C##)ELZ9ES2F$Q>BC]X84&7`K,H4WG*Q8?J_ZDU&(&))=325K,EH+NT +M=,9%UCI)$TT<0DJ!\]$14ZJ55ZL59JQ5:K57:O5?>Q5RL%8ZR5E0C6**-)ZJ5K=53U(Y0:V4 +MLKB_9(]3'6TI7TD^3$#G:TW937]W;&J@UC@Q-V@#Q'Y3EH1.**S;(:EZL90J +MR*G3G46H6N"?4VZY-/BF]BPK4HQ6'D?8EAM!:"3IE/1!9]DK66G>A#:DEBWG +MP_-';&U+P([*GL^_-X+/)'.3C)/VUMLK'6IJ3'N(EQ+E2_N/`J+C*XDKJ32I +MXT4^*(VOD6?V-=/)1+9E'7:?[PJ`OAA+::Y7(,1:*X$N[C7OG%/&)+7\$8-L=-J8C5IY3D<= +M,O!DQ4/4S--?ID6`8E2,O%8B(3H;S7NP>W>'F%[SV3Q6W.&\-+JT-<#)V=^- +M;*,2Y#NO>>R&#L6Q%M0W>`5E[_QU<$WJ$EO*6VVD +MVNAF\L#`LF;+C_`L$JYUJRM%"F-;H&WUXY(5FT-H>J>8]%8WP^_#`C:=$:1TD^;0*`:T:3 +MTQIG36(-!XBC)IO4&H=)Z7U%J74U7]2:GU5JNI^J=6:OU@^.711-::UUMK?7 +M&N==:[UYKW7VO]@;!V%L/8FQ=C;'V1LG96R]F;-V'EYB.SMI;3VIM7:VU]L; +M9VUMO;FN]H(6(ON'<6X]R;EW-N?=&Z=U;KW9NW=V[]X;QWEO/>F]=[;WWQM] +M0>^=^;]W]O_@'`>!<#X)P7@VG9'CY*?POAG#>'- +M<;XYQWCW'^0?/CYW(_G_0^B/'Z"M[HO2>E8XN=I.YUXIMAC]:?[&>;N$_^Y=H[5W>RO3>O]5'S +MV_NRJ.^GE[GV[P7?^\>'+-WKMO?._-E[KX[POB/)'9[81@HGC7H^!/)X/QGD +M?)^?KAXKRWFE^GA\YX#1AV/3P9P%-SU?H/#^5\)+([OK_+P3,/[;S1X_7^P[ +MO[+SK?/:^&'W[>W9.?=>MO[[WWW:?@>HC933,I!?DT)4W]7(_UOJ?$^;\[T7 +ML\N4(^WY">4)/JP^F86KYGW>H_/]9]&H5;?Q^9L[?T??V+R^J^Y^S]OW_@OP +MH7B1>Q?1?Q@1@QA1AQB1BQC1CQD1DQE1EQF1FQG1GQH1H +MQI1IQJ11HY`BI)!C`HO%[2()-19^- +M):5*O%X)%RH8YJ5#N"BV*!B+1B-A3@AD-QD*".93H=#2;C.("F=#"_;^O^KBO(*]:U)VMKJ!N_R. +M/V&JCAN$"Z)J@B_BFT00"2((6ALDXIC2-KLA0.HV#"U(Y!`*0RC,V[,C*D(W +M#&,JDC"-S2Q,UJ?*`)CRO.L0C).LRT+7!:+K>&@[SD13+6Y6QJPP +MWO&6*!1+6`2%/E93]6@0*W)3$5Y1-%J!1R]4O3--T[3]0U'4HJ#56"?<#='! +M\V&*HA=2J4:.?:^"ZV[ +M>,Y>G>,V0W1.UWT!0,0\LW[%R87[&VMSM\Q]>Y8]1D-^;/8:RI-OP+0<`N6^ +M2I@S"%(!B7B&X$#9FSGA-2"!A8(`RK8!`&\,P(`\KJ16IPU9D(*!O*L&%?IV +MD;!I-^&$$#]CK+Z/"$,%J*#(!U#"UL$$('G@N/$FT.!E4;!&<.I(3+G#, +M`F0@2<`01"B)$9,BEC`IW/(WXB\44G(5827\*C809`T.JFQ-R<&XQ?,2O1,D +M8&KM9,@FF-3S0RMTC,9I;I:6/1R!H8D,T'F]QX9:^2+YU0RQ#-\9>/+[GX1N +M.J'&&P;C'&.:Y(9EL1F_)[E7<4HUTP"E(@Q!2Y9S +M"?7-I' +MN5EVD.2ZLY7%2H1,2>\H2]NGC\"AY0<&T,O:,[X,H;%W+?!0N&0(*(NI5-RN +MZ-,_8H4I;.',,9JX&)Q@&#-"1U($$_@47]B%/#P&,6@^PZARZ@I6""'"CSS@ +M\.N<\"B`H,7:I66$#((<;`SO/J@;E%K,@45;4XC)W-49_$O2L$T,H;354NJ$ +M'>%30ZT'+""F"(8;@VP7974(VD8UL!S6$#.KKXTXUS6O8.I=35/5/L,$&JIN +M:KU]!:J\*A-`4)O@PBT,R,H+HUL">2545R?E""I%MG3>0W.U:-!U=9+VC5P# +M948&0-@4+P7E:XW,:$[.MI"QAMZ*7\M&CV'(-J)W<+AMV"@(U8%M&9>*G:VB +M5;:-E#:'`YUJK:6Z:,G4F#Y+DOTMP=8,@9'E.Y:-!IUULVDWIL@D\&PPMR;;89:,O2G-4YB0)BTI",0<#4)IGG>M@1RTPHDQ6QY%^+[P& +M'=B\TS1,C8,G5/Z;LWR24"*VF6624#<97F1DEQH,:'3NFC/`GQ%XOH./EE:A.#5@ +MNHI8E=_^+ZSXT:2LC/D$#+XIQGBDYQD%EZ!.7>C&2S,>9L%F^+[BAL,==8--M\^/O5>Q$&4!IC$NI] +MB,O\@S>U[/=JJ\"7+:!S#2_QUVW=%;@.MJR^FKC8I-!ML*,%_*%NG=D\4'`- +MS9`JOE@0B6OB?3S2.1\Z,>61NA#J'P:,VN1MTTFP&/;EMHQ +M6-BIT3M8+BJ:TVV8PR?NP_/\5;H8?P?;K46*K8:HQFDW&;:.XXX',-'3P[]* +MMHO](*9)A)/(%B*TJD(G1%33%)9-R%K+DI6ZY:SD^W+IQC+!L#^>UIV3QHW= +M>/]_H./>3X&77Z,`HWUS'-?,R?`XVF#@E1&_!*)6#SWN+'J//:U02]:V%MTF +M9=RM93U-%0JBPRU+@ZU@IT?#2\WR=/N3NU[NG<)(;GE^H,AY-IAE+/YY[H"B +MNKK@9G:XWYCSB\?7=U\F\I$]>VI0"ZZ1LH_C-K,'VP"CJW6('&/!`V=M*;PV +M0/@PV,W+9?M-J#9%5()8RRSO2=E5SY6^QW*B'V8GT2H>=ME5-+:9&R6N;3*D +MV:X&JV:A)*X.8T2=K*#-J3P&I)H&`E4`!0ZC`OX$#VZ%@*YJ:L`HD"ILY>"" +M2$@*;J\"XSYZAZS:(V(HXH(EP&2`K]QA+^")Y&R*;:9"I9C^Y([_*V7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;.3`@,C@X(#$X,B`R.3E="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,3`V-2`P(&]B:@H\/`HO1&5S="`O33@N.2XS-#7!E("],:6YK"B]296-T(%LY,"`R,C(@,C7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;.3`@,C`T(#(R-B`R,35="B]";W)D97(@ +M6S`@,"`P70H^/@IE;F1O8FH*,3`V."`P(&]B:@H\/`HO1&5S="`O33$Q+CDN +M,C$U-S$N0VAA<'1E7!E("],:6YK"B]296-T(%LY,"`Q,C`@,3@W(#$S,5T*+T)O7!E("]83V)J96-T"B]3=6)T>7!E("]);6%G90HO3F%M92`O26TR-`HO5VED +M=&@@,STEDTGE$IE4KEDMETOF$QF4SFDUFTWG$YG4Z>\BGT_H%!H4C@3 +MY?='I%)I5(?SV>]/J%1J53JE5JU7K%9K5;KE=KU?L%AL5CLECCM+M%IM5KME +M,HM'?T,IE.LMUNUWO%YO5[OE]K-G?V!P6#PE,PF'P6&Q&'N%OH]#HS[IM^RF +M5RV7S&9S&`R#[R+^SN?T.2QUQA=SLKYS6KUFMUVOO]&T%MV>2R-KVNUW&RQV +M>H=PNECU6PXG%XW'N^FS]RX'(ZW7['9O'*MFYR,(YWAN-*?[ +M^\6]SN2X-/U4>]G#]_N]GSC_:^WW_%\[F[\+[\#;/Z@2D0$\ZSM(T[JJB^4% +MO?!J>P<^3\PE"<**T_;H.8_R#OZW4!0)`K;O2R<%*@^#X1)!\4OG"L61;%D+ +MK2[RCG^I<:0!&\9P_$#&P0]2I1-$L2I!%<3Q/%TCR0Z\8+1&3_1K#CGH&I3H +MO0W\?11%3APC+45R[),OS`U\EJ7)L;*3&TFPU-2F-Y`S3(4U$L2!%44RY(,P +MSQ/+-MD[\-QNVLS0'*$3A1UM7-BV,OS`,DQ;!L_95EL#9MGL%8*D1$]=CVQ;*RP,R"/6K;MOL[3RV +MRG:]M7/="MT1VDPA[HY>EZWM>]\7S?5]M/>-_7_>*W41?F"8+@V# +MX1A.%85@3;G^?&(8CB6)XIBN+8OC&,XUC>.8[CV/Y!D.19'DF2Y-D^48[0S> +MX?E.79?F&8YEF>:9KFV;XT?F5X'B!]9]G^@:#H6AZ)HNC:/I&DZ5I>F:;IVG +MZAJ.I:GJFJZMHY^9UAL!Y[J^O:_L&P[%L>R;+LVSZ+K.=X=KNT;=M^X;CN6Y +M[IKVU:W&>V[KO>^;[OV_\!IF[QYMA\<#P_$<3Q7%Z_P=9ZYPW&GUXN@^#IW9\+H_C]YY'=>?GWG:MXOJ=QZ?I>'[>Z^MVVH +M>7TFC>OH7R:;[VR?-[_N?9OWT:']6C?#O/:^QY'G>/W_S^EY/C>"^]I3U']. +M[>2_A_+_WGP$>L_U]L#7FO\?[`N!C1'YN:?J_!_3V6@/O?B_!XT&WM0$>U`% +MZ#V8$$$A!!J#[WH3PC@="]\L*(.0A:1!5EL#WRPE?]!EI<(H0PRA6_N%,08- +M0"AI"Q^\/(81+A5`J#,,VL.B<>_2'$.HFM2A]%>$$6821#BR[V(T5XD1#B9& +M6(\'HM/RBDYF&[XXT0TA4\"'42(N-)C'$2#\>8R1`?]'J-,9H81W@Y$J"D:W +M607AS$EWD!8)Q=>G(R.[P)(1:@-&%W,=8=R`C*^B)\"&EPV=;)IJ,`)12E:I +M!UH$H)$2F:?(25DKXA-*E4\UV[8R#/IEK+"735Y;NA;6^*7$\9Y3SGI/6>TZI?MYGO/N?D_9_3_H!0&@5`Z"3IGR?Z@M +M":%4+H90VAU#Z`#XH./\?C.*+47HQ1FC5&Z.,QHK1.BLW*14BH^WBA$JZ1TI +MF925T:,Z0TJIA-"ED4Z3TQIM,NF<;*7TWIY,&G++*=L^9DT-E%1&8U&9A4AE +M]2F:5,9'4ZHKBJ?L#J"/JCU4&0#\JPR6K30JKU>9A5UH+-ZQ-`9/65G]7W+T +M2I-12"\H6HM9J,U*N58'0US:O76L=*'P5HJ%7QJM>JS6`AK7ZJUA&FV";#6/:?8JO]=[)MBLQ8>NEE;$."L-,2ME+::V#LU7NS]D;` +MV@M3:BREK&P6=LM86V4T[1M^L8@.QUH9/VNKC[65UOZ\0HNM9.[%DK50[E0VFX$F+$W'N_'Z\%UX^2+?[<2]5JZ +MI6EII6Z[LG'E7AA=&JZ]][LW=CR^2#M[+8V;;#@"/\19NWVCC%9ZET+=7PIU +M=/!-YIL8(PE>>[5^KC61C`_:_&%\(W[MA>7#[0L"1ZDM@>_.(Y$RIMRWVW=+ +ML(7FNW`.'F`)!0K>/C:!,?9'P2Q9AJ(K_Y.XYN=%O'<)L?X">A)'$T?L2RDO +M[BC#T>(P02R(XO%]I[EWMCCC=GV-H!P)PWE^\.-,D9GCU@3,;_,.8ZAGEX?6 +M.GL8W??D^^^-<*1?A'@O%K?,LWRMA"F`[O\ZWVS>]K.4+LX9JR#)Z]3Q<2Y+ +M?7DF_D.;RQB<]9=Q)GUO>?[>R)?S'/*5\\#9HTAA3!.B[A8;OI'#. +M.K,988UGBF,\7L*Z9PEIO/.3=/-!P9B[!U0,8ZQSU=O6^4X?27T1K1_$$'DZ +M,RI@;0MR/+&YK&[HECI3C%]>'M(SQR?DW$8W;:Y*XWC7$.+7!X_P +MOE_%^.67YCSKE7'N6`>9\RYOT#I?1NG\KZC;CGO+N +MTV@*TS^J)/7N/7:O=P[K +MW2L=!.YSS[WV/ME\:JT]\%*7K?@_#2F\+X?Q49O$^+\="_QOC_)/9\UYN>/('(4=]!Z'T7H_2>E9'1/R?J8&^H]5ZUX?K/7>Q==[#V7M72^T] +MM[ESGN/=>]P'0 +M+/Y0$,+0)OC0&&VP'/^P(M/P.ODP/G:P0P-+XP$P2O=0!'-OUP10-OZ(3,UH +M1)&P6J>07H+P8P5(V-M(6P:L50GU,11=(7Q9Q`0NQ!- +M8HQ-;1C1CH&QDQ?QEQ@MW,]KTGS1H1HGV1IQ'1@0TL5M2M=,.1N1=L61>Q#1 +M:160O-D,FME1;QS)-1O1/1P.2(>))L*H-QX1Y(RPC&-1UQ2Q6HY1^IF1_F+* +M*Q5R!1;2"2"ID1_KFQ2$!Q32'0WQ-)0FLR)$9R*2*IMR(-/R-#_2.2.IKR/P +MTR0GU/SR222R+I5R,R%2)R!R5R+,62,2$R`R8R&'%Q\29G#R32:R82-R9.6I +M>.),HQMR>FQR?L#R421GNM(G((L"RPFY2QR7R<2A2S-)RT-PHGN`-30ARWFSRXR;Q +ME1+1F2L(TGKPV(H-]QQRW2^FWR_RRQ!)'3"3#R],/HC2D3&&K3'2@R12ARML +MUL.,JLA0;(,2\S,&Z3-2YS.2ZN433)1343`Q:S(.1S6HF37QJ3!1K3:)H3;1 +MOQJQPS=)HS>1ZS?1(3@2'R6R(S-R4O_SC)63A'D1/MX3FR#3D203E2G(`Q\H +ML/GS/';-'2B-TI4-!R^3R2/3JR3SKS.Q7M9(JR]G?(WS#,CHK3$M^3W+Q0F0 +M=3SR@34SEFOS$3VN.FS3$3XT`SX3YS04#HWJ;SGH-SHMEKO30R&PPL:-[2LH +M%4$-TT,L9SV-%(FS\0F-[RU-4L>0VR:2F273`3;S8S4'-AQ84,1]2VS*-]QR-[2P3_H/-YT$T+T +M>4GHPT2IN4@GITAPU-E,14G46T!ROL]T?S"T2RTT.M+4S +M%PP5'5(RM323O31T,H_,PM&H]M'4(TK3S3]SK5#3U):5$-'S+GQS"3IFI4W/ +M_55)EU64X57)CU81[1059)=5:3B5;5;I7U)@U?45U@5@U<5"2JSTS +M5N41C4>QRU2GXQBQ]UI(]T72^52OPH5MUE395O(24P0FTE4\0PMWSZ5Y2H1G2P0/1>1TQ*381V3(5,N#T_L +MEV#,"U\U,4;(MV$5Z3_V#)+1LOFR#F,511VT\T6G[RW30MQ1A6"5)(#V.1B6 +M%6.LH5%5+U^R@&*RY6`R%S!M"-I5[49TQTDT_I:V'3\6:H`6(M26)P*1>08/ +M\5N5@3+4R1RTQ5TT8HSURV$4/T.6=5ZUZ/A0=PTV`456!1K+Z5+2HT]UK69V +ME6O3VHN5HVPU//903L#Q.SH5:SI5)6%S16D.!RL6<4BRHT1V24(326/0AV<5 +M2/G6TLR6UT&VVT'UC)80*P+P"VB3BW#I2W$G#0,7&5=W')`0LP"1-W)VW7*Q +MSVU/^0,6KS>U?W&W.(S0R1-W0SAW1T3O376W777W8/0V5V+672WAWB*;WC7CJ8WDWE*57F7FJ1WGWH)N7I7IIM7JW +MK)K7L7LII7MWN)H7O7OIF7PWQ)D7R7RIC7DUL)3WT'4WC5[13WVG3WWFW7X7 +MY2=T'-Y,JN#L3(3LK6WW[G*7Z-=3)HZTI4ZX`O=W\T8>X?"%7@5$X?XAXB8BXC8CB(8@G[OPXF8FXG8GI +MVTBOH"!8H8JXK8KOPJ)1BX<**3F8;'3&(8I8N258OG48PXMW"XJ8O8RG/XSX +ME1]XR8V'2XW7:RZ(,8XXY8VXM8WI%X\8\G.XZ6L67H8X_8_G+9`W15B8X8UY +M#'*9$759%8^Y&9&G)9'VV5=)'Y"Y*9*X]XZS58[Y)Y-G%9+7"9,'_9-9191Y +M.Y!7;9"90Y4R?95Y$VLXEY7Y8'`924A8TXNY;G3YY<999(9:9%Y +MAXYYBY+W5Y,Y;9DRQ9EY2YFY3YGYH33YI9=938U9KG/9?TWY@YK9NRIYLY@9 +MMY>9QY#YRYP9SYA9TFYYOXIXNW>9Z9ZY[9[F58T9VY\9^9^Y_7>8Q9=XD:!Z +M":"Z#&%8^62:#Z%Z&:&Z'8DY/53YWG08:Z)X%85Z+'8Z*Z,X!87Z.'4:-Z/G +M&:0Z1'%:2:2OAZ/:4'/Z3Z5G`:6Z7&RIUZ8:8IG)TO/2A8L:=:=Z>/,-/P\0 +M\:<3.:>ZB:BZC)_I$70/]0!O69W::FPG6ZE0":F/MZG:GFOZHW%W(ZM:FYQ: +MKFJZLQU7):A'>ZK:OS,ZDO]P0:U:R7-ZSYX:TPS04ZNZWYHZ?VA0,ZZ:ZYL: +M[P>6AZVW#5)UX&XV46[HE7[&^VHVHVT:TPCIQXPZJJ_3/RC2&T%6Y,C4#6DI +M')1HY)!-2Z)4V[&PH[`+,;)[-WXSP6ET"TD;3FPM#LD5RP[:XU_[(0-[2[86 +M45,V.LN428#T;TJTY[,1GS1+_2N40L<2U8$6IQ%[&F-:]5IT96'U[[E)/6RS +M[6]4-[%M2(W8#(?P:V8UY[8Q,SK2$;:PE;;TUVZI+S%;J,V;4W^I7(Q[M5&[ +M#8'5\[7VE[00B[FSD[GLV;%,=[\5Y(.VGTU;OV^5`;ZX+6;2H6%1";^3K;_- +MK0JT_;Z;[V\6S<#5,4"I*4U<%VCTT,T<-[];]U0\([(HD[3,AX+I%5(I!HJV +M";B\"U*[CR]X3VN1;LK;$/):LR;;S0IZS4`:]N7V6ST<)&P<2:+<>T4->[!GS[681\DX4))1M; +MB/>`]+T^4F^`[V=N]N;PK_'[6C<.6$[O;,MFV-=V;I\&]44H^8IH)]B>@]2/;\RT!/=X6=$[*;6]#&D^Q^0^A7[WUG)KR^X5D^#]&E^^27^1/ET`<]U4>L8`=618_!2$\CV[4NFI]:\6&W_*>2\_Q +M!_&\FQ6+%=:]Y^W4]\=RB^/=_Q,?->_=0=\2O=E>N2S\]>-3M>Z=ZUF1Q=8P +M._3_"2S]!5`\[>;>2?7]=>P?65J4DP^?<>Y5KHX&=I,1TF>UGOLX17( +M#10_C^R^8\0;E]<=WU^;M_LH'_IL%?4PQ?K]C?R2]1W<7\\M/,F><_U_G=QV +M-?10)_S=S\4\9=V61>JVQ_E^K!]"`/I_P-]06!O^"P:$PN$P>&P2#1"&1&$0 +M*)PZ)QF-1N.1V/1^02&12.226%OA\1-^/R41F5RA_ON9/Z!OF9/N*RN33N,Q +M613Z>2&@4&B46C4>D4FE2"6PR7RF52Q\3&9S6;SE^4NM5NN5VO5^P6&B4V%T +M^75*J/N:/^;3*L6*X7&Y7.Z76P62$V:HS";VNVSB"SJ[8/"87#8>X7C`U*SW +MRJVRKXN&3ZASN,1&%Q*!4#-9W.9_,Z"'Z&*1#+Q:30?*T?-1^AY3512'[#.; +M.)97:9G0[G=;+-QC3Z^2XI]7JG6B^U:W9+>ZB@Y2%:B*]/H]3I=7L=?M=;N= +M&&\[J:N0=;72/Q1K/=_FPCH=#-^K=<+P0KR>SX=KG?3U?;]2/B.,LKD,>OZW +MO6H2-O<^3[OS!D%.]!\&LFGKO/Y!D#PLUD)/0^;W/A"L/HM#L*-'"+^P]$CQ +M/)$<1(^_[&+VJ;DL@Y;BJS`S?Q''$)NS!<'1+'L-2`YK>O;!<+NFV\DM&WD' +MM.B\@O8W#YQO$+ZO[!4*QR_D4PA(L((]%SB1JQRU.4P$:LFV,$OR\[?RBTS@ +M3C.$YR1.C2SO-T\2:AT62/#D3OU+$@PV]<5-HVL//"_;I.`[[8M]$,]/!1L3 +M3:C,PJ@X\R+\R,T0,U4^O+'\NT'4=31]*4GU#44WH(U +M0U5,)/;-5>5QS51\Y3FTMS4A"TF39EDH-O--[PQ,%V,7,2GXS,T" +MN>Q&EZ96^FZ>HN+W?H]Y:3J&KZQK.M*]J4`TWI#F:WL6Q[)LNA1A8FJ0)L.S +M;;MVWZAKMVZ_JNV;AN^\;RQ.AS'OF^[58\;;UP?"<*H^Y:)>&-7GP7#<=Q_( +M(YQ&_QEM=/C/Y7G^@DWF=-S_H^MZZ. +M^GQ>K>Q[ON^UV_4>]\?G_!NO^0!N?;?/\7W_OU?V>K_'^ +M=C_3SG^P!=$_]QD`H#.@@(]R`\"W"P);M`R"#HWXKN:\_1]L$8,02;0QAXT! +M8,P?;?`Y]$((2-;A$_:$L*6FPG>!"J%S2X60OAE"N";172O;@?#.'1=88P[A +M\7:'L/XA%QB#$.(Q7XBQ'B45J),2XG.'AJWYSKS8/1/BL4:)L5XM$DBS%N+R +M+8HMI@[`J+\97)1A@Y%2,D9HV$,B[&V.$;XX1LCE'.,L=8[1>CQ'F+4>X^16 +MC]'^)T@9!1*D)(6(TAY$1"D5(N'TC9'0ZDA)&&4DY*0NDM)>%,F9-0DDY)V# +M\GY008E%*."$I930+E1*F`TJY60!E=*]_DL99/WEI+5]RF"5R[EXZY_BX?LRYF3-'[+Z`$R))11)1-6:TT(JS2AFIB:Y*(IO4FC-J +M9,$YGM#)7.5WTV9Q28G(8J<\V(USKA!,J?\Z9XT"@C00EM!IT1CGS0JA<_)[T.H?&IQ,W:-4;HY1VCU'Z04AI%2 +M.DE):34GI12FE5*Z64MFJ5&9H^*+3X.+2ZFU-Z<4YIU3NGE/:?4NIA,T?DSJ +M:42B$4^CU"*C1#*E1^I52XRU/JA%ZJ54XM55JM%:A$Q*N5=J]5^L%8:Q5CK) +M66LU9ZT5IK56NME;:W5OK`LN,=<*Z5UKM7>O%>:]5[KY7=OQ'JMU#F=,PE$Y +M:?V'L18FQ5B[&4^G_8.PE?R.V!LA-6H=C;,69LU9NSEA[!36LK9);=<[!61F +M]9>T5673@ +M)Q18?LQ+P7A=E;B7EKKSO;O5=V\MIZ^WYOU?N_E_;_5ZHK?6]M@+8V0O79>_ +M^"<%8+P9@V_-%<#8#LG\^9]S]G_0&@=!:#T)H70VA]$:)T-C +MS1FC=':/TAI'26D]*:5QX0$*96YD +M.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8#@0'<0#,72P0$T0%LNQ< +MR`H:C6A#2C1X0&V2R>JCD0&R"S0A%0%"\C1R!%22#&!1>+VJ.QP9S\:2TJ5B +M+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TFXS\!0.8RLR%H93<.XT1)-K#C&-XVC;&8R +M#G/+3)#-H:-,U+2CLU+#C"-,1C$SH64$.@\CA.4Z,.+@9AD&4=RR(RA2X!2N +M1^K@9!H',F($&5]4-@U'8805-`-9J*&P;5=9M85E6B]UO7+":!+2? +M:&&,O)\B\Z/TKB8:99D(KS:`46D&80#,-XV#9=3-N2$`Q#SG5<9I/D_9N$`W +M##@FZO46M +M:+T"5J-9.P\A9U:[/3:C\Q'Z2R-DM=`9$_ +M0,2A,^>D\(.9SW6N>:RUN!))DF0->BV-,X*'^O[@\&4.8='T&F7"^`%"&$-` +MTA*'`.0;WK-]8>9%0P283O\7O#0%!(81PE90_Y;@:6`F1,.WD.IV5)/N4,'D +M-X=5I`U16"AML)68@V9O#XZK_@T/R7:\E.:LH&$N24A!CD'@W@@7H9EJQ96L +M0$)W`98S7&C)C+<7$_4'&.P2C6\M83SBVD;<:45K4#V517C7`./JQ4F1Q=`; +MDN1*8[0/#%!%:T>XVR)6(88N1+9(QX,!(4V3("KHS,T8AE09`R!I88WP-C=V +M;*`E`VI&IIU'2J#3")O8;S')[E*HIX*+6XN"B"0X,1BD4LZ.J=<-)V3:Q>2* +M#`N<8BCQD>F9`E!MBHFE"&G<.!R%XK3!N"@&425I@V=4IP)\OC#HM#M+=_(= +MVT'&58"B%T(F"ATB&3"#T.9YAC#"'`,(8I:F^A%/*!9%]/PW-H9S3&F8;&4U;%S8OWC>;J+3;,^!0#:)+JYS@RL +MW#!ZZ'R7J +MA093TA?#'/F"VH)^ZAWW!1IX.=#5&17HKIR>V3)Y0X4O/K3-"4]9'9O/DP^4Z0:AR(<#9 +M:A]H:S*0&_RFGZ5>V\(').32"#ZTS#U=V[L^YX8<)H4P6A$">%/GBA@@A""3S\%`1>-6>T(G/GMHJ:4%ZDH;1_4C#[XYZP +M3D600YAMB'S:E/6DWAU#@'`Z]&5C;5.OT=-^@>)AGZ9/^V8:9_<`1Y4)C-1# +M`;MZE.;76PH9\]"32]8TYM5^!4&I=I;_TI],ZY.;??B8S<\G-PA=?"N&4C[: +MF_BP9<^>6JD&8.G!#2\&YK1;QSF#$&^74(WK^>\?OT-OJ/&^8?+S$P_$ +M<7>1\8R*$?HMAL3X$8B)K-$9LL.>'!NO(>88I4-R9R3&"?V(S5?G&W,`0`XQ +MV#((@90Q*(1"&<,Z4\DVM@O:_* +M8J_._2XH3^F0R"XH\&SVL"^0QFY8^XS:^F3F6,!0!RG(3HSNP$[*4XG,",4< +MA$ZC`XT.T2T6ZM!$9JP&.-`PBJ,Z^/`FI1!4G,Z\3N[`]'`P6X3Q!>BD,\B' +M`H\7!$>`4,>&8*UO!$WQ`HWG`H8(,]!4G"P\F_`HH`#D-\IF1&-<>2[XC&Y4 +M5LW>4`O@Y.^PFG"VQHS8-*"H7N4V]2[3"([PZM#2!0RJ.(-^T*!B[.7^F,TJ +M36I?#>ZS#>V?#?!0[*4W#J3@#HU*]2T*-*RPAZS[#U#HGV3E#>4(>"_2^*#E +M#RY]$:T.1:E9$2!0M048.P4A#F_%K`W&"HN#H7I +M&`B*A$#F#"P3!=&,9`#3&:G,G\C3&U&<9O%H\H[?&2X6#E&9&H8'&M&Q%G'8 +M[4M(#3%'&`HL;8.JIM`8MPD0`4=(;`;$FH!1`\P._T.^6FJ5#.C45ZNLC@K& +M6*!@52NZNT3&N*#PO%(8K@6*!D3&!P;3(H>DD^6^<$"N7038>"*("FH?)0RR +ME(MP<.+22634)2+R8XEB"2GP1.A$1$A( +M:`/0`4#B)P)@!<:6:*NB!R@0!R)^F@)4:00X#&*P!>"2#:5.!`"(#>`4"B`4 +M("`*96YD$!MDLGJHY$!L@LT(14!0O(T +M<@14D@Q@47B]JCL<&<_&DM*E8B\$BY4,(5@Z]KG=N]OF&M'&X@NJ:H(P`IC6B +M@DB"%H;!H$`IC2-K7A0.HV#".@WCD$`I#*,S"M*X`RC<,8RJ2,(W!2V`ZC"- +MB?*`)CHNFZKKH&!2C!REJB*@J2.AB&:KNR&\=*ZKZ"NNEJV)\EK\N8%P9QV_ +MZ[K^YS;,B&8;N:WS@.4X;BLTY$6NH&,%2++ZWA`&TRA<&S^O^P`9!<&,HKFY +MHDC<.C7-4-XR#J,8Z#2-\2.DZBR04LZTR*MJ+O;!(;25)BL,`*@T,R%K(MA` +M8TRBJ04#G!L(PG"M+M@-(YT^TU+AQ3(WC,.CDABTK6TC284#@T[6#/5X:M@, +M@RTT,XW#*,E2A1"E1C,.L/SW/L4#8/-@4T-M.#I6S8#I2%1P-!`:6`.`Y#?$ +M`YCG3U)5NTPY#&-`TVA/0ZI#4<)V!:=HA0-(W#G.D\A;+J:MN%R."H(DGV/$ +MB7U8%#.M2PX[2V,HV-K@32TJVRXM+5&#!0,S@5%AK38#B-XC<,T*C;"=+,B% +M&$..S+2A9B&!CF,:0P\%L*N+.=?96TN0W+>5(M(V%Z0GG>!C)4(X0E9>,Q'7 +M^CYMBK%0\,EE!2&S#Y5C+"8EB@[N!8@V:6,8WC;D(W:3CEY6@.4-8&TXRMK/ +MX%"HFC`"A;8SCD,(VXPY@:!1D.C;R%`Q5>&^]#8-XPUSI._#-;<'4EP38U"- +M.`W[+7V&!D&CFBHT;#[K><)8!-]3<(-[64U7,WN:,34M*.H4M+#628L. +M6\?$WL,+?7_NP4D2M3*FWTO??D8$X#G5Y0+"8O(.KF8"JF>G`4YH30I@M"($ +M\*<"S!G`9$\B!8(3%5P`R!LJ99JSX71)8FI*'YIGG!L#3#E]45(AMS;J +MW=\$55'JZ5?%6'*L@Q!IBPGM7428@Q45,UX-K1`RAM0\M!Q$50Q-]BJRUEX; +MF8M-9I'EGH>0VO81<]HP`8@WQ8#&"!7+]#5!U#.&=>09P0(4!!$2(P:5<@@# +M""`XAF62%$;*&^3*D`01/@2;):R"9-K;6ZM\UP-6]-L1<60LQ_BTD<3"1P]H +M-2-'^4:6'5++(D^R0E(P=A+A`X1V3G/MMIZ"N+ZH&OY`2!&(` +MX.;#EC=)(#K.@32-.*!T$TCF7$1NC=F,&Z.;`\E]*`PTL!1!$-T$Z>(>!2#1 +M+*VPW48=U3DYL%Z;`H6L#,&5/*91?IK2BG!NIEHCIY!J#D'J@HDJ(R4--1JD +M,,J:P^C=`5]G^I`K%;G9+ZYH0#FE>NQAWO-G0V:9$#$*[K37;7 +M9P8;WW5RHHR<.31DEF'60WOWM#&^S99M;GB<9O3F63N;CQ*E$(4 +MPH!%"&"TC\H&Q(+O3>L')*7`(?#0R$.0:Y5SV6@'.7!U`6T,ZA8.BQ9+T:1=@*CU;$GL/@K6Z(IQXCQMPV\]L[($1V!PVSY/: +M](LO^.;82I,*H<5:PVI`-AA,-VXMUC#"*O7UX*6OCW!L:J]8P:\_'#:M5>MU +M0H_U\#_\-9$QEC#&F-L88XQZ@V3F'F$KX(NOI?E;<<(6R#@^9V!RHJ9!`'6O +M((%4`@H7*!@A@*#8 +M'!;0G'TL(0Y*DO*N&<=;W&R=^3!TAR8@$AHDQ1DQAV%&#J1A0ZF%J!88I"I8 +MEX,@9XQ8V#(&5*5GL[UDJ35NKYG`R;JEL.\S@9L0UO0O86K[9JZEI4-E.PM9 +MAW7.&C8H*`W1%U;K/2,(PS[1A-"C9F'*X0*UR"@(0985MPTFV[N;:.&MW+!B+6G+VJM:4K@+J_*(-&];$W^"C:Z>[A/AU?MN&B;V +M].R#<\+A)5-'K8X+!?A6/JH<.PY3.,";]7A&2W$4TIP>,N7!0'ANT='B\"G/ +MJSC-V'_:OMS.(XI=L,=W4(M0ALO^5#\62:A!1J,.%YLW8+E$PE_L+ +MLV!FZ53Z"8(++(<#DKUA:^-#4=U3HD%&B\$4*Z9L=;R%9\K%3U"Y%`(+L!R# +M)IQ<:(>C'`#3ID&T6H7:FG_UXH^_,G@X5-<925.DH^"6"[)5_B,L&=J11!@( +M,J413\DJ:V/A:6X_\+!;.,]UTDA?!X@+)A6!\DM;YC6'AXXM?5DNOS;J?%OS +M#+=BUAQ(E^(\I2C(OBXG7/CQZHY&S_#G-\#Y;?.%:U9?7^M1:[/6[*102;#W +M9MFI#,!^CP9=YP?N\$^[XW/2<_(7^^I@E1_A/NY38Q]W>'W>ZF +M*#,T;[OE_JPX0J2%/2O5O/J`:#8(IO[@T`WJ\KCB:%XHYO'([OSC:I^BQBRI +MMBT"))?#[I@"./)"N$U)C"?JHE))E.7LRIH,T`IFO'GE\)M%!INB=E#$QCF# +MT)R0.`FJM'5H?%3&A']##G^([P;C5EY`R&\(FN#-THF/>J5%.G^P?-Y(X&_H +MRHXGJH\)]PFNB&#HLPGM^PDPA/++L,7PAH6.UKB0FK"PC/80?*\@VHLD^D\$ +M](EPA@XD3DY@ZH4PA@X`T(3L5P$$GF"NBJ*GBJH(<*QG-ESDHDEPLLEF\1`, +M71"M9@VD[F%1&0S%)1`'`/:#5/;.31#/*1`-!%DQ(J?@VG`0E1)MT1"M7DZ$ +M1E-%Z$*Q$M9N,1``WOOQ(@QQ!+^1(F%/R@Z`YP_M7@SF?Q(I60M0]#`1%O7Q +M'%1CQ(* +M[17$20;2.E8IV(LE.#@DEM9P[0\(/R/'F`*S1`$Y'F'#-VQ`1 +M"22R/@V*Y2129EQF1L33-S.3`:M +M9J^R'K`%;#>/*33,GS3*<#(S5C/`PHU'P33$Y%+C>'JFA.$S;'4O"#(R/$1K +MEGBS3-X3A/@@V1DS3#.C6O(S30"FL%+M9G=&KEPC>-Z3T.7SR-\3E1#C,RJ# +M$+RV@%4@"=BN#*"?IATM4 +MDM"CT4F4NIS`X`YC74P3,P*3-DPB+@93/C^"?"44MB[4W@4+FGITP4?)N4R" +M+TS#="CTLT_4UTETFIS1N',TZ4Q4[C[T\I;`7'Q4^TD%&"^"]C`,X$0N3'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(* +M/CX*/CX*96YD;V)J"C$Q,S0@,"!O8FH*/#P*+T0@6S$Q,S,@,"!2("]865H@ +M,C0U(#,S.2!N=6QL70H^/@IE;F1O8FH*,3$S-2`P(&]B:@H\/`HO1"!;,3$S +M,R`P(%(@+UA96B`R-#4@,S,Y(&YU;&Q="CX^"F5N9&]B:@HQ,3,V(#`@;V)J +M"CP\"B]$(%LQ,3,S(#`@4B`O6%E:(#$P,2`X.#(@;G5L;%T*/CX*96YD;V)J +M"C$Q,S<@,"!O8FH*/#P*+T0@6S$Q,S,@,"!2("]865H@,3`Q(#@X,B!N=6QL +M70H^/@IE;F1O8FH*,3$S."`P(&]B:@H\/`HO1"!;,3$S,R`P(%(@+UA96B`Q +M,#$@-S,S(&YU;&Q="CX^"F5N9&]B:@HQ,3,Y(#`@;V)J"CP\"B]$(%LQ,3,S +M(#`@4B`O6%E:(#$P,2`W,S,@;G5L;%T*/CX*96YD;V)J"C$Q-#`@,"!O8FH* +M/#P*+T0@6S$Q,S,@,"!2("]865H@-3,T(#DP-R!N=6QL70H^/@IE;F1O8FH* +M,3$T,2`P(&]B:@H\/`HO1"!;,3$S,R`P(%(@+UA96B`U,S0@-C4S(&YU;&Q= +M"CX^"F5N9&]B:@HQ,30R(#`@;V)J"CP\"B]$97-T("]'-BXQ,#7!E("],:6YK"B]296-T(%LT,#,@-34X(#4R,"`U-S!= +M"B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3$T-"`P(&]B:@H\/`HO1&5S +M="`O1S8N,3`P-#,*+U1Y<&4@+T%N;F]T"B]3=6)T>7!E("],:6YK"B]296-T +M(%LT-#,@-C@P(#0X-2`V.3)="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH* +M,3$T-2`P(&]B:@H\/`HO1&5S="`O1S8N,3`T,S<*+U1Y<&4@+T%N;F]T"B]3 +M=6)T>7!E("],:6YK"B]296-T(%LS,CD@-C8X(#,W,2`V.#!="B]";W)D97(@ +M6S`@,"`P70H^/@IE;F1O8FH*,3$T-B`P(&]B:@H\/`HO1&5S="`O1S8N.#@Q +M-@HO5'EP92`O06YN;W0*+U-U8G1Y<&4@+TQI;FL*+U)E8W0@6S$W.2`U-#8@ +M,S,S(#4U.%T*+T)O$0F%0N&0V'0^(1&)1.*16+1>,1F-1N.1V/1^02&/O +M>22632>3/IZ2N62V72^83&93.:36;3><3F=3N>3V?3^@4&A4.B46C4>D3EZR +MBF4VG4^H2F!/=]56K5>L59^O1ZUVO5^P6&Q6.R66S6>T6FU6NV6VW6^X7&Y7 +M.Z76[7>\7F]6I_U2LW_`8'!8.JOVIX6&5JN7O&8W'8_(9')9/*97+9>UWU]/ +MW.9W/9^M9_19W0Z/18C-56HWZMYC7:_8;'9;/:;7;9FJ/W5OK6;O>U'>9O#\ +M*%XK;\?D/R>7S>>Y=#JX +M'K^O`>WI=K4X;BX7OW'P^C]?O^?W_-B]3XL*OR$0'`S#*P?Y^P.[;=N\L#PI +M,KR2*6K\(I*_\,PU#<.0ZL\`L&^!]0*ZD#1&?ZK($K3Y-8Q+[0@_,*JZ_,8Q +ME&L/1Q',=1VYD0.S$T21%$\AQ6XCJPSEXWFSMR53:]AW7?E^W\MK4M6DD]8%@C=VJPE)W_A>&8 +M:KS4X3B.).L[=[,^>J18SC6-XYCN/8_D&0Y%D>.7EBV3Y1=ZM.WDF6Y=E^89 +MCF69YIFN;(IE>('^?F>9[GV?GQH.A:'HFBZ-H^D:3I6EZ9ING:?J&HZEJ>J: +MKJVKZQK.M:WKFNZ]K^P:%+UJYWG^S9X?>P[5M>V;;MVW[AN.Y;GNFZ[GL>69 +MX?V]G\?9^;YO9][2?![<+PW#\1Q/%<7QG&\=Q_(?WGI>GZGJ^MZ_L>SP_?-1X'B^'XGO]=Z/D< +M)V7R<3\GT:^5Y<&WDP%@P]M]\%WEP%$'X609A'"&$$((?PN +M@$]&`SY8CQ$B!$V&L4XJ15BL]>&[J&_O\ATWJ"T*HP1#A-$B(L4HQ0(A;$Z* +M$2H11/C;$2,D1XT17CI'6.T=W.19>\WV'4$XMOCC*T>,C1GW1@C<^Z-32(X2 +M'A1&J%LC8D1XDE).2DE7>CX=.]Z+D?6T2`CC&^,G]#\=6V>6TGH4R?E#+V1<0972DF!(Z-\3822!E1(>64RYF +M3->Q+1+#P7`.`B_&N8\IXG0:A"\V#3!?K%*=<]9[3W@5.ULL\)IS5AC"^?%`:!4#>I/J=\\(OMVH50NAE#: +M'4/HA1&B3=I,RUGY-1P=$Z-4;HY1VCU'Z04A:916:+Q:+T):00)L%*FATL;$ +M/]HE+G34PI;32E],:;4SIQ3NFM/*;T]J`U"F4F*),5ZIM7>O->Z_U]K_8"P5@+"5\L18&Q-AZJ6#K]8RR% +MC[)6.LI8:R=EK*V%LU8MIME[-V*M!9&S-B[/6DM':&Q]G;3VBLQ:VS]K+7VE +MM1:NU-;7?T6HO/%H].:ZM6MY8:O=O[A4MN!3"X=>+CUYN3<&XER[C7$M5B[%Y+V7FN`TJ]-\;UW +MNOI>J[U\K[W0:W6Z?=N7A7(I9;^_=\[[7GOQ@;`F![VW@I'@G!U^<(8(PC@N +M]-X<*8/PEAG"^$[ZX5P;AS`N&\-8=PQB+!;7+^4'G[1FEU]<[5ST#GO0N@U'JG46H,FOYTCE#%FA,SM7ME;"TUK +MM;VQMIKO7%C=>ZVMGK_6NP]>:ZUGFC86Q=<[+V#L;9UG,/[/V;LS8&U=B;)V +M/G?.%;\Y:3KGH/6E:ZS5DW%67Z=W;UWAO:IV +MZZH6=WIO??V^=^\`WC5K5L$:X4(HS2+A7"^&<-X=P_B%,=MW]UAQ'BW%^,<9 +MXUQMK&*>#XKXYR'D7(^23[ +M2VI-,=^TUWO17@-4:K[3X74OB,^>"\5X/56C,4,]+[ +M3W'MM0^^^%[/*7K-(=YXKG6T-;?=>]^)?KWGM?G?-Q/\'Y_C?$>W^']3W^=. +M.^2<%^'\7XO=V5Q?]/['Z/O;(_5]+]V._M?7_;Z;ZWW/M_9[OP;\?XY<_EJ( +M((Q0_L_D_>\._F_O`,_C`%`4RR_J_3`(]F\B^.;*DVBZ_Z_6_\\P[H[.[F[; +M`T["VB[K`[!%!#!(U]!'`W`\[1!5`NV1!.[7!=!7`\_RAQ`HC]`LVR]BW4ZB +MYRZ9!VZ+!TZG!_!Y!\Z(WD[W"(Z7"1!ZX&Z="'"#"+"3">X(^,[Q`F?`DY!N +MYA"U"W"Y"ZY*X]!J@HKE"]#)#+#-#.HW#!"O`K#'#1#=#?#A#BI6_!#7!M#; +M#E#Q#S#U#VKG#HC[#$ZNIPJ&K;"5$+"E"6]E$-"=$7"$YW";$;"A$1$A"C$3 +M$/$5$G$E`C"JD[#^?##N^5`#!3`Y!+!?%([A!1!A%'%0VI%/%+%7%?%=%C%; +M!C%3%%%LM?!FBU##$]$"]W!S`+`?`6][`3`<^[`)&)`-`&_A`;&3&$RO$T_U +M#K$`P!%P[[&#&+`.VRIC&=&-&ZP8^C&]&5&S%_'%'*\#"I&C$ZDZ]>JE&M'# +M&X^%&1&O&:Q!'E'?&P]"S#'A'-'K%RDU&E%Y%\^7'=''(+`A&9'G(3&]'M(- +M'V^@]%'Q(='ZX+!I(!'6^\TK`S'I(V\Y(1'O(X_I'!(;(B^!)%'Y)`R'&A(K +M'5!NKK(RUI(E)0^+'U)))DU-(])')M`9)-)C(5)3'\EK%W(NS!)?)A%O%)%I +M*0M7%G%5%C*3%@MJ\9%K*G*5*/!-*K*I*A*;*`I+*%):V_$&KM$O$C+'$I': +MY_$9+)$M+6Y]"/+9$Q+*Z;+1+A+?+5+3"F^_`E$Y#_*'#Y+]+_,!#1#5)9$_ +M,#,-,/,0XY,'+Y"S,3,=,?,@X;,7"Q,+,C,M,O,PH5,G#9%[&VI?+#$K+O$S +M+-+M$=+G-+-1-)-5+E+=-%+C->JS$?-3-'-I"1(I%U(M,:V_($SO*;*?*=-] +M!8MW.#*M.!.+*C(A*S.-.4[?!!*U./.)!=*XK?*],JO-*+&!(_)](/)Y)K.W +M)O.[)U/%&T^A.U/-(+)5-Q,(UB(',\TI-[.]/.SQ(9)/._`Q.'/C)S([/#/M +M/&]7+S$VES/7'9`Q%_/Q/]/U&7/Y/E)[/^_9/[0A)#(A01/K0[W6S5%0(LI3I6)7+1_6[/+7Y7L +M^K6]8-`17)8/1/2I*[4G-XL=6XW58=87')8U7U.PUE7[858Y8C8]1[750S79 +M2)8M8S9)9%1+7A8W9=8_2Q9#1)7Q9D]'8G.I8K950Y999K'A9O6_&/8A:`_Q +M8;9;'%9U3?1A1G8Q7\NA6M656BLA2_:E6?:G6O6K:S:Y('6=69:W:Q6E'1)7 +M::_73E3G595[5E5W3]5U5=5G3O;=6%;;;9;A3S;?5Q;E;9-O2%;-5-H-916TGE$D"G'=[>1>2GO=_&C7>(C<:3>5>I>JG3>98"FPE&E&G# +M>TB@D?M?%?&BO>Q52G,?6@->ZF]?!?)?=?>CK?-<+?0E8B*F)?2B4D)?A +M?W?XAE?E<7?PD*FO>]?:G-?[@/@0?E?_`L/@C@Q +M@RGG@G4E3A<1@_A!#U<5-UA#A+A-#)A',KA/A7A8Y)A35'A;ACADXCA?AGAM +MANXSAKAQAWAXX7AUA[B!B"HUA_B%B+B-,U@I<+B/B7B8;?B)B;BABC:777J1H"O9DQH]AMI?H/E=I'*)1[EO8))=F?I:N?HPS=H-I#E!IE +MAGIIGQG`P[GYI=EBQ"_+F.NDLEJ%H>PUICE[A5B7I1HSGAJ:IKIWGGJ_I_GI +MG5JY3CEEGEI+J#G,IGG%K6]?GGD[J+FQJ'7GJWKGB1C!BKKO$)K10-FGKV:[ +MKEL!L'ASJOAAL(H;K_&MJMKS>SC5KLJ%+%4(P#;1EG"-2QHSKIU"/K; +MQ)J]L[LM-9OCVWC#CKU?RIQ!G!R6HCR1IGSRK#TO2URCWNH?WSX!X'L3T3X) +MX.XOX%<"(/N_PK5UW_VIT%UMLBZQW[EWX5<-S9UIW]P-&UXUX;X[OWKWXQ<% +MX_OA1IV+VIS%P#UMY-J)X-U]7;RMI[RKI%Q)GCYQV)RKYKQ@KOK"UGW!K:LQ +MQKV_Y%B[Y)X6J#0MH;U:8A8Z;5X[?8W8K!3\!A\#$*M$<'7,=4L?5KWD +M\IE#P\YQL_=O'Z_9C>]?^OK=1TL-C.=[HI8Q9.<]SY/L_*)-4497?`X +M)@^$,M@V$X9AM:V+(]36K?F'8KBR687B^-8V\F(3OB5N8ICF1Y(AF/37D%QS +M<>V69;EV7YAF.99GFF:YMF^<9SG6=YYGN?9_H&@Z%H>B:+HVCZ1I.E:4A^3T +M%6Z!:7J6IZIJNK:OK&LZUK>N:[KV8Z:S4[915^5HYFFHZ_M6U[9MNW;?N&X[ +MEH>PN%*>GU^?&6;3M.P;UN?`<#P7!\)PO#;ENKS8_LN^;_ON8!EO2])R"!]UX_D>3Y7E^+UWB>)XW9=AY_F>KZWK^QPW>6-2F)] +MEX?G]CO_J>S\OS?/]&K>WB/&>#TG&^#X?C?3^GZ_M^^<_7Q>H=!T/WOS?>[" +M`#^("0%@,^9_39'^0'@9`V!T#X$N^>\^.!\%8+07>Q!%SC*F2P=@\QF#T(6+ +MP@+&5XUY@SI0IA1"N$\+2+0LA?"XVD,H10U0&QE#R$C"F0AY#J'L.8@%5B"= +MB(AK(C0VB0OIIT&T6'Z*_$\_)^T1'\BD?*)T48H14BR@"),74HMB>XIUSIBX +MK15BO%J+$:8T1KBG&V,L6TBQFCE'",\;HZQOC5'8W9[X\1LC['J.D1D@H_2-D#'!#\CY'2`D')"2\E9"H1DM)22,F9/R>E!(.0Q( +MV%R8E%*F3LJY%R:CC$6',#['^2ME#*R5$SI-(QAA#.&,U9J37A--:;,V(2S=A5#2$IB9IS;G)-Z<< +MYIP3?FU.B;4QR/RGFC/&9LS)1RJG?,:8DPI\2^EW,.?DQ3OSZG[/N?U!:"4' +MH'0&=Q!Y$1B@Y0*@%$:(43GS16?\]YYS/GI/:C4=Y)S0HS/*>M()24+2+0UE +M*GYV3E]69TU:G;3"JE7V,4H?;1:@U":)5DH0=, +M[58*V$KGA3JGU<:>QNC1-*MM=R0UOI_1VF]6LK3;"U=JK750M#9ZT5C[&63L_3.WU6*MW!G7<"=I3+B4NN%SMT;2'^C):^VELK76MNQ+%#-V;8W7O!:F\5MJQ3+O%=J\-Z+SF20= +M1BT=G+IWP.\?ZZ5\KWWWL_0NJUS*8W\M_?ZEJ$)PWTOC?BW-?K#WUP-;BH%C +M;RU&KQA%4-4L)854<\Z#&&<-8;=K!J1-#\.8AQ%B-F;D6N./P]0Y!4`H*-5Q +M-B3&#N7Q-"Q>SR`;Q7HMG?]`%FS42.O3Q9B5\#+W1OB==C-J^-<8Y+=7DAH& +M2G\O]9D^+*CX\G9"=H\+*65\M9=>*WYS^1\K8M:GE#)F9W,99-'Z.SOG71N/IHK56GMEZ+TSI/ +M96==@:PUYI'0&<UELCS?M9[/T?N_2N+]C +M.T +M!O2SOOMO.J]0O0?=NO2&E^2]!;9M#D&=N3["Z1M3HVM-2<*U?IKB.H]L]/QQ +MN/J7#^-5$@5SGH77>O,[WPT7L.-.HYCPQU_M':>A\1R3KWK+=G>Q,7AA;NBA +M<*=U[PGON_>>^)O[WWWP"9._^!\(EGP?A?$)-\/XGQB0O%^-\@C3Q_D?*(_X +MW!/ROF?'>7D5YKSWDO.4/\_Z-%_D_2>G8+Z%=7J/6'L]-ZWV!P/5=S]C[4WO +MK_;>Y+5[CW7O2R^\]]\%0'LU[?"^,P_K4$O._'^87SXC(OF_1*-\#Z7U9W_/ +M^M]DHOU/M?=^Y]W[/W_P?5_%^/Z/Y?S?,_1^GXWZ_V?!_=^_WO\?Y>Y_I_7V +MO]_\>P_U_OUC_K_ST\`$`+T<`<`CST`T`[S,!,!3RD!D!KR!4HF\"<"CXJXQ +M"$"#UI3D"D#CVD"Y($#+_Z1`?T$D$L$P?Q:PZXOK`<$+SY4HG,&$&!)0K8V\ +M%<%L#3U4%!?A#"%$#$&\`L$9D`F\'1",'L$$'\%T()B0?D$A6$'@U\'T)#S1 +M2<)I1D)I7$&@Q,*,*3RL*D'13T$L%*=\&T+D)+Y,(<+XY$,+Z!(L,D,L*<$< +M*HGT$T"T(T)\-[R,+T'4-$*XDT%:+D/#P,/4%$)D.D-D+4(\0+QL08?<0L-< +M/T-T14"*E$&,2L.L24'$,\2T3<0\3#_AIT/\4,444<4D4L4T4\5$5,545<5D +M5L5T5\6$6,646<6D6L6T6\7$7,747<%9DXFD7\8$8,848<8D8L8T8\9$9,94 +M9<9D9L9T9\:$:,:4:<:D:L:T:\;$;,;4;<;D:IQ4;L<$<,<4<<$>,>4><>D>L>T>\?$?+N`X0?L?L?T?\@$@,@4@<@D@L@T +M@\A$A,A4ATB"346?C26E2KQ>"1H(4#G!\)PK"["!G,XTRC,S$C"%+ECM.S,#"-,*#$W4W!@XP +MTQ-.84#H-"0S+-[$SPUP426W;*#F%E`,2,DXCI08SCK.,R#)2H4#$/-04.,H +MTL=0HZCFQM04&.C&PXR%'Q$.8=2DL2R)]`,KIW'J-I:R"BAR]*3AO+DO3`!4 +MT0.%(J#57$JUVB4L)\J08!I+J.V/+\!!12EG5PLMI6"B]?!E8%K!RHZMV,'$ +MNVXJX4#P.=F7!*E=+/::=RRE`974&:57;=]DK_2E"Q+3[I2G7,K7U.UT?MHZ5'S`4<`-X +MU[WJ([S)0FY;LF`Y#F.G"#HY-7C(Z&%`4*B:+^(S4#JD.DLBP(8L(J+(\+R# +M,RCVJQW%?.17-="?1N&RA>E;&4V5CF/6A?%>1G8+;QZ&OIYY@<=V]X39,R-` +MTC'R_APE5L^9<#.6,$J,*"YH#0B +M_JJ9N2\&+8U"'!:B%A-T4P4!7!25%J3,GC.)/RD0/+K0RAM8-%8%`30WJ9#- +M`:!#_XTQ:#.'(,(<'U-:;+%)(<$U41J@N')6*2D1,LC'!YWD('?DOBRD.$SB +M(4L+>6]R%S$%SL2*BCT&1'$P&]# +MD\I[2N?9/XY-!J&N&A/.">R@U;NW:'(AWKBI%@S!8""C((&9AS#&:=OQS5!@ +M@"F&4,;1PW25/\#&E+=I-FAFBP@$`3&G`@",A0AM/BC*W(O$LH306AMT,$<% +M0RB`RM/3>9)P2D%,RWJF9]F+,W6.PH%5^JM6'B!AG2D"JDSZ@UEF*9%"@;E- +MT*@W6PS[+J2S%.%7NK+\Z^`H0XAZ$Z2#,,&L"S%.J=T[./:L&%/U:#F!I0XH +MX,R'T0U>L#.VLRI9:.>KBYNK!GPX!O@NPE&%36?H!B<"@-X=77&"+D^E#Z0" +M4J/#A+(T1IT*M/MG2"V39WU-AMG0%%(;&XVSC8ZVVQF#;&8#Q6H.!NKB2YKA +M;,.=TD_W!312^J[J+9J7#G=,,,9;FVBMLV<,(:X,H@O38)KR$'DL,7&C.%ZP +M0:%1B8@`C3&%X+*APQU>T.X6,B7X7)7STS#2J+^_!-*3VX7O""&R/:06HW/7 +ME6J8+M8*E',,SZ)EK&AW3;>"`-%BS(S;N=-X$#?D0`@Q4Y0T[J@;/_!!3.!] +MQP003=I"J^CS"./=(X6]\)9F5,58@D`&1V@4!533716Y&U>@N!J:]Z"-%L(Y +M+<9Y9*H7L+@RED(GSTD<%"R*P0%`(%8G&0N"`(2%3B*R#131!Z=JP-&2#'&0(2!,T-T\5SFXGH8*9L@9\G##+8A!@*`\VOU'/9SH<'UMDM!,V +M9[6&O85UB&FV*YY[10RAJHW%@->4`LYL0%&-+MZGV>FBJ^M308G#A!#49N`< +MZPGM3X&50*`J?U5/9W5U*E!D�"]`H!;I>46?7ND7,/$S,QZ)5%X+T7^MVXT@`XKDT[C)GZ +M$4*X[M-5;3S/)$IM3CD+X&(6(XUL\&=/]F5PY+42@O(:CT*#GND%./9)8%OM +M)9YX,V='J0!P"52R^%9\A[GY8+`%W/2+=Q*(L[` +M=ZZ9A:OP&8.5W`Q*WT9ZQ?Z,\A@NS)__(0S)M,%R768=>,F10MR'1'=3/R!. +M'AM&!+UL,Z*W,?$1?U,S:EHW]48-K#VV,C*Y/]\^K/-Z`Q(R!_C7%N,[T?2W +M8>?=,+9DM'&GO/]KF[-P/"(@V7$25L/LJH2JJA7WC^#4[# +MB\')F/O.YJH]NH_WC@-C_)4S6NV22O8>T#&&N.MKZX>S#4&]C?O&D?1UE:_Y +M$7C-*R0NZ-V'*/P=T^2TC#A^B8$M\15#MB;@;F??4:E5ARP6VEA.0^W(B"G> +M)"#:C:44_N:(#:36_4B",^56#DQB58RJ96_LG>;HOF>\6DWR)V*V-:0P&[$P,8DR6T@TE!$>LXH64ZHAU`R7S`V(O`Z[,8@($8H +M!M!&X)!,!0FD#6,K!4]&X:**E,Z+!BO_!F+^MTCJK43E`:<&_,#DO8)>9*,R +M;^CW"L#NV$<:\M"2DJT:*D3>! +M]\9R+2F^-0-4>%%>LY%D^_%E`)`-%\G?`?`B=8@Y%U#R,C#W`P+9`TS\*V2\ +M)^!N1J-O"#!+$O"(O7"/#A$>9&**8H1PR'&S!E$N8+%\,^[O&,F<1+'6]6N@ +M\:@&5?'=:DB`4,$74)8(Y%(:&#B4X +M^J9JL,6\*X-V4RRA&@A9$`*V+3"`9T+@&G2?\IDIRH#*HKLPC#(8:ZW(:."1\\2 +M!0I(1&>`!=*B1&"&=XEH@*@.@2RBY_#.**[*8@)4,,O\R[#>[&8D8`*,!A+^ +M!Q,"6Z!`"2?\D$U<>R.L`4#B`4!H-"2 +M#:\Z"(#>`4"B`4(""F5N9'-T'1'4W1A=&4@ +M/#P*+T=3,2`R-B`P(%(*/CX*+T-O;&]R4W!A8V4@/#P*+T-3.2`Q,38Q(#`@ +M4@H^/@H^/@IE;F1O8FH*,3$V,2`P(&]B:@I;+TEN9&5X960@+T1E=FEC95)' +M0B`R-34@,3$V-"`P(%)="F5N9&]B:@HQ,38T(#`@;V)J"CP\"B]&:6QT97(@ +M+T%30TE).#5$96-O9&4*+TQE;F=T:"`Y-#D*/CX*07!/;B$D1DXL(3(P0EM>07!/;B%J1G!4 +M-6$\(B(C4596;B$Z<$AR-6-K(FHC97!`:W!!9$=9(24E6T<*(U%0+68A+T-0 +M/B$A(2(35(.$MP)'0_2B$A/#,D-5@W5"Q05W5N +M7S5K8C9>-5@W4S0**SQ7;TPU83L^4R$A(S=A(21?240U44-D9B-13VI9(2$G +M9$M>7$!%;2-*54]#<%`R(B$C56=A3"-EC510V11(2$C-V$U:E-)<2$A(SA'2D@^9D\U +M44@G4PHU448H1R$A3C\F-5=3;%07!/;2$E-V=) +M-5)D7',A(2=B-B$Z7B1H(2@V964U448F/`HA*%0Y4R$D1#=!-5%&)CPA)&%@ +M+S5:-UAA-5%&)VXA(5XQ/"$[-D)M(F]P;U8A(5!59EY)2CIP-5%#9%\A(2=B +M-@HU:U`J:"$A(S=A(3=8-S8A*%(B:WHA(2,W83588EEC-5%#9DXA(2,W85Y+ +M3%@M(2$G8CPA.F`]:#5:0#A!-5%#9"P*>EY!;CDH-5%&)CPA(5E;9S549R4] +M(2$C.'(A)$9.+#5H(V-'-5%&)G`A(FQS1S5K63(G-5%*4DLA.FE!5#54<"L_ +M"GIZ-5%#9%XU44I00B$Z<#!J7DXG/D4U44-D42$A(S=A-51G)6PA(2HD(2$N +M+B%S-C,D=6)H4EP_2%I&)6TE8S);63\*/B0U)%5)/24S1%!1,5M@?CX*96YD +M;W'\158U@7_5N#OJGP[#QM1R>5R[ +MAJM#7;=>N?7.CT:]JKGN.UV\QG8;H.%ON16_'7O'Y^+8_+S/9[?=6^=8.KT_ +MAL/IJ=GV>Y^_Y2-TD+>JH]#S/4XCD/6K\$/?!<&-0^*OOFXJ./`Z2]/.?SP- +MH_L-PXG[O-9"KB/#"2+Q(X:,JXXS@Q5`3THP\45P%%ZE1:],&QO'"U0>Z[[1 +M-%$0NC$L),1#4.R-(Z*O^OD*1K$4A2?&4AJO%D61M)\3RQ*42RK&DCMD+]8]5S-*,,OU9UVOW62$U +MI3%U2A+4%0';=/RS=-^6Q<-_P7<=LUA\SYMF6@Z%D39L2RC%MAHVCNKI6COSGFH.ZT+OZ!H>K:NPKHJ,J>ML +M\UF%ZCL*\3''FL;-L[!YP]^P;%MJA,[I;*[CN>Z;KNV[[QO.];WOF^[]O_`, +M;IO`[VK%V;=Q"?,ZF'&<;QW'\AR/)=[WW?^!X/A>'XGBGUVW#] +MSY2(\WXWG>?Z'H^EZ?J=KR_E^PB?F^K[GN^][_P?#SWD>S\J(>:C/Q?5]?V? +M;]W1_)\WY(7[9_\Y^W0_Q]_]_Y_O_.R?B_.`1!GZOW=$_I_\"8%0+@5`&`<# +MQ\P%>._Q$B=$^#, +M1HCO*?01B($5H*17@O%"+D77W12BF[A[<7HR1EA/&",+F(QQFC9&U_T:(".5 +MCE'..D=2..[C='F/3[7D$73@3R-*1HUQ[D)(5Z;R"E1_+,VIM$C44QXD-)&2 +M3QGD.W(L;!`#+Y'2;.+)"2L`X\CIJ2AGA/%TX^)P +M/'F/*29,XIESH1&>Y3K'D"R-G?/*@E!7.STG"A:TXJ%D#9],VAZ]%<+VIE3-*](E +ML)_IHONFM.%P4DI-3^25*)1R*:Y./=0I[U$-VM&E[&*DUA/.C^IJND_524\QI8%:E@U6JQ6^-E6J53XG+*:HT_ +M:\517S1>D+'T75GKW6FP5:U_UNKA8>+M3K6VX@_+0W3N1?*X]];G7SNE?FZ +ME^[\7/B;:NZ\H+LSCL92R'<.7\Q#$'#^(L2X>PKB;%.&W?8#NW!&QU7FJEGIK@Q+V#L5XCQUB? +M'=],+6IA_CS(6.-$9XV1SCC)V2LN +M8HRWE[$6/\`9`M%F2^-IL,9EM;F?,V:+C9HS5FG-F:\X9SSEG5X&4*B%DP3E +MALV6LNX]R_H+0.%]#/PSMG'16B=&9XS;D#-^C\Z:2SOI31>CL6VQJW;,T+=W +M!N$U!J'46H]0UNS!J?0FJ,DW]M9JR^.J]4ZQUAD?5^3="ZVU5K9WN>M.,=CM +MK_8&P24WO?SHW2VQM)[)TJ1K2&&=9:XV?H/!^D=<[2VAK/'VN]-5SSW:[`+_ +M[#;?W%"G7A#9![CC?L3=&Z]R;;L7MW=D#=U;QWI`S>U^4;6Y5?_5W&:X[NNUE'&"`N0QZY`Z7AVWL>J,@[-VQT'G +M_8\=;4Z[V?L.@=,T)YCO#A<%^X8[A]U_EL?'Q\7S+H?G'$>L.HZUVGLG@+1X +M7UKV+M'*>A9(\1X'Q>A-M=LP)V[BF8(M7S[KOO.VR^!NFXIR)UO?_&^"YW?7 +MGGG>)>G]-ZGB.D>)]\]=ICU'F7:='-SP+8WE,(>7\QI#O/G_7RBY/X?PWHK2 +M\WXQQ7Y'K?8>JS=[_Y7R?8_+]D[/VDI3B_/AC%;WOEMP9N][S5V??>_?!ZY\ +M3X=T83>Z\9^?]GY=$?F_=^WW'L^8>1U[]?T_;_%6A^UYY];PC_2#$`4`+JS3 +M#\3\;F@?2XKUCZ+Z#YCY#9CTKT,";^3TC-C];^,#+LCM:E+=[^XI3A[_R0T` +MYZ3?CHL$YZCZJ?+_#S[JL%#\+\D%\&1Z,%2NL%D&9[T$T'$';/+^K%[?,'AZ +M$'4(,(AV4&JQL!,(J0\&,![Y\)T!K"S@<$D)2!<([`T),*D(3\D#$+CX2_;X +MKX\++=KR$'Z]Z;T,\-$-,-25CT$"K^#KR)<`$,4,<#KML#Y_$-$>K7+O2,\)DAL6L=C]+YLCI_LC\$$! +M4D,$,>,D;%D040\DCLIUD:4>DB[6C6DETE\9L.YSD9\GDFT;S,,G#8LGT3;S +MD24I,IRZL8,H3?\HD?,D$BLJ4I+D,=\E<61VLJ,FLLC,*_$14^4_4[$!L",I]!9[M!L^]!\[T3,;CX +M\R[S\+=`LNLEE!%#1X=#DK=",Y[F\P-$R_4GDV,YU&S$+\%%1[U%B%=#\;LK +MTULWD8TZT\TX5"$V3N+,=(]&\M%'U%\"TZ,\DQ<^5#U%U&[5KD5"KV$XE(L\ +M%)T13IKCU)E+\Y5,D>D\;;DHM`4K=);X5%#]\OU&DTU-KP5$,K](4_-"T=-/ +M-/DW-*--,\L]S\-"U+31]#%.],="4V%.=,SQM.U(,[50M2+O=/M2=2M-$#U0 +M,^U'51-557Z(%7U83=%8,T]/%9+[$UB%4_U8K=E8[WU.CQ$,%5 +M!\59U9]8TK%75+M'M6U$$.,$3=-"E0EM>,2U,54E>[G%&M@%4E'-?!XM?4A5;]'\M=5U(-+UA=BU7$.U35-=9%>E*]AM94W5(E02TEC]`M?SDMD](\YM@DYEC +M4<5;EDM'MBK]=4+JUE]!]@=FL35652UD4WM/=H%]*4Z=I%7\GM=K:-F\IML3^%EMGCM-3%C +M=F53==+B%I=JRU56,G-E%NTNUKE0%MMCM9];%@ZZ]A-3EP%P*Q%P=A5N +M5K`]N+`%QM[]D%+E\M^]?MWUJEU&!;Z>! +M6"6!)V-UM#5L-[M1RZU^V`<#-M%^#)-_.!US55=TV".$&"=(-^D\5WV%==V& +M$X-?%PMY:G^$E!>(.(2DN(E2F&V&M0\_MWN(Z@V)-45\$S$PLD^!^*"P^*5N +MN#-V]*"#>&EQ>#L`U=&+,'MYMOMY[D>$\1%)-$5V>"]XN%S)MLF,V!N'];V* +MD2=,-E6#.`.#&'EGN.TW\TF&-_. +M]SU#MT&2>%#$&1F$.1T9^2SDEE,,.'-_&%6.;H.'V3-`>4;)V.N5,LN/^.63 +ME4>3^)>,5A^&N7EQ>3%YV36"&76$+J>,N+E[UXF1^5^16`V8>7.!F#V8F79V +M&+<]>$V/4"F6-1^97^-.8-'6,.,=N5NF2N53M5IV4]T6<-\F6M8 +M6(V0:4.:L]&>>>B3^>UK&9V7K@N8R%&?&?*H-W;I&)^=3:N;2#6@6@:0V?>" +MN6V%F+^A=5N9\[&=&AIU^A]]^1,#%BF.%Z^0^=L;&A6C)U6C>B,G^4JUUT.6 +MF96A%Y&DQUNE&;FF.?E5^4-(VF$>6=FE.06'>G;DF5F8%%N;^*F7&7NG.GNF +MLVFB>CM@N;VD<+VH><65VH*_.DNHVEV46J\I>3V9N0DZ5WF+ +M%Z&LN<^@&I=<&I6H&I^2^KV:.BTENN^O-O=7.>&1^>5$NFM`UW%G&KN;N;>P +MMS&L]KNM.&5PFBNLFMN"FCFHV"VB&P-D.$>@KVNM6$N@^F20FE$EVAFS[C6S +M3ZV0\_&O69V)M9NSVTB/.T.J5M5<-:SJ.UVUZ-K*#86W>WFWNWVW^X&X.X6X +M8EL6T1KF0@AKR0.Y>YAQ&Y0S4F+)^XYLAG+/VZVZ^[!F3/I<6VIT.W3&)B&[ +M>[.\>\F\H]PU1NHR9N>]1N*<5#.F>Z:NS!&ZF\V^N^V^YK),0UXUPV6_A68_ +M.[IS^[Z?2QZ="[PLK!8N"WRFRR._'!W!YM),0^1,ILK*I=>XTN*V@@JVRB8L +M10'!/#R\ZMA`G"'$O$Q'7"1"'"FZN\1A7`/`6^)"R?:HZ\XMG$"=JP'!G$G$ +M_'G'O"?"Q=!@I")@XWQA(['%Z@_&.YZARR!2I3*]1C92_*2OBBQ:ZOZD*B*\ +M1:A2ZX7'W+V\QFA990Q@?,9=7%V]YUG`?&7`O&A/2X)BJS:F"C*@"WBGC&O. +MY+*\W+_/>ZW,(WI(/,A)ABG"^,^0O#6Y*9G)ZRJPBC2M!!/')6_1R?_+O/G2 +MK+'/QZF_275JI?2W6"3G3'( +M)511)$A5HN7#'0S*9>/)I?).G$9>JOQ.Y:ZS"R?.)7_$?6/99LW69@G6O"G0 +M?,_0J4:[I3/4?7_9"B"]JSJSJJ:L75Q;I3G9GG8"WO$2S?>?/7_>`@233&GCOE7E +M?"/D7D!F^^G,_)$@'&*KN\/F(\Q??EGG?G@M`U33XR!I)NGH1N?`':GDO7AE +MW(!!/BOGOIWI^ZIKOJ0AQ"WDBN8SHL?%OJ'K?KGGWG`T_7/H_J[3INWH#4GL +M_M'M/M7M?MGMOMWM_N'M/LWN!PWF?FG4#7VXGO7O?OGOOOWO_P".1PW-!U?- +M6Z.W'Q"&IY'JRQ<('Q/Q]TOP?L7QJ3WR'RR*/R73_7<+'R_SI[B7*('S/=S` +MGQWSWTQXJ7">L@?GWZE'U?X?TGUV-7[O]1TWZWZ'\8?JA'Z/^'\N]W[`O?[7]?_.^'W/]_^ +M/_H?`@#Z@3_?<%?S_@4)A4+AD-A;X?$#@K[@\'?[YB<(A3\?D.CT?D$AD4CD +MDEDTGE$IE4KEDMETOF$QF4SFDEB$,CC]?LW@4YG<1B4&C4SGD$H46C$%H<]C +MLUIU/J%1J53JE5JU7K%.GD;?DZK<^K=&BE+F-%B<5?\7C,+CE9MUON%QN5SN +MEUNM;A,YO#ZO5`?5B@\ULU'M-)?=DMMVQ6+QF-QV/R$TO=\KM[OL)P%DF&#L +M=(M=[V._X$LR<[7=\7?\?AV.S[.OAOH[ +M'JD7+]>PX/S^DHX;\?''_7XOV9P3FN4Y[#NBF3P.J\L#O)!3S09!,&NS!T(P +MA";(J6VCELTW+WI,ZSZP]#Z0ONG41Q(KS^N4_Z@LZPK/KRZ3<-PV\-P7"4#0 +MG&T<01&\=0ZVRTM[&3JMV[<'-)"3NPM&$>OD],?QBU\B1D]J_RRO'<:37!\4S.%-3E3=/0?3#VR +MD^$_/3/4IPI'<[29"TG0NV$CU3/\U416JWT4AKB1/1\Q14M$RP',\[R8ATXQ +MK3ECT_9-.U`VSY572SPSR\E5S34]35-:U7T+:UN5M;['UPG%&U\?]%W/=%TR +M_2,R,,Q$7UA*L-V--MEWM>M\3C'T@O+*#96D^,$T!63S0S8=!0HV\?X'0EP8 +M9XJ]:9#I%`Z9IS%Y]%V@,"J&AX +MU`FCZ>J6E:UK.NZ^NFHJ9J9_OWLVS[0_>K7=K&P;=M^X;BDVQ,ILF+[O=!^; +M7%JF;EOV_\!N&Z5U1V@ZK26KV$F.351D62V=Q_(U9I>1\KR7&U)RW)\O;'-< +MQSW'(]QG0\_IO.='TWTU/=65-O5>1X/E>/XOH07Y?H^:\"RK]J7L>SPNJ=GQ&V<4EU8^)Y,EY +M?YGR<[]'@5C?WUWIU7R^I]OS_G]EH_3_-4_=^WX>NN,R;=5=NR*<[1HKMD8G +MH5&S)^+]WUP-?U`]8;[W>P0@<_:"T%'DP9?[!6"<'8-P??E"-SIS(`/:;'`- +M[L!7OM\,I!.!2Q&8/5@Q"*&D)%MPWAT_1;T.'[PV1H4+7:POB,C!KT&GFQ`B/$)^L1(0Q&B5%V+<68EP]C%&",D7XKQ)@O& +M8EL385-<)3`9C<4W3*7C+&F+T:X\1AC0O>+$?5\1_CU'Z-45H>2#D1(*0S^X +MF0H<)"=[D<#J10@/%*!+I82LND6]9Y\7(=/3D\^F4$=Y12=E(\"4<@'C&KDV +MIR5,B)5NND<[!G\;XGKMA<8ES;*EBL+EW)B8$F9@NLA%"7_L2A1`*=; +MAY<11EU.282T9I37FA1B;3OZ-S/H[-:8*@6=.0HU26B])Z/.[H_1FE%(**DJ +MH"?ZB$[9]1&2M$TJ, +MIJM66NE6:*5FKQ#5E3!E0UBI]79]5=:_2+)E3%,-;::42ILH:*M?[!U*K)8" +MKL6H[5+L=9.P4.;,62D30N6JN785LA96ZJD@:26;L?#ZR-J;62'6ZR>U%L:S +MQ\LO;6"5:)O6?GO3.?--8U5]ME7F-EPK6VS4NURXEP8QVVLS;6PM:;01.MY5 +M)HEI4.K3=W%"L)83PH +M1Y$2)42X-G#06<>%- +M<;.!Q;B/$I,YQ/A2&27`=^L@THP+@B_>0[^+$I'@#(^!\A7UR+D_(V2*!DBQ +MSAC':!<3XTA+3B[=YGJ7=N;>>\)IZA9?N5=RH^:,V7E)7E?#,MKIU3PZA?,] +MY,QUZMIF3-F43=9YSQ:J0N@,P7WS?+/%V),Y8QSICYG-EL^9\M7FFXK'&4Y_ +MT#H6/<9\VZ$D/"8Z.B438PP=>["#![PZ3T[IFS6J]-6N21?^\&KM*:PU9K2T +MUN-0ZB;(PO7VO]@;!V!EN?::\[ZOUP^;3FD;FR"N!LG3U7]H:W8;KHKFHL7K +ME(GMO;FW=O;?V]J:ZVL=9:JV93W9:+5[0+J/.NP=I8\@4]>5>&%NW*2KN)'^KY9Y7U#G-<.U=[9. +M2^OE`^W]P<7H;"W8N6]D*)UNZN'>^>-I43"OD<3Z>!F2B'PV+N[3<[-WG"/C +MNOI".^;-FF2SM0*]$J-HZ_$^0+IQZST._O73P[:D#91).Z^(N>N7L_>O/=>] +M5#%A#*/7IN])[^-DBEH:SM?L]*-`_;ZD\3[KSGO>]LFUM4'PGUMI=MC#["&= +MR%N\,^?T[LO>+??4[3]KVOVIA?J]D_&3F_H[223[X3AOE\=>XH7^:]_Z.P/U +M/BG-/DIM/3JYE/M,%FLO%!/Q/\,L/]-=/^-3O_//F1F:.3&8O4/'G,*1JA/8 +MOZ/8JXO8/:/WNZ0&LXOH/O*&A.Y +MG`09+1/HP5/^P<0APB/[EQMZP'N[P:OIPBPFPG"$P?+#ORPEP5HJ.Y.2N/.4 +MK+0KIHO*E_LF#(0>"60=0NNUG9NV.Y00";03.'PDO-0(K2P7/4N%.!("GG0- +M0\)30PPY#J0ME,0R&;NV1`-4MVP802PCNQP4/]PJ0A0RO'PZMXP^$.+&0\JO +M&6P]P[1)+&B6Q#"5Q.OY1-/NB3PHE>0:"A0;*+/2-X.%K($Z0U(\Q70U'AP2 +M"LM'DE._1:-GQ.11-PQQKQ00_1'HXE7151#N6/,0W(VO%141I1MQ(-WE]F%1"Q:&& +MQ9Q?&MIC$\1K1Y1T1/1M0$0=1/P_Q]12("1C1&0)&#QTN`1F0+IL&61NOER" +MBZO(F`1=Q[R'0N1N1]Q[2+,UQA1$/#Q%0(2!PXQDQ_1(Q6+8/MEEQW+*I1B[ +M+KN$PR1"1)Q!R,L_R9.W1GO+2.1QR/0E13PF)>.0QMN3RA..K]%]DGP\/6P0 +M1P1`#0P,R51\O!RHQ,O(1/17B1R`)P04QCL40GRNP)RL2F"&#..N.T2O2S/J +M2P"GRQO%RN2SRW.]RTNM/I0JRWRZNU2XQ3"QQSPT2BPO2%#ZIFRJP+PPRPPO +M1@1<0SRI3$11QANFP9PIR>RZ1K'F25P]3+#@242)'?S"Q,S.1@PKR:P[30Q< +M/G3&NL0?RM201D2H(CQ\1HS7CSR;O)1?Q,)PQ]'\2,3.1^R33-))2\3(2]2? +M/AP0R@15M6S72GFMFS3T1+SMS&2/1KXPYC%I?%41ZS)RJ31C0T*3+S0*F(3F* +MT-M02MLN$,SF0M)G4P3#2IRCSB*P1))FREC&R(3HN^R,3%S;3%4W4;):ESJU +MPI2!4=T/,:S/2@TIQIR["YD1#+#*QR4M3_.CL54^0$48R65`&(-$5!S3T[T= +M3@S)5'5+ND,+BOBNU)12S@2R/>5,51,;5-"_"P5"M#SPT]51U6,5L1";B?5. +MR`U*500;U6U;L*57B(U8SOU#4\R0U<5@J%,6C\U.3'341%U?J&&\5F5FUG5G +MUH5HUI5IUJ5JUK5KUL5LUM5MUN5NUL25[R/UE6&6)V&EQV'U/4\5\I*V*6.)_#[V+U9V`KJFTV262V363V464 +MV565V666V767V868V969V:6:V;6;V<66@6.VHI_V/G16(6GV!6I6LIS6J%BVK3^V)6M6PVMUBC]V0 +M2LV1.SVQ6U&XVR636#B4RUVTVUVYFW6=VWTK5RCHV=6]V^6^V_6_W`7`W!7! +MW"7"V8S]!\03V`6?U:W#7'7'W(7(W)7)W*7*W"O+CBUQ7%VKRV5$6Z7/DL5B +M#\W-3'V,U:W074%$5=#*1B72U:7.NNW4W9#@75U>546$555@79W=EPNQ5-U[ +M6,77R]W>7B#(52D77@60W&782RWBWG"[5!'M#+W-VOVH2VWGWL"X7HM0U>UR +M4MW8TQ.10LRAN27Q0M7RWSQ>WTWQRB10WT7R0L4.):KUW;VX6$U+4J/).!M* +M21R2M-7^QU7^."R21U5R&?L&7ZV\7OWFS[T31EKM1FW_+98(X`L^T4X*MUX# +M7D1$WJ4.8%JX/045R#7]X++&X28,X38'MHX*2#X47[6F%TV[S\V\M'4BSL8) +M2$84X"8XF+. +M-0+=*&892-XD-BT>SY83XIX@8I8K8G8P-T8RX58R8CXL8L6G7JW3J14_8TW_ +M8`8GM,XZXS*PX\8YK48AJ')O8W8/5#XNQ+4(7X7V,D*^Y#WUY&5%WVY'WWQN +M9(Y)LH87XLY`6O9!6P7P7LY.BKK#7@VT3A9/92*`+H9,90WEWAY2Y6"J907E +M7.95Y6Y9RU93Y+W7917\4PR*Y%Y>Y(7U9?9*./LF9A9&K]Y%9?Y$..8UGMY4 +M988WWF50Y=P^X\X^X!XQK68]X@M"9M9L*D8_*GXVY,U?7K7/$C3%XJM*XT9M +MXU8J8[*_869JK.YF(4KHX$X9X/K%O43JYV1UXHYTJQYUYO9YYW9Y4!6\8V9F +MY<9591F.R881X^82Z"Z(K":!:`:"8Q:+Z*YZ8_Y;Y`YR8X'-Y^:!X?S<:#16 +MY_YWZ`Z4Z3M!:.9PZ%:/WO9!NT#14F47Z5:):,Z*=:HZ6I/Z7C\8$8M4;:DG32F9BY@Y*YB7XZP +M9ARD:QYDTOR$ZSZOLDZ$8-R.X.Z09HU;9::ZN5MKX.:%Y8Y1Z[:^Z[ZWR=:X +MZ9Y-X&:_;#:W-Z:\Z98CZN;#[':KPD:M/;7[SQ/9TXZV;,9@:T:R:TZQ9E;/ +MIE9D;,[05&!]3?W3:YMVTGZ?M7:J:*:IYKZGX];8ZI+`9P5ZT<:]9H998E1@ +M;9:@:=ZJG]9X[7XSZ6;BI3XK[`;<[%ZD::803QX12+[A:,:3;D;@;K;6:2SC +M;:M-ZB;ET-;!;&;GJ;#V1P7S;?KG:+;N[A[U[J41;LZA;C9+:\:X;=9-9RY" +M8&T)[TZ>[@[K[J[N;WQW\`;MTY[P7%;[ZY95XO:<<@\='4\T\U\;;0\V\@ +M:A]<=3TV/"T,\$C,UT7#.-[/<>^$ZV[O]8=%CE6_\S,^-`^/^, +M]UL>>/>2\M>3^`=::Z%GPQ>'^&>(1'>&^;9<>"^=^9[2^6'%^4ON +M<^=#=H:F]\^C]!>C=Z>ETA>E=$>)]^^*]_^A>2>F/`]T]5]3=Q\+40]];O=J +M]S4_>@O(>4X0^B]6>FR%[_^H=7>V^U]-]=^M/*>RN_>S];*XR;>W=2^Y^P-/ +M]T>_[I>Q[L8M\F;F=91.>SS<=(?!=H^Q;J=G^X]=>X>NX;?#=L7DVS]V>7'* +M2&[I_'=P^O^^=>_(=2?)?+>V>I=%?$>J^S>KQG>TF`_0]]^L?"4?^D_)LW,U +M^Z0[]$[<?^=>_D:V>$>;_D?G>??D^)?,>*?6YG^K?. +M^5

['Q>A_M\D_N_%?8?P(KY?Y?Z>:_I?X +M_[?F?ZT2PH>0[Q!]"`/J!0."06#0)_ON%/Y_O]\PI]O^"OQ^0>"1*$1F,1:. +M1J!Q*-R"/OJ0R21R642>51Z62:4RV11V+R:83272N;S67SF>3&>S:?3Z93^= +MT&@4>BTB<4:DSNATRETJ=5&FU2K2VAQU\/B#11^U^P6%^UN/Q"&5FT3*$PN& +MP^%1N!12U5&TR.IW>B5>\WBH36GWJ^WO!8'"5*?W^^8;"U7$XS#W/&X#%9/' +M8N[76#62)ORQ9W-22S7#,9BUON&0Z(:*Y3.&P:C:/*Y3);':73(8/99'=;BD +MXC>;/@;O+1G?;:.!Y^!U[.V'/Z6S\S8:'46_-P76\N,278<'E<;R +M_U^7>[?Y>+Z^K+]9]2/+LQS#,TR2P_41R8Z,G--&DH-=*3M2 +MH[CN(:[KEN8T4_SS*T94'/M`4%0M`QC.;T430E#451M$4/1]'4BWU*TG2-*4 +ME2%,T]%E-5#3],4[4M24)-LE.>_T33BZLZ+5.T#SQ6%:UM6]<5S75=UY7M?5 +M_8%@UM-U62;)46V!%KLUG5=A6=9]H6C:5IVI:MK6#8D3*_5U%UM94#-5*MKW +M'=Z7K>U[W3=E6V/%5?6_*=FK5/E4+K3>#5 +M%4U.5/A4^TOAF#U'A^$87;L%8CB&$XQBF)P;CF-8EB^/4LZU]6,LLGU_?\[X +M"CCP8(M$MS3-*Q-&;Y[(6@3+J>HZ#)&:ZSJFH2OHE5/[;43Y/.4][/M&T[5M>TZ56B3O.[^AZ +MOKFL0EK>JZ]O.G;MO6A;IO>NO+%>BL]H\Y(AQ/%<7QG&\'W/BY?1/J](Y'K^ +MSSW";#$G4\-U9_G]]/U?7]GV_=]_W1=E?9XCXV._![C!2]ZGL/%_;W7>/^9_ +M`&`!QDDNH*W`F!4"GSML@=`^"">W(MO4$S,(2PBA3"R%SIS-P+@411;@^8;0WAQ#F'4.X>0\66O%?$08A1#B +M)$6(Q!ULG\*]#6'L38G1/'S#]R41XJ15BM%>+"NHDMAB6X1$6GQHE+)(R/T@9(0WD&^21,E9+27DP1Q?4C561ODC("29JY,RCE)*6. +MK)1\),D])^.$H1^0REA+&64LY:2UEM+>7$N9=2[EY+V7TOY@3!F%,.8DQ9C3 +M'F1`MU!TI52/E9*""9SYDS3FI-6:TUYL39FU-N;DW9KS++"ZF5 +M=$Z8SPTEJ^>B])=3NG?&*>,]9^3]G\M&62XG;FAGS/J:,_Z$ +M4)H5(IU#-:"4%G+0>A=$Z*45+2L2AQ;*(41-212CU'Z04AI%2.DE):34GI12 +MFE5*Z64MI=2^F%,:94SII36FU-Z<4YIU.QU%)46T;BA#^;U0ZB5%J-4>I%2: +ME5+EO`B65/Z@1.GW1:JE5:*489;0^J,:4S.KU#F5U.[#6'L18FQ5B +M[&6-L=8^R%B9P(`>38*PV\M_;.U5 +MQKG7/6?'M5:V[967N;="[%V:&&;NI=-LB*:-7`C';6[5Y;S)TBW=RU%>KKWG +MO=>\K-Z4J7?-!>&\5[2/O116Q^_D*[^PAO^YMVYMX6L.OU!@B[T<%8)OS@>% +M$+L`PM8JHM;N$7/GY=M$BW=;*1WKKA?@FC11KOH/8U?SDD]N-\F(,0ODT +MVV&7:PEQ+B5I^)&=/>R@A+'IS;=MCP]67$&#LNXTR5E5XV*6"(73VE8^;ELW +M82SCFC$^3,LY0-BY/,AMLX$6Q_.V\%;[Q7!?G)3!)WS(B@M$X7S/IU_F=M +M0YX-GIHH[=]*%VPCHS5[+\)YW/EK9EQKWM%:PV^-\F8:MYCSB>'1>L,ZZRV: +M]M"FT]B92UUE3:&2,EZ?VDY7'3EGF@8OZ#V8:P_6O=N/@V^3@[R$ +M=6OZQ=K>%&4]>8TWBJ8^^]3`Y]S]L>DFRJH[K@O@C!^%N&7^X=@33^ELY8-P +M%O/A6$$]8.XGPOA["=XO2SU@#0_%>-/'PW27@U0,07POWRQ>N98]9?7;JG#^ +MJ^7O8/W[G#"V!N$EHZ5?2J'3KA6VQ#OB#&^^Y%Z[&S1' +M&.^+0J[GL]&W=<5;5@'CS4T;X1UET>[]MO![]FMZW$M\;$X%X_U/LM?>-\[Y3 +MUVP^X:EYDOOGF0^V\94WY?VGJ-H^F[AN!#6H]<:*^-\_)7JV]NF[.C/6GY>)>Z=][SPCYO#;J^Y\ +MA[_L_UIS_\:^2`VL]>^(_Z^*=$_$_<]N-W`$]T.8^R]^U4^"R*2@_4_X:"[\ +MXTW^S22ZWO`+`\XJ3S`RWI`V*<]"]Z9,_N[8T*N&ZXULVUFW&^=`K%6:E%;``>L\^VO%"OG%'"7#?%,4JYA$S%F_8\9%<];!N_/$<_? +M$U%4/8^DT@>\]S&5$.X&_JLK%(Z+&`_-&%&=&(2-&A&8V"S:TG%E`-'.9Q'# +M`40J^J]@_I%$]]%\Y[&`XM&[%I&]%8^1&./4_,_<_G'-&''0SY"1'W'8_C&I +M#Y&M'A!1"^Z;$7!6[:'\'L'O+I+K+M+O+Q+S+U+W+Y+[+]+_ +M,!,#,%,',),+,-,/,!+@>;,7,8:0Q])/&Q*'`C**NR.R-.@<+-+G,1,W,Y,[ +M,],_-!-#-%+X-0?@?:+--,?7-1-2?3,;5/[0T=8<2?1/[0'+3,A*%.;#"BG&7([&;(^+[/C+.---S+I.J +MAM1G.K+JAQ1Q1G++1K0K1]1_2!+I0O/!0Z;70[0R(:-2.H(?1&/W1+-C,E%+ +M02ZXY;1;($-U.B@?.G+M1[2[1M2_++3!1[2#3)3+/S290`<90S210Y0U3<(B +M(322+-2809+5#!+9#$TVT1(G(I2L[W1>B;0C1U1W4)+O1O4/2Y3-4547-[2' +M0#/"(B<6+737.^3V<50%3K2?.90/*)+;(C(PU=2O18./2S,Q4%4+1O3#1LAO +M4)5355495A5C,Y4=354@-*-32/4K3E3G/&,S4T[5#=014\XC)9'7&_5%1<0- +M-O1C4-4'553'415?6E5E6I6K+_5H<74H+?4E5S253@<34Q/)%Y'C1/3Q135` +M?O0;3\)/0?2U5/5?536C5;4+6G6M7M7O+K/U2-3=216Y7X+=5W5W7#5\J7+E;U<;;'<5,;0- +M;8?4'O)]=!=#=%='=)=+=!;3<[=3=4?47[.50FZJ%>3>9>;>=>>E^1:EDM*KO1-=E2E +M+;>A>TF/>7>W>]>_?`J4'Y>DEB\(G$^U80KDO->7#6KZ(H60+0G98-2C&TT+ +M?67`1'?:K!??=:DTES>*](KXNU?9?TKG?Y-!?\H:JS$597@>K]@C@E?W?'?[(4C*.Y@;>P'^M'A0L_@[@\J]@H(8I06(I] +MA+?J(C?#ALF#A7A8JKA<'^EQ9.AE>OAI@VK[ASATHMAXOBMVK=3O@TY9B+B, +MHIB1"3B5@Q+7B:OAB>P;%0TV3I065K3XQPYNX`YABE$0R`I!B7*9G(V6]6*@4IC`]M!NTXV*VDTRZ@@K84)23YDPHL=K&33T:=AX +MI(\('Q,CE`:^2W- +MCT3DP[>HMA=CAG-G2G$K9>MF??3FC-KC:ZP4Y*.[R4!$I!J-[F\.3DXJI$W))D;F3<$LG?)F=H+EAH/ +M.AGA!`_CE'BW!YI-GZ0;I/CKCK3T8MHF8;HRHIE-HQI?G_HW>"N]<)6!I!@< +MBGH0+?D&G]H9?6+KG/1);>CY;C?1>-.?:/I)IKI1B=J1H!VX=OIOIOLELFH5LJABT!E?J`C**;IQHA74T;%@)SEKM*GYM.2H +MEFU1L7K@Y]E-F'F_6/'3%S3UM)MJG_MN57?S93B#FA=ICEM<_3L#N%MD>CC; +MEGNONQNSNUJO7%N2V1N7G9J?2FTUI7$M)=(UFRQA?QNWO9O;O%/-O#K]G=I'Q%Q) +MLIP/Q/3MC5I#J]J$(BE?Q@H7Q-CWQI)5L;CG8=R'OY`IPCQWM-QEQ]5_K>G( +MY7B'M@W<8=L)Q?R0H1Q[@KP3Q30-Q7P;Q;L=5&\SEYRH+?QU,>F.PTF#S2F- +MS6F+S:F)S>F3SBEYSGS427R5RSQ0N]7)PYO%P]D^UOIIN!ND:YO]3WI;R/S/ +MPMSJES@6F1T*SVLVQXU +M8(TN3%!=UUYIF0(GV_U\/ZH#MUOKP[BZO5P9W)R_G$9AZCPSGSWYYMF'[+U'YK +M7%N@S[[QP_QN,TQ[E3VHT3CK[]L\C+U[[5:RBY\9MWR=R#;K[E\"^$ZCZ%[L +M*F8'\/L[/6]=Z&QET/IOH/J(@-WZX"2[[$>A[)\QF[M%\3[3[!IYJ9H)JYQM +MZOQQA/V:6/E&\G]7YSD]F#]]Y_O)F$0E\^4D1H(W[*_D-M[\RP1#]3IG\U]9 +M)*51[1X]J7]E\>F?KBM;W;]UICX2V)^7(1"U=<8Q_'VDQA^!BU\!FIGL//], +M^N*%^CF]^5^IV)^MW_QF][H'LN'^(`^8%`X)!8-!X1"'^^7W#7^^HA$'X_(C +M%8M%XQ&8U&XY'8]'Y!(9%$(7#7V_WX^(L^)5%H>^I?))=$9C$XQ+)E,)S.IC +M-8I%YQ.HK,9W#Y[$9M0);0J--)W0JA297+:)4*+&JE%:#5:/7*=58E/ZG0Z= +M,ZC8JU5*_9:M8*R^I2_Y,_K`^J#%8F_;U.+S>Z7+1$:W:\WFK#-[59-13,Y/M-9:;.[[?IIYE;3-,[\OEQ^?SMEG=MPMCNL^B#?*\V3?P:YRBM6HT"*1!S;;C]P2M+$4^%+E$]E&/:0UW'E^9>W==[Z'HZ7W]N39%<52 +MQXM5>/Y"30IZ6W>?\'Q_)@?74I#7L^Q+:_[M[B#6C?OR^GY/Y_M^^L.M/BX2 +MTOG^OM>,^]^#]7^/X:V^*`T"8%)$?T<(SS['^00)(^Z`2C("/R@6S"!$&8.0 +M=)=`U]!83J0B13`![<%2"OQ69!Y@D&X60O@4^<^)SX1P1A*[&%$%GO-TAA!J +M`D/8@0=ADR&&B<"\O:6=#D[<%X5Q!5A"Z)T47H1#0>]8Z$1HKPFB3#F%29C_ +M%L07%^,*;4B%FC`5:-$8C-P_BE&U\L5$?&>)8N")"_XN1,3*?LS1731'$C\; +M8CC(",1ZCX3*0L?X]QL>4\V1DC9'2/D>R-4T#D-.:>K%J.T*(NICD/(2/LGI +M#1G<.2*3L>Y/RFE"3"1189(2ME=*^6#%4\+^?VBAX4-7$1WAVDP_Z!T%1FE! +M(B4LI9!GS0O+\U,P9E2H.(XN#$;IH-+5N4.$$,XY'HAQ$J3:#"S2`F3,R9

3":L1)KINCK1>C$^:-3**U0DU'BO#:J,I +MNL'8=2%>EDSRHG7ZI]$(3URL%8@QU=K*67-W8I?5$J_UOLA%NP-A:CV83/:* +M'EI+4&,LT76IMCJ9T7KFI*LMLZQ5<(_(*,]9+:UBLM:FWQ'[5RUGK'2N,VK) +MDA4+42D]RZ@M\G'4.GM)9#5GG9;^ZU,)!UMCC)5<-K[)6BK1*2Z%/)B1DD#> +M.]%*+J77O81NX-C);2WN]<:\"#D,F;0,V.]-S)R3%0.A^_5TK^3HM[>W`UVW +M17:9S+=XEQ:HDGM/?VKI5[R7[+K>6CN`\+%,O7@?#V"(/U[NQ"3!DN(*6AJE +M:.JE8(U3?PK@*/5`ZK3^SB6L2WSP>]^YY1,,W*R,;^W>2 +M*?XOPU*JTT^L=7LQY7S$F/\'8HPAE#"5R<;Y'D/DO&DH\F9>P[E'*4L[/VLB +MMB6"5+H`WTQ28N^^H%Q6GG/%6<\GRS+F;'>:,W6+Q[FS$V +M;\@X1RCCG0EI,IXCAMFS(&6,A:$TAI&R^DZW0TT5I>"ML='Z#TY:C3V(+XX- +ML!J.X^9M-ZGL/JG!>HOUK'8]=]:;+TMK?9VKXRXVK#KW.V1]@[BR'D[%.CMLZ +MSV3@K;F5MFOOU)G1*&8W#XLWOAN_R'9![\G-MC=M:=MO!V9FFFEL;RXNNAN7 +M)6%.&Y@V!EWA]^.!<#J1P74&W=YOT&N,XF?WWO_='$Z1\WR;5WGG$K^^GF,N=,:.WMG[)/$\^7X[%K_7G9L^[2JWGJG?6. +MLU)ZWE7!FHMOZYTYRSN,T>YZ5WETN[_-=3]Z[W&[ONJWU<=>/L_#_A/"Q2\/ +MC[NNWMZ;@QUX[Q\3O(Z*AOX#.&6=C-COS)S87I>W;^Y)SCM,8,Z[J]!8;S/! +M.C:(RIW[R?BG9>,.!<\QNUNH7-V!L/WG8RC=P]C.WS?7<3\T]?BK&OIT?X;W +MQZKX?%<['&]^Y[S\XR(+_^H[;Q;XW +MW/#>SLW[7Q&;>O?BPB5V^[GS"3ACW[E3ZZCC,+&+^(GC^;^CR#^S-3@S[[_; +MN[P2KRL#ZZ@@US(KBCZ<`HRZ8\`Q"ZJ[(C[(C;[$>)P,>;:L>L6$>[P<PDZ2R6,A9VT?,@9ORU9Q\@\?\A,9LBTBY',ATAYO4:1T@?DB< +M3<;<2<;4HJ+TGLI"T1UBX!TIO4G$IIKLG9'\ +MJ,=J`AUE0TFM.L?%152AZ-2T?M3$GTFTEM353J +M-]/%1U4,J54%>E>M>U>]:]=E=LJXZU?%9M>3 +MCPY@?U@=@E@M@U@]A%A-A5A=AEAMAUA]B%B-B5A5?5?!E45 +MN]\F`V`Y,6!-[^!N"UXU_=%>"0QV"E&-QF"^$%-Q/-_F#9:F#M'N!>$.%5+L +M;>""?>$JQ-^N"N%>&ENRY.$ERN&`R&$])6#^&N']R&%N'%J6'0R.'C!.%.(& +M)1,&#+FV(I1^([$.'V)>*ALV)LT^)^'>&6#UC>*N+PA6*[Z&+(Q^**:F).+^ +M)6`N+&,8QN,M]>-&+^-6,6-BU6+>%&*>.&/*FN!^(;U>.@D6-V`./6/..6'. +M/\JN`$<60>1>/>&XM]UF0Y->1-WF1F%>0N(F2.1&!6/&2N*F0L$.3.,F.V'N +M+N3N-.,.4.">4>)&3F4V(&2^5.(V5>*64N5V&N6&6.462=^^6UXN7&7.-N6> +M,V5N7N2V5&8&763>6N8N$.`M-&9^:&:-,F7>,^9E_%]^:6;.;6;9UF:F8F:V +M"]ZU[N<><&4^(6=&=V=^>&>-Z&=6=>']X&9%0N;^>N`>>^?% +M669>?>`6?N?TE.7F@-S>@>@EL>?6@]]NA.A5JF@&AM]FA^B%-FAFB=\&BNBT +M[F:NC-V^C>CD_^CVC]V&D.D6>FDN!FD^E&.^B6E5XFEF?!=F2FF%VVF69!=) +MFVFV<)VE^>G^H&H)>T"`O;!NFNGEU!,.H6I>IFII;#>*.9]6H^I&A&GV".BS +M6HOS'U_^@VJELVI6J^B&K,40OVJ>KUU.JVEHD&L<5I_^LVL]QNL&M5&SKD1Q +M*^KFDFN%ZNM.N=)[F&NVLNKNO5K.OFOJ]S-<.^O&C&P=S.N6PVPYX.Q.G>QE +M\.QVQXC*UJXFM^REN>RVRZ^`E*[NR>SEZ>SVS[_#R2^6T>TFF.PNT^U!'>P6 +MUEG^TVU[52>I9>Q6E^V=P.VNUZUJN&S>WEW^UVVVVZIVW3\.X=T^WVT^X!J& +MX6Y=V.XNVVYXY^Y.Z6D&ZFWZ*VY&U>[.YF[>YV[JUV[^\%S6YNS^ZR:^Z.\^ +MVF\6]6\FX.V6]T-R?.#6?&]:ON]N^MFN].R^_2>>\V_MP>_^Q_`*QN_G`F`F +M^'`&^6Z&^G!<76_&9'!"BO!7"4%B7?"F8'"R>O#'#-M%"W!RSVZ_`?$-\7#> +ML.A7#V['%&O?%6XVV&\O$'%_"?%>@G%O$_&UJ_`VPW'7&O'EG%$^^/$N]G"/ +M(4R7!O`_!_$W(/).&W$?)G(V_?)'*$WO)?'_)O(^O/*\*O#F7.S);O%W+W'O +M+.OJINT7)_,ME_&/&3I#KC;O-?-DYO,^N:UH\_.?.F(.^_'&?W/`\7"_*W/= +M/?-W-[!>R7/70F%G/O-_."$71/0?19JG.VM36NP"$O172=970W&72\3&N_'? +M3?!G3NXVMC2O,G4=F_'W-#;FLG3/2751V?4NZNJ!Z_3760PNL&;G7G7O7U-, +M8L6Y]G7'7)[N^_7_9'9/90\>HD:NJ76/8N)E2?-ZBO//:':-IW:?&6W':W+O +M;%PG;71VD>Q?;_)7_?&H$KG>? +M>@[)QW?/@'@*6,RF4G=W?M3)F[;J$O9?AGAL9:$K[^B^W?@_/@RFU/A:+/AW +MC7C9TWC(?$'\R'?GBG6?>S!M.$/&7,0H\$:WD/OF)AI +M]/J&+/IQ_GK4Y?D7J?;/DHO7JWKF5/H9;/G/KOEWK^*Q[R6Q;?E&6,0OL\7' +MEOJ7M9SWMOB_L].'@7OOOQ><8S5?K&8?NWN_DGF+$J(_O_Q?QA=$8WB/M/PO +MPPA)D_CGRWR]*_??M7R?RAM?S'S_T$9OS7R7SEH8AV>7U'U/U7U=YW:_=0R= +M?WV/V7V?VGVOVWV]=7TGTH@GV'W'WWW_X'X/X7X=:/W7W8P]9?XGY7Y?YGYO +MYU:WXWXXN5C7ZGZOZWZ_['[/[7[?[G[O[UB/G?XYJGUG\G\O\W\]8]VP@(`* +M96YDS3D06/(YCH,HVA8I(WCH-(S!:,0PCF,HR1:Z@8QA(R-I; +M,ZBAR_89(%&\)(VADEHB#> +M!0H@4@(*96YD2F%G4F(C9@HA(6MG:4U"8$(T-5]A9DXU440H7"$O0T]3-5%%.TQ> +M06XY+2YF7V4T-L(S572FLZ7T@M7CLU44-D-`HU448F0"8M4#5U7DDZ +M15DU44-E5B$A)V(V-6M9,4HU44-D4WIZ-5%#9%$A(2,W835J4TEQ(2$C.$=* +M2#YF3S512"=3"C511BA'(2%./R8U5U-L5R$A)V(V(VM#-%PD6SM965Y!<$]M +M(24W9TDU4F1<)&@A*#9E93511B8\"B$H5#E3(21$-T$U448F +M/"$D86`O-5HW6&$U448G;B$A7C$\(3LV0FTB;W!O5B$A4%5F7DE*.G`U44-D +M7R$A)V(V"C5K4"IH(2$C-V$A-U@W-B$H4B)K>B$A(S=A-5AB66,U44-F3B$A +M(S=A7DM,6"TA(2=B/"$Z8#UH-5I`.$$U44-D+`IZ7D%N.2@U448F/"$A65MG +M-51G)3TA(2,XGHU44-D7C512E!"(3IP,&I>3B<^13510V11(2$C-V$U5&7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#,W(#,V-R`U +M-#`@,S7!E("],:6YK +M"B]296-T(%LU-"`S-34@,3`Q(#,V-UT*+T)O7!E("]83V)J96-T"B]3=6)T>7!E +M("]);6%G90HO3F%M92`O26TR-PHO5VED=&@@-3DQ"B](96EG:'0@,S8X"B]" +M:71S4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A8V4@,3(P-2`P(%(*+TQE;F=T +M:"`T.3$X"B]&:6QT97(@+TQ:5T1E8V]D90H^/@IS=')E86T-"H`_X%`X)!8- +M!X1"85"X9#8=#XA$8E$XI%8M%XQ&8U&XY'8]'Y!(8^]Y))9-)Y,^GK*Y9+9= +M+YA,9E,YI-9M-YQ.9U.YY/9]/Z!0:%0Z)1:-1Z1.7M**93:=3ZA*8$]WU5:M +M5ZQ5GZ]7M7:]7[!8;%8[)9;-9[1:;5:[9;;=;[A<;E<[I=;M=[Q>;U:G_5*S +M?\!@<%@ZJ_:GA896JY>\9C<=C\AD5R^9S'O.!F\7OZ\![>EVM3AN+A>_ +M2?*$HRDRO\1 +M2]%,MNK%452^X;Z(4XTR0G)L:4K0E,TU3;^Q!(,XT3+%%RQ+U'1+/+5.[)-, +M3]5L9QK-%.5E6=:-K3R#U'+J"U'!"KP5!CYQ=,=60I5\)QO8M:V59=F,E0RL +MSK.$31_5#N*A%]FVS;5MMI9\[SC'\2Q#%C44E;%N71=-U,;.W)5-KV'==^7[?RVM2U:23U@6"-W:K"4G?^%X9AJO-3A.(XDZSMWLSY[ +M)%C.-8WCF.X]C^09#D61XY>6+9/E%WJT[>29;EV7YAF.99GFF:YLBF5X@?Y^ +M9YGN?9^?&@Z%H>B:+HVCZ1I.E:7IFFZ=I^H:CJ6IZIJNK:OK&LZUK>N:[KVO +M[!H4O6KG>?[-GA][#M6U[9MNW;?N&X[EN>Z;KN>QY9GA_;V?Q]GYOF]GWM.[ +M<)PO#1W7G>?Z'H]OWDL'Z7S?/]'T_#G/14@?[_Q^O]?'_78.R?^\-_S_8`0!?JT5V#R79P)?5`V!T#X(-. +M>HB-ZSV(+/Q?*^)Y;]'5/S=?!F$#W7YPB@Y".`$)8&.Q?M!U\L'H701AA#&& +M3YX)ME=)!9^#I(5/@AY`Q\CS(0P#\"H1OT>Y&!V<7W51':/%J)4!'^10C9&V-S=HI#\>O#A +M^$5XA0EB]"R%#2H@1EC%&*,,?I!0OC3"V0T3(WR)D5(MK4<7)MGCD_*/\A82 +M/]@[%F$$?H21#A=`:,DEHD1YD[(:1DI932G@D^QWKIW`.`CM&IU[_(BP"EC# +MZ`<'HN0$DG$*3S1HB/V(*_F1$J)B3%D3'&5LR97R$F-,V9TSY3S(F3*YU,,B +M#30FQ-F;3RI5/5E9-.9?$ZIWS@FJU6#4I)Z3YH%0.;4^YE3]:I/^%D0)AT$H=0^)]!I6ROF!0N>M# +M9X!1FI+&J+E#:5TWI +MPY^ELZ9A1;CQ3Z/4?*7THIS46HSGJ=PZI12*4E"I1P+GK4>J54W&U)CM&:K% +M,I*5!JY52KU7W'3=@I-^@],:M2SIH_N><9ZP5MK5ZL!8%YU=[!6%L-4BOCHYX5RL/8VQSA;"6/LE9-NMD;*67LPVNR +M+W:@1?JC9FT%H9N&H?;7ZO\/J?R@CQ:*UEF+-R9D_:NUML['VOCS)6V5M+=6 +M%MM4VU-N[@6&M[1:W]P;C5ZN'`N7=-KCW-IS9:YUT;+W0NE=6QUU+K79L%=B +M[5W:\7*\EZ9VWF:?6K!P/Q]C_*69(X-AS3FO/F; +M;VY+R#CNQM-7P'T[//-\ +ML+$6DE7BNBF8G[T:DWH+2UL<`VIM1$:WU)'OYXV?)R0%)-HY'@1B"V5&:,2' +MVG@?*=+[49>D/">K$M-G7%C1MJC-OMI:NH7N.%6RKQ;@V&D;8N,IJZ5B/2?= +M\9Y@[SMCMJ%N1MW9;FO5VKFTMEYRK1NV>W#ZA[=HKH*66=(=TFXMO7/5O^![ +M0MAG3?689F<&N74&)G*LP[Z<[=3.7%],9`T#OC8.S]D[4D[,':O%>2<1A1K? +MDN=^4WUT9PJ4&\<0\WV_N+D-]-[<(YM%[EU;+;\DY!NSK&D>/=6SFXS..AZ` +M2!V#R'E?.<#QWYHU;HW$([[+YQV'D=3Y_;VZ9NCKO:N]=VP1U/K7&MS<,JWU +M>HD/.2Y:Y@YSL<6=U6PZ5>'=O5_*;CY1>?KO:8_[8@+X'452XT^7ZK3#34N. +MU]1Z+H;'_ANX^AYUVSOWK^L\&OWH;R_K.G\\RYH2?FJJV:_I'K/S]6]A?%XS +M+CX%]=(7MV][[85-:+;8^1S/LNIG_:HGIL#1.F]'P2^M\'1>H^=;>UE^9_/\JM/Q?&>\K+QS'/^8FXWN!PV\C_RHS_C_4`::S^S#D` +MD!"-[`S,KGR>3YKM#[Q[\!L!*YT!;-CAR"4##H#,[IS9$"BW21QP4$4$<$3B +M\#*4+)[O+)#9COT#ZX\$,$D$22*H;X[H;))JZFKY+;B_:BZ'<"$%RX,$*.B. +MI[;@KU,#4)$#CS3MKN3W3OK/T("P,(4(9M"23BCX,$[MSN;O:7:74)+S,*,( +M+#2.:.D*K$>K'$>\8S1#K[J#P\?C@\@L2D?[",@+P<3KQ:+#V$/SKC^ +M+E +MCKD:TR"/<_%&M.#@D^<)TU;*B2E$#^ +M%+TN$N\Y<'L4%/LJSOC@E-K[JP]"<0,<<+SU=)\B#<-++A-)SU,[+P<_,-RG +MU$#-]3$TU`=,T1SMM,])*+#12'\P53ZM]1DU5-;S%(K%M'L@TT,-5,4%$-%;C:T%D>%+:E52 +M\]3BCBM.4+*:[W$039-8<#SE/SPT- +M-BUT%UTF%U=V-O=V%VDD%V=V\8-W-W47=WEWMPMVUX$=5W]X<4UX +MMXU"5X5Y-P%Y=YD7EY%Y\(%Z-Z5RMYUZMMEZ][%X][5[=Y4R\*L6%#E[UX-\ +M"2-\48%\E[E\TS,P-]5\LXT6\Y%]U]]Q5[M^MZU]E^=\=_%N-^]_L!%ZF`$= +M=_^`=U6`N`UU]_5]%J&!.!5^,S%_=].!V`.!&"F`F!<7^!N"^#&"%\.#5KV# +MD;V"V$4D.$F$M"^$^%$AF%6%&B_&&V&Z^&'.'2]6'F' +MK_^&&("]^'^(:[N(N(R[.)&)--&(6)B[V)>)\"N)V*6)6*F*N)N#,F>$.+&( +MF*^+N*>+4G.,#"&*.,E*.,4G^,^&6+^-<4^-,S6-V'&-N.40N.F.ML^.^/"T +M6,V/:S./N/RZ>/60*UV0>0BRF0&0ZVN0V161>.%^F1J[61.2-IV1]_F2BZ62 +M>3$*61F3:[>3N3RP&364*[^4&4F4N2V">4ZW>4>5=5F4V5V5^5.#>6.0N6>+ +MF6N6V#U\^$&7,.>7=]N2^7UKF6^8>5F6&8RJ>5N9*H^9>9BHN9V9ZG&:.:5= +M&9&:N:>:^;&:V8N;>/^;6;RCN:F<*B&<>;N>%9 +M6=^>:?&=.>R=F?&?*?6>N?B=>?>?Z_^?V@2@^A::&ANAR9 +MVB&B*8VB>BC&VA6B^B6C.C6BNCFCNC&>6D"K^BVD:1>DNDS'6D6E*J6E&EB- +MNEVE[$FC^F6E68&"66FFN=VE>G2F^F.GLXILF#^+>H&:&FFHJB.H^I#_>I6I +M>H)O.7FHFIRE6G^J<^.INJRNVK&K*O>GFKF>.F^!F7&KZLZ&FM +M.M6M&KVMN?6MFN#*VN6N<5VM^NV@VNNO)Z>O>OAVNLVO^P&OVP3F.PFPKW>O +M&Q&A^P^Q<8>QNQRJNR&R**.R>RAQ.P.R\7NQ6S3"6RVSJR&S^T".&T6T:N&T +MNTQN6S.U-L>U&UAM^U>UZL.SFV4IVUVVLF.VFW&F>W6W;%.WNWR&>V.X)N&X +M>XD:6V^X],NY.Y4H6X&YK.VYFZ$'&Z6Z[>[FMVL.7N[^W +M^\.J6\>X6ZN\Z5.[V]6N^\N,>]J&.XV^.ZF]F^C0>^V^ZG6]._2,^_F_J!$5 +M"2&57`!Z*1W`?`G`NNE\S8VL?!6P=_4&)P7!/!]J-#;%G"N\&H2*T7_#'#,H +MK%47"#'#_#6J!P,.ZO_$G!>79U""ZEW%7$'!B&YX'%_&"P;'9WZ5FG/&VS?% +MAU"Q7'?'CL30AOT`_(7"W&1P*;_(/(^S$5'"4$?)J=RQ/*$&/*6OLRYF_+7+ +M?+G+O+W+_,',(CZL1B?,O,W,_-'-/-7-?-G-O-W-_.'./.7.?.G.O.W._/'/ +M-^//7/G/O/W/_0'0/070?0G0O0W0XZ0[?1'1?1G1O1W1_2'2/272?.(^ADQE +M/3'3/373?3G3O3W3_4'4/474?4G4O4W4_5'5/575?5G3_,75_6'6/676?6G6 +MIC0@(`IE;F1S=')E86T*96YD;V)J"C$R,#8@,"!O8FH*/#P*+TQE;F=T:"`S +M,3(W"B]&:6QT97(@+TQ:5T1E8V]D90H^/@IS=')E86T-"H`,1`9P40BP(!>1 +MRG`C.1HY`BI)!C`HO%[2()-19^-):5*O%X)%RH8YJ5#N"BV*!D+ +M1H*1:,1P,AP*">=C*.!F.!B*"&;SAELP>3D:3.: +M#H("X,AK`AD,-D("1E1B-,R;#*=#H+2@*1GGS"8\L.10:S#CMB*#((-"+A27 +M2H2@41;##*P-QM1HX-*1A:%,C--)-%QN-1@+AS6ZO;_/Z?77*]!>O:IW;>"- +M_5'/.-:.&X0+HFJ"+^*8UHH)(@A:&R3BF-(VN*%`ZC8,(Z#>.00"D,HS,LR+ +M&C*-PQC*I(PC<%+C#J,(V)\H`F.BZ:)).M:?).MZHJ,&*MP$OX9!<&K"!DN0 +M;A0*8Z.3(#(CH-(W#.$$##3%[J+&DZS+1&:V(NM[.QZ'"51V%`J!2'#(C>P@ +M9J"%`YR,.0Z3,&$ACH-#*I?-$GS-U%Y!B`W8E.DABX&:8-U1B0C(-* +M0C&%M*A;(,?,,ER?HX*@B+\%&6Y?0.AAG(8U#K-4@:EB&85KBPWCKJ\ALTR` +M4:Z-F::W-3DS;J,AXHR^+:_L,XY4>Z&HL32;0Y)DV +MUA1E&,[AE@TY=K6L.3.>MC(,HYC&TXQ#+LVL27N`IXUIVX1Z_P8ZAK>;U#PF +M2YG2HJ)HO^ZXR$`C0HAO4*-AL`SD$$\C:.#=34$'.AFXP[!2Y8WC'"O&C<$` +MWC,$&Y=Y/4*0M#`TCF'5*K&H5WJW&:MNVHH:)^&NDJN%KTAAI-]W]5=6VK=^ +M"6U92BZ)A:ZW)I@J#1[$@)_;0FQK2?VY/_,^I,,8=0Y!SF^-^0A$H-@;PPN4#(] +MJ)088>NH!E`\D+MXCH)068.)090VI[=#$I_T2B0Q38NNP!1A2C0>0`84%S26 +ME@H#,A<$`>6NO1#>"!JH93H*^CH4*0J`6EE_""59"Z(PYFB?ZFH-+R@Z.:>$ +MB9XADGCIDDH\PH:'6QH3.:YE[4;GN0F`4]\G;X09J@A:CY\\;WU/L6>M%`Y5 +M@\A?B8WU1[[U72H?FL9^L&3TOX+VN5,$D4@`U!FFE-:BIES-@*T.9@*%)A8! +M>$T-Z2@S0.@@YJ"K'J"%;`00/#H&,-!/`WABDO8)$<#PQAK;ZU +MVN3+JV/-14&P%H;C4&JM."R/1&G%[%;V1NK.:XD,LI4 +M82GI0^`$#X@9`Q*,^99U,WUOZ7XOXEU861,O#>;HES:*^@M(I3<+]<+M$.OU +M5L-H((\Q_BX"`'DE4U!?#(A6P(/FNAT"^FH.H9GH`R!]`\,@7V,AW(<":G<) +M9YT^/,64',*YC+Z?W,J'0-@4.=3^\9Y%I0UR@,J9&`9F**%RFLOQ"MLIPW?G +M'"=4$YH-$^!O2U3V)9W+/7ZM.$C`LA+:1R48&$K4HJ@,PKJ#+&S, +M[38DYQJK5=H3Y(ZZ9JA(A9[_#*L`>[H2E)6P<`Y*.64'$+YC:-O9<5Y+CKYZ +MQR?,">A;`:0O!D5LPVO%P8H+_2,&X80SI`7HTT,M7U%SB6!.13>1)T)C1\3[ +M7>2[VY.GE3V%"M'UPL>[N6?42&U*A3AJ7:[E]0R5VLVS?::0RAP.2A5R6]]A +M9]@R9E)89$RFN,SOV/,0=Z4%X&D/`#J$?@U,PUK:[:&9G);-M<)(+PGN`XCK +M#?N`&A7F*`#>0S2-7%_B)5],U+M0(BK,9B?F>>9YO4-S2_CA@9\TNYS/-%=K +M%5Z1!-"<6LUKZ%I4L<_UZ`8K*T9+.]F`\/Z4F"O-!D+$J=4TX7E9[)M92HZ< +M5LQ"R>OI*B4#T6K;0E_S*]9,RHJ&^]-Q-/1!N.4$O]\YE)> +MU?C4(A_)5FGP^$A:"BD[6B\1^HV[R[MJFB]C!#" +M#!9(SK+N;SXM*=0')[H[S);%#3Q@$`#IK6HGPQ"%C*T"C7KMQ?;!["(.C"9# +MCN3$,!X\Z%C14$#9[3IJ!93-!UC03LT#8V)6PE4`CJL`[M[###0,K#D!L%32 +MQ(,",%T`KO:9$&3A@D(.90H,9)1X[G#+8-ABX&PS$)L&AFD&;P`%L+SW:A<+ +MSF(-@PD+RC1:#+:ZD,[AB:<+SGYF9F$+QSL&R\*58CHLHF$'J];MZ_4.+-L( +MC=32PC;7!9`GT/;L*9#D@SS'9.QH<1IQ3ACG+&I=1($1JI!K41K_1D<2XS[] +MK[D2`SY)9TT1J1\2Y)).0D,2Z@B-(Q`R*L,3R)8-YC@-(,2KQ1)CXQ`S[,$4 +M0%"^(,QJIY@%R"<7SDSI<&Z\0E(HQ;D1#+"],$19X%J^Q1<%,09;0[P_0\\9 +MT"K3K:3:D64*!C0-+/YRK5)\L;;W"1*@I"IJ[%D=IPZBAK!$!S;%D7IK<>3% +MC4YTQK!D2K[^T>K[1)220,9QYL"KT,QJ+%AS)Q;/8.#/9N#_TA3[3\AS9(;! +M\=S':RB2;V!K<5PF#4!GIG[YQAKDAK#DTB91Y0J!;-)K!2:+2"CI@DCLXMQ> +M@H#12$!9P%##T:SSS2R9A'I44#C9TG1VZ":0@N2FB5L=19[TRW"VBVQ)9,[%LT(SX.H.$DPS\O8X*:QG#: +M+K8B[H,[8@4[K@$ +M`(@-X!0*(!0@(`IE;F1S=')E86T*96YD;V)J"C$R,#<@,"!O8FH*/#P*+U!R +M;V-3970@6R]01$8@+U1E>'0@+TEM86=E0R`O26UA9V5)70HO1F]N="`\/`HO +M1C(@,C0@,"!2"B]&-"`R-2`P(%(*+T8X(#DV(#`@4@HO1C$P(#DW(#`@4@H^ +M/@HO6$]B:F5C="`\/`HO26TR-R`Q,C`T(#`@4@H^/@HO17AT1U-T871E(#P\ +M"B]'4S$@,C8@,"!2"CX^"B]#;VQO2F%G4F(C9@HA(6MG:4U"8$(T-5]A9DXU440H7"$O0T]3-5%%.TQ>06XY+2YF +M7V4T-L(S572FLZ7T@M7CLU44-D-`HU448F0"8M4#5U7DDZ15DU44-E +M5B$A)V(V-6M9,4HU44-D4WIZ-5%#9%$A(2,W835J4TEQ(2$C.$=*2#YF3S51 +M2"=3"C511BA'(2%./R8U5U-L5R$A)V(V(VM#-%PD6SM965Y!<$]M(24W9TDU +M4F1<)&@A*#9E93511B8\"B$H5#E3(21$-T$U448F/"$D86`O +M-5HW6&$U448G;B$A7C$\(3LV0FTB;W!O5B$A4%5F7DE*.G`U44-D7R$A)V(V +M"C5K4"IH(2$C-V$A-U@W-B$H4B)K>B$A(S=A-5AB66,U44-F3B$A(S=A7DM, +M6"TA(2=B/"$Z8#UH-5I`.$$U44-D+`IZ7D%N.2@U448F/"$A65MG-51G)3TA +M(2,XGHU44-D7C512E!"(3IP,&I>3B<^13510V11(2$C-V$U5&7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C +M="!;,C@Y(#(X,2`U,3<@,CDR70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J +M"C$Q.#@@,"!O8FH*/#P*+U`@,3$W-R`P(%(*+U(@6S0U(#0U(#4T.2`W-#== +M"B]6(#$Q-C@@,"!2"B].(#$R,S(@,"!2"CX^"F5N9&]B:@HQ,C,S(#`@;V)J +M"CP\"B]$(%LQ,C`Y(#`@4B`O6%E:(#8U(#.#0:B`:#@;"`6C.6R&1BJ+"`C@J.$J,"`U"`8BX8 +M#@0'<0#,72P0$T0%LNQJCD0&R"S0A%0%"\C1R!%22 +M#&!1>+VJ.QP9S\:2TJ5B+P2+E0QS4J'<%%L4$,WG`4C$:B@\G(TFD;>A +M3(S32HT(;C48"X[SC6CC<0+JFJ",`*8UHH)(@ +MA:&P:!`*8TC:UX4#J-@PCH-XY!`*0RC,PK2N`,HW#&,JDC"-P4M@.HPC8GR@ +M"8Z3J+&(T%K.M*V/PB[]+B%P9AF_ZL,`.8Z1(,C6C(VP9AJ&P4"8-(W#J/$C +M!JYL-ABTHPCF-`TC>-S:I?)`4"H-#,RZYL"#3*$DC&-XVC;(4H.:-DF3%(\D +MCF/(W2#)\NR2-(YS<%$KC>U+-Q+/04#$,HV4"R+D!2&S#RY([FS`S+INJLBA +M1F!2N1JKC=!N]4%AO',=QZ!06O2&".+T!04!;,PJ#5&$9/_&B=K:BX9AR'$= +M/-4<>0`O*]A0%@4UA&%,5I35;!`K@:!@&@7)0CM?5+4Z@55806I#(%BUBLE9 +MK0B4:UNE32!XE:M4 +M6Q@,@0I/MX1CCUQ84BX:ADGX;);B-]U+8*_A0+D=AN,*&S\,<21C".`X#*UH028$&C../(00L,C@!2J(4-KCEXTSD%F69&X89-`%_ +M93/\"X+;^883&N$RH_FFAOMN=79584*7N@C61<.TJXM2Y*YONW7[E&`5;,(V +M,)EUP5KO"VAG3X:\9OUUKMR(N\'EW#8_9?$KGAR4\;O_'VOR-7<(EM,[O&R? +M.X%P8\]QV*59GZ8,Z-PPC:S/+9@HS=*$O.HA1T8M\)TUE4X$#*!L%P91YUO0 +M5-R'`VT,MN9=VED]M>9]'8;>%XGC6]E],^2''EO_YOG]GF!Z +M0<@Q):\QGH<#7$H!0H%*@*`S@I-*:XX[Q`OO`?BA]^;1V#*94^7%_05'FND? +MJ^1<)Z2I(\@(8`UIHSFM#;,_9\K#@:'W@\JP+H*PNO19@XAM8(`;&Y=<]UV# +M@0\!S;F\=VJXR?%M2H4

Y%Q[X;@WII#<',-YG7"1A?-$EZ +MJSW=1SC3%!P,;'ZO2ATS6)\:)'MO>\ME5\(6[1(82#(&0.6'2&DBZ%P,%'Y/ +M%C^\A7D'7^12;.O.*IS(S19D.R>(*V5MAT?]$=F116_0QDA#]]THH+2DB,LE +M_$J(:2J"-"(DD`(!$[AF8"`P*8$0*-+`V!YFC3!M@F_"4:E$7MU@TCHW$SH/ +MO0?&_]<[ZH3FF-H#DC*CHMR358&*(DE8,OEDQ$ +MH_A<8>3\C4Y&/*6H^1^F&PB@L@U=K/I!&JD2OUA!=I+*MP\K7=NZ1Y +M2R?LLV`T"+),J,3MP9+.>Q%FA4B%A3`>',*,$IGE3D(M2)!O5ZH. +M#^3CJ1'6?RK9:RWH)+DN)_#W5KJL[^;DP7Z4#7#,6KQZ6E4^AI6.1D528'I! +ML5RNU+FXL"8).>C;MULS2F&R\L7)*I2 +MK65AT9;5NR*Y`:*B8=4>JK.Z>V@LA"]*B](9L\FA`S+BS+))>?U! +M8+;2W:.I&P&QI0WH;O9AQX#06AXE-@:= +M$(<`Z!E2+B`TH8@\X;-@'1+"?<5`H#LH*=AQ0Z8UQWB.^>(;[-SQV%P%&!"R +MR7)VPTC;M"+G,6@NC"L/VY5,O!A%\[^5HDIRN]Q8;A+STVR>[H&64GJ@Y*,# +M5!>86)@HB'$6UU<8QEQ1YG"VV:6`,645D8UT+?]`; +M-YFSN#23@,,\@YPLCYGP*<;`H3,:7'1D380&29B_&.:<1!U#HES4`*`G*!R' +MCAL.,@40&CR^$.:3(&X[3YIL,B6DQ:F8SJ7#B98,8E/5I1IUTH9@HQ>'(-J3 +M$*/A-K&V?%9HSI(TO$#!E2ZX:0PE93-]M=&68@K5FO3`WE?77=[-YAR#JH0YAO$K;Z--OT%":;\L:X1OS@! +MO%#AF0MK_>>L.%04#EA_@NLPY)JQ=PA"O(MX\`OJ'4.;86QZJWF$FXF)..AA +MN(B6%M3D=K17S.N:,T\!36N+-BY%>=S9,C"YP'%O&HF`W_*[CT"C#G$;!J7> +M:6MBPQ*`2FZ+4&>\8X`#A/\%^N\+34FSAW84X!N#*Q,II'#FPA\XK!&.&WDX#'P>R>M +M&`.3`L,+74*E=#?X9K0(-:!G#D\0%C6`W!I#H&E%(:0](B#?K!"Z;`QI8[0" +M"U?:6M,:!!K`-WVPZAR^['H.G'T50*!GCSU:%_=ZP!!RCE2C\F6%P.0(]&V: +M+U+8'+:W.WER6[7PPH!@VRE^Z$@NIJ)(NB:8V2W<:B7\,,SZ!0",U<..T"N^ +MT&J>T*S42H>N>R)4!P@VLNH`SHP@J>_Z!D5V5%`[`^5*,`2T#8#R!TOF)6W@ +MZ6TDLPQ1!B-@#FWJWN?@](O9!J282`X$#&^2ZI!^-@32X&M9!BZ\4`0DU+!J +M4/!PZ^-2]4..,R-+"@-@TZ!0X)!DZXJC!S!VWQ"TW(,ZU5!J",FP4"FO".!0 +M:L^G"8-629#*R)#=""_&#K"(2RYH1>O3`\1XZRO<.,,.2?"N#&U0Q@!`#(^^ +MUP^V3"^L0<0D0I#X^*_9#Q"'"*_"#?"4,>KR^L#044!H.0(<@HQ\Q["O$\)@ +M40#((^2>*(=$NCW#S#V2T*&1,-,(= +M$(SD]7$0U(@Q&69[&=%Y&C%_&O&ROZ!!'1$,,.#+'7#Y&\#00H*&0\^`)"#) +M&0VB-DZI&5&89\JC&?%[&D!!'H.!'M'Q'4U1'[$?(`#O($@,QA(,U(OZ-3%& +M0W(5'?(;'C%]$A(E&TO](K$/(NIE(R,=(V)#('(\:+)!''([(+)P1$)",+%& +M#.3XV:(P^*#N2P^F:Q%*T0!E'^#D#(#N#3((9_`Y(3#]%NW:O=%^QZ4612#J +M1$:R_8Y2CT-DWP#8-D#*#B10#9'\1$#FOQ'L_9*Y%'*\?"^-$>1$0F2!$>)" +M1%+-%:;*N^_DVL($2.+RP6L:CPCTIFW.RW!(D$PFNPJ2;:)256,!`B.4,/`H +M4LR:LC`PD$2HLH**YNH6B$T=`-,>;R7,9I-&D^583:O,R9O!FQT)@22Q.:$2-.2Q>#9+9.@22V) +M.0,.CPEM.0[8U<)@,.#&)"VC.JX3.03H#*#@-;/'/,[$CVCZ3E.3*B8T44,W +M/)%C/(ZY.83_$D0G'9/8^"^&#;*H.B;&N\:05VDT*Y$$W>968T2)!B.:"2!> +M"?#0Z\"3'`:L#([4MBR.3-!^Z]*C.G0@0BY31'#!!E'Q*&UQ1',7/?#E/DUZ +MQ\#O0&;$,.T_0Y/O!^.;0:2'*?#E0D"?1&#@^^#@#>Y31NZ\291,\=!DUN#; +M$G/\JB.;0`>),#,Y,&9"!`C.-)-<_NK0R2`\6)>52\:3E3M2=2@0L2-3L\W3ZOJ#FYD=V_1"NN(QB-(W\YF +MR8JP9JO'37,:C"K\G64A3L"F#+3POK4S'$4)42!0HD8O5!*H!D"FYD-4 +M.(#OL2"Q?*H*-5J\].73M.< +M@:]>]D7Q3*]HO<:*#=.TOF+B4,U_6FX8#$3BU+6G*BQQ6DOJ:,[<=J+DT0J\ +MM^FDN"[LFN@BFU4DZ(9@@VG'4M6D-XY<-*YA6L356P[16T-Y6X#17FX2A;2P +M;42.DY`\>JMDK8M2=E-0D"T.),7P1X.9-NCE81 +M2ZK;88SJ_XD$ABDX/=8G33,M8LUR>R-XZ76FQ9/12C9F[*>ROK8U2O8X;4,D +MRJ*Y9784VW2^?%9*RXD$S=8E82LO6.8*:2H/6:V63Y$B>$#I!<:P#.CQ((VF +MHN!@/\ +MDU!4W'-VT?:0;S!,6B,G;8>Y.).-6D_/!U'W!Y%6T^1W#>,*23$-%''W)@X( +MT0N*X&!;&Y6J_/5<>R_/$Q&%#Y<4N+/7=$TX#=%B39$U=/"=+/=/"DO9`0HV**,!PEY06Z35M.0_.0_ +M40.X@2Q()@_//S>N\V4@!LOK6).A='=80M===->F\O?'"[?,13!=?7(+!T0F +M#RWS?325?3>X_.":#"28!>,$X;>L_."NFE9C/G1E?7#8!1))`K-D>K-I9.-V +M>P):9JVRSE-/:/-29FD(2.>J,,RQ-@?K;H1K;L9FDT6B(Y@HRQ@O;0IN!J7O +M7)A3<.;)?64F_C9Z*XPF,I9%87;-(&,]+P^L?G%A?;$U:Z +M1A;H[D/P(X/<]DWN*B*DJ]2\"PV)-B4R8;7( +M@(?83CB3O1N.; +M#ME79V1ACZJ&>HEE6"Q!B23@&6==71B46.3E:"F#R2`#+0$T10)1M>8M*@#:E>B +M6W$X#D1"-L6<-@>*^F1(3X0>:33*V8U<6<]`X^]$#2;!H-H>29=;%F4)H/HA +M;GBEDBRFL2J,C);Z*Q@MFI,=;2K.5V<[I-.'AGH@9Z;!E$,44/6U +M23RZ]G<-+#IB71FT16%L/ +M&DR9F4P,K,-(>OFT2/,GFED+@QI8T1F@=IM!-*PP\J5SE9LR-AF, +M-UG3MM1Y0?LO.OM??B_#%K5:>O=2' +MMEM;J#<@-AM9"WKV,1H'6D-AG7L5LAGALGN\OMGLQ?GR,C1J3_LR+:M%2R?0 +M1T=H>SM"FK,,DN<)2(WAW:)FGDO3&82S<8;CCP):;F_:?JW;TNANBW?#!6G3U5V.#9@ +M.1D:#98!6C=JXE6J-XY0#"#%#/8!IJ+4Q$N(#K8!6?8`@I=P-Y&-Q%9S=7HW +MK]R7"-R7#Q?=17BC,]I$**\&6B1X<5DKA7FK<"(N67RB[%PIR77]8!#A7_K>C-R&V5>B3+$7*'KON%C4@P.N +M`4(""F5N9'-T7!E("],:6YK"B]296-T(%LT +M-#@@-CDR(#4T,"`W,#1="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3(V +M-B`P(&]B:@H\/`HO1&5S="`O33$S+CDN,S$W-C@N0VAA<'1E7!E("],:6YK"B]296-T(%LU +M-"`V.#`@-S@@-CDR70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$R,S(@ +M,"!O8FH*/#P*+U`@,3(P.2`P(%(*+U(@6S8S(#0U(#4V-R`W-#=="B]6(#$Q +M.#@@,"!2"B].(#$R-C<@,"!2"CX^"F5N9&]B:@HQ,C8X(#`@;V)J"CP\"B]$ +M(%LQ,C4Y(#`@4B`O6%E:(#0X(#TB" +M346?C26E2KQ>"1-HVQ(,D?!Q((QC". +MHYC*.=,2".DOU"%`YP="4*0M4L*U*VS,#Q(KH!:Q$@B3#=:!PQ(PTP&P4#<. +MHVL:-+B5RQ+1,;2U2U77,@U>%`\#@D(YU.-\2V:%`TU!;`YCJ.`X#8R@R!95 +ME26P.P4M<%$4CJRML6U4J0CH.HY#<,M+VQ5KI.H%H:!<&5$IGVFZG&6IX4_0:RUK%#SA'5UC=?&64E2 +MEE9@%&,I@W6/XD+E3#+FV+"&-`PC@.C&Z*%`UTLPS7NU]=%U79YE?#?7'3U\/(WWI\N&#+AW0AKCC'FE%C3*TU +M-!.RM@U!DY8&I+0;`X7\VXJZ&[-.95=2Z#+LA!29%N4-77*30HL1%+/HEAB9_#0S[Y( +MB0V#"&M#D5HSK2#>\`,(;730U#2_.)S]@ZQ':%$M2L:C(,A;R#9O<1U6QG4D +M&X.CV&'K[`4%0FCWT*!C#0"`.0=0W!S.@GXL;3(.$;@])XMYVR5-O1XH<&*/ +M@9':8NL%2L,X_AY!`_($#"`0)#2*GH2:",H"3J4X/@@,X4G@I<&2QM2::>D&IG"=A4BI"M#41!S#RR<,LRA>9#E](OF_/-+(+@:`T/M.9@T4C(SJ.!.UX4\9H$DGJ1PO$YS6' +M,0U&M3@;#5K:(PZ0Z$C#K`*("`IE;F1S=')E86T*96YD;V)J"C$R-S4@,"!O +M8FH*/#P*+U!R;V-3970@6R]01$8@+U1E>'0@70HO1F]N="`\/`HO1C(@,C0@ +M,"!2"B]&-"`R-2`P(%(*+T8V(#4P(#`@4@HO1C@@.38@,"!2"CX^"B]%>'1' +M4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C$R-S<@,"!O8FH* +M/#P*+T0@6S$R-S8@,"!2("]865H@;G5L;"!N=6QL(&YU;&Q="CX^"F5N9&]B +M:@HQ,C7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#,W(#,Y-R`U-3@@-#`X70HO0F]R +M9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$R.3$@,"!O8FH*/#P*+T1E7!E("],:6YK"B]296-T(%LW,B`S.#4@ +M,30P(#,Y-UT*+T)O$!MDLGJHY$!L@LT(14!0O(T<@14D@Q@47B]JCL<&<_&DM*E8B\$ +MBY4,W%)=*A*!1%L4,K,=&U&D](V]"F1FFE1H0W&HP%PYKE8 +MDT=]?MKE>(5@[=KG=N^/J&JCAN$"ZIJ@C`"F-:*"2((6AL&@0"F-(VM>%`ZC +M8Y`WCD$`I#*,S"M*,J0C<,8RJ2,+F-@.HPC8GR@"8ZKKNR[:!@4HP00+@9LB%(;-*APJN*$`WC +M,$`KC2-PR#>S04#N.5XW3E/5!9/&U +MUDG(!M:(9JX[_-8ULNE2YN8FC>Y,.W3NP[X'H6#;F.XT#2,8T;F/-_;GI#F7 +M3MXVT0PUR43P-9[[XP4.(-(]9UNVE4*,^YW9YHVZ/J`6T:V]HAOT^P!=L6R, +M`-PTCF-NI!E)(4#@.7DL/;IFB[4IR<#&O\XLFP:/R-.:Q;$GS=KYE4W*$S(H@%==IS)GP^=$Y2( +M+$3H22:^5(]DVIN.@F^LUDM!`7%6IQ.:?"\PR/OH;*RBLI0YAH:%*4.])C8G +M(##5)=AR*&&'?8S!/`-3"G1:<#*AH80X/S,&8J6%%3#K]H?*4Y:Z*Q&'4#5) +MIM2)2RRH>9M0L9T845?.5:@T;VRRV8,"P$#3002:!`&$$`<(%H@!`',.KOK% +MD.9B#)Q90I`E<2*5P&(.2C/E!J#:24206GL!@V(O8*'D$A8_-YB$X*:)5K_) +M6TDB"\VK9BDU#!CT\68D79I9=G"=EQ=MC;'H9;P&T.!G8MQ^KZXPX49HOK$#_PZTJ-@%23V$:\+LP +MZT"PD!J*G16.GS'-336AE?SB<,1G@[KSGMB=X(=<O26'@5":(&4]F\W=_?Q3@G&+ +M6(8,SJW5YL3/<#17D<-FJ$]1]<73`B2#F2)G).Z5-:;8L'2?.G)-@*.6H:#+ +MRGC5D%"0$>55&9]U8H77/C$-TTF$ZX-28W9<.[ES.N>AACN(*$%(,!HW5^3] +M$1W2V^[1Z)F08PL[!,!J7>5\-53P"A.Y,-W;P\(<7/G*RX]ZI+\?S5Z& +M(L2!YR)W[GO>:WNZOD9OI='>_=X\>AM1/BGX#H@C#%E_JX#)#I(VPB.N-M0@/;PH.3PTP&0E)MFH+70LIMEY%Z0K, +M1C3JX0@&^&VNA'6`W+HGWDTL8$IPJ&H#4C2MWO=1$(6*JFN1#1&PH@Y'^PJ$ +M+#7&9I4Q)(6)C,E(51#&FF8JO"HIMQ$##FJ*PQ#,]+I.*X1#/ +M:Q.O($F/<%QQ*0WQ)##PXQ8JL1<`S$*LW%).,GIQ:Q/-N@V#CH[%_`YPINF* +M7I&H@/0&(@:#U*@B5#/*1]I3(['WQ_F.'^@;CHESFTC2FDQ +MG(52%F.1%M/LSDIR$,FR,#HGB2,%U@W@SH1JX2)I_##R%#HQ@FN2$*YEQG9R +M"';/R$DF;MHE#2#R&$N#?.M?R5#HMA2/1@Q04`Y*CL!&ME($DJ"FPK!#`.6FEL +MWC#S30WI_L^JY0FP.H3$Y*Y-)C#M2BYF[E_D0LTQ@$3`RMAC-G>'?3GE[SE& +MKD4Q^G^B4`4'>#&(2#&R=G*J]28SSQ(SW&.#%(2SP3;S0&47ODT8P!SM`6QBQ^K=T>1"4D-VT(C=F_TJ4@&X$ +M.Q`C`'ZGEO=`Y$+`X)D1#0$Q)$Z3*S+P(%)1(2_%)%P3#S0S1O^4V3:3%S41 +M3Q<)C`WQ^Q$3)18TB#C4_2"QEIZQ:DZ4KG#Q8TS4Z@J`4@<2'MXR*4ST84Z@ +MIG>`S`Z`5CC@Q5!TQ"H6'?$31.4WT(4ZIU2H4'TBI=H64CU6ST#%@T3UJ +MPK1Q958-2U;-VGE*4)/H6/!C(U7+71>#E&E5?5")VC#PF0G%Q'[#"I2PI(]C +M#UDRC@9`[P.JRGL5CC6S6`R4H5<-M5;%\R]U@U*U;3;C/F\UCQ]5Q5PH64!P +MCNPH`U;4+J]P7.AT%0J3=D8@%"`@"F5N9'-T'1'4W1A=&4@/#P* +M+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C$S,#8@,"!O8FH*/#P*+T0@6S$S +M,#4@,"!2("]865H@,C4P(#4Q.2!N=6QL70H^/@IE;F1O8FH*,3,P-R`P(&]B +M:@H\/`HO1"!;,3,P-2`P(%(@+UA96B`R-3`@-3$Y(&YU;&Q="CX^"F5N9&]B +M:@HQ,S`X(#`@;V)J"CP\"B]$(%LQ,S`U(#`@4B`O6%E:(#4S-"`Y,#<@;G5L +M;%T*/CX*96YD;V)J"C$S,#D@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;,37!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-3$P(#$W,"`U-#`@,3@Q70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD +M;V)J"C$S,3$@,"!O8FH*/#P*+T1E7!E("]!;FYO +M=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-30@,34X(#$Y.2`Q-S!="B]";W)D +M97(@6S`@,"`P70H^/@IE;F1O8FH*,3,Q,B`P(&]B:@H\/`HO1&5S="`O33DN +M.2XS-SDT.2XQ2&5A9&EN9RXU,2Y296=I7!E("],:6YK"B]296-T(%LT,38@,S,T(#4T +M,"`S-#9="B]";W)D97(@6S`@,"`P70H^/@IE;F1O8FH*,3,Q,R`P(&]B:@H\ +M/`HO1&5S="`O33DN.2XS-SDT.2XQ2&5A9&EN9RXU,2Y296=I7!E("],:6YK"B]296-T +M(%LU-"`S,C(@,3`T(#,S-%T*+T)O7!E("]83V)J96-T"B]3=6)T>7!E("]) +M;6%G90HO3F%M92`O26TR.`HO5VED=&@@-#0W"B](96EG:'0@,S(P"B]":71S +M4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A8V4@+T1E=FEC95)'0@HO3&5N9W1H +M(#4R-#7I[?' +MU^?W.$A8:'B(F*BXR-CH^"DY25EI>8F9J;G)V>GY*CI*6FIZBIJJNLK:ZOH1 +M``("`0(#!04$!08$"`,#;0$``A$#!"$2,4$%41-A(@9Q@9$RH;'P%,'1X2-" +M%5)B)$@Q=4DP@)"A@9)C9%&B=D=%4W\J.S +MPR@IT^/SA)2DM,34Y/1E=865I;7%U>7U1E9F=H:6IK;&UN;V1U=G=X>7I[?' +MU^?W.$A8:'B(F*BXR-CH^#E)66EYB9FINI;_*7^7`*ZWJ +MY>,-J4Y!=`0*C]H?Y>7K)G.M:DMO%.SF4_W,VO6 +M"NI^.*<@`,"3\2^V0,@#1('Q;P+')'?IS6/^KE/]Q_YKS?IS6/\`JY3_`''_ +M`)KP!]7O/^6*Z_Z1Y?\`FC-]7O/^6*Z_Z1Y?^:,'''^\_Y8KK_I'E_YHS?5[S_EBNO^D>7_`)HQXX_S +MA\UX?)'_`*./\`.'S7A\D?^G-8_P"KE/\` +M\_Y8KK_`*1Y?^:,WU>\_P"6*Z_Z1Y?^:,>. +M/\X?->'R1_Z7_FC-]7O +M/^6*Z_Z1Y?\`FC'CC_.'S7A\D?\`IS6/^KE/]Q_YKS?IS6/^KE/]Q_YKP!]7 +MO/\`EBNO^D>7_FC-]7O/^6*Z_P"D>7_FC'CC_.'S7A\D?^G-8_ZN4_W'_FO- +M^G-8_P"KE/\`\_Y8KK_I'E_P":,WU>\_Y8KK_I'E_YHQXX_P`X +M?->'R1_Z\_Y8KK_I'E_P":,>./\X?->'R1_P"G-8_ZN4_W'_FO +M!%S?>8K.GUB^G2I*U!##DH!*GC(:$5&V%'U>\_Y8KK_I'E_YHP__`$[?&5I# +MI-R"6D962%U=!((Q\+>@1R_=_:(-02,/''^Y`QZSK4CK&NI3L6VMX[>5(S +M_I`N>9`BH#3X*CM04VP.NL7JP^E^B[QB81`Y>.8JP5X9%^!8E6G[GB1W!W/? +M'CC_`#A\T4?YJ#_3FL?]7*?[C_S7CXM6UR=BD6H3LRJSD?Y*`NQ_O.P&"I]; +MU"4L5TV[0M)$_,0OSI$TC\21``:^IM4=N^!&O;PZI'J*Z;=T3CSB>*9^8`XN +MI8Q]&%12E!CQQ_G#YKPG^:KF]\R*KN][.BH%+%Z+]N-ID^U(/M(A(P.FM:U( +MZQIJ,Y9B%44ZD[#]O!3ZSJ,O#U-+N#Q%R&I!*.7UB-H4K^[_`-U!OA_ABAUR +M]>9YGTJ[J\LLJLL;].:Q_P!7*?[C_P`UX`^KWG_+%=?](\O_`#1F^KWG_+%=?](\O_-& +M#CC_`#A\T\/DC_TYK'_5RG^X_P#->;].:Q_U`/J]Y_RQ77_2/+_S +M1F^KWG_+%=?](\O_`#1CQQ_G#YKP^2/_`$YK'_5RG^X_\UYOTYK'_5RG^X_\ +MUX`^KWG_`"Q77_2/+_S1F^KWG_+%=?\`2/+_`,T8\;].:Q_P!7*?[C_P`UX`^KWG_+%=?](\O_`#1F^KWG_+%=?](\O_-& +M/''^`/J]Y_RQ77_`$CR +M_P#-&;ZO>?\`+%=?](\O_-&/''^?\L5U_TCR_\T9OJ]Y_RQ77_2/+_P`T8\;].:Q_U`/J]Y_P`L5U_TCR_\T9OJ]Y_RQ77_`$CR_P#- +M&/''^`/J]Y_RQ77_2/+ +M_P`T9OJ]Y_RQ77_2/+_S1CQQ_G#YKP^2/_3FL?\`5RG^X_\`->;].:Q_U?\L5U_P!(\O\`S1F^KWG_`"Q77_2/+_S1CQQ_G#YKP^2/_3FL +M?]7*?[C_`,UYOTYK'_5RG^X_\UX`^KWG_+%=?](\O_-&;ZO>?\L5U_TCR_\` +M-&/''^,6)('P6-Q(K4Y&M"`V%4\>H/)5+"Y*T45,,P.P`_ +MWV<5TZUNEGAA>"5)&MKX*K1NI)_1]R@H"M=STVPB0)V(/Q8R%`[/_]`Y9F37 +MO,#(Q5@FS#8CXWZ8<-;P+*D!FN.<@9E`DE(HG&M6&P^T.N$TG_'=\P?Z@_Y. +M/AK=Z8]QJEGJ:21H;570H8N3NL@H5]3FM!X;'?-9J?[V6]?V.?B^@=?[41]1 +M3_?LW_(U_P"N4;*,"IFF`'4^L_\`7"KROHD7/,T/ +MQ.W.A;;8##V2-98WB?[+@JWR(H:1(\:)?2,90I1A+)Q/-3(@+_9!95)`)KA?%H%C"L= +MW^D8R]EZ,$0#!_ +M5DX;Q^N/C^S7T_BI7IO@"/1;*,IJ(U.,SPNB+<$+Z?P(\81EYTY5D+=>O:FV +M6ODVP6V6T$[&Q"K\%/B)6T73P?4KT]-0>G7OCZ/YQ7U=P1GU[1^'/Z[-3EPX +M\IN=?3];[%.5/3^*M*4QWUW1PQ4W\FPY%_5DX;1^O]O[-?3^*E>F^`/T+9`C +M4?TG'ZX?C]9HOI?W?I\./.G*OQ_:Z]N.V,/E323&=,^N?Z/P+?5ZKZHK9G3^ +M7+E7CZ9K]GKWQJ'>5N7<$P-]HZH7-[,*$J5Y35V5KFB^G\<:QE`O.G* +MJ!^O7M3;&OY6TIU?3C>4A"O(+<%?57G:M908EJC?8TL].L;75;V\DF@EN9"DH7@JR0A85@8UY&@8+O0#"0/YQ +M^2`?+[4P^HI_OV;_`)&O_7-]13_?LW_(U_ZX2:CID>IV5O\`6=5@:8P7%FUV +M8TX2BY4(Y1!(`".(H.1P-IOE:TT_5DO_`*_"\]L[SRQK&J,`_P!<+AW[X)MM(CL[Z;4I9(G+%Y#*\=)5YJB +MLOK%_L#AL"-AWVP=+XM^ZD]>6W>K6:6M_:0WMO-.8;A%DC)D<$JPJ-JXO]13 +M_?LW_(U_ZY')O+]K/I5C9_I&%&&GSZ4)RJNLBS^CR:/]XOQ*T(IN>N+Z-IB6 +M6HWM[<3P1NDMTQCB*@E+B590]PP;]GC\((VJ>N$@42)?"D`G:PB!J>C&*RE: +M[N%6_A2XMB3.:QR&-%9BH(7XID&Y[X(AFT^XGFMH;BY:2W+K+4SJH:/CR'-@ +M%)^,=#A1_AZU>TT2)]1@'U&S6RAE"@L[J8"9K=S(.+@VXX[&E<,;*Q@LKW4[ +MD7ENWUEVDN%"!9$)"J@DD]0[(`?V1UPD1K8F_P!J!Q=0&CJ.CBWM[E[NX6.Y +MA6Z0\IC2%Z4DDX5X+\75J#%;.XTS4)9(+6ZG>2+D'5FF3[$CP/3U`M:21LII +MX87?H.W.GVUD-2B43Z?'I4[`*WKQ1@H3#\8XM\3>/7VP9IFAQZ)<7%[]93A< +M-/)=%D"`F6XDN4/,N>/#U67_`"A3I3$\-&B;Z*.*^0KJF?U%/]^S?\C7_KF^ +MHI_OV;_D:_\`7'_6[7]V/7C_`'W]U\:_'_J;[_1F^MVE)#Z\=(=ICS7X/]?? +M;Z/C#M*>:T0_Y>^WTX[^:[+/J*?[]F_P"1K_US?44_W[-_R-?^ +MN*?6K;E&GK1\I16)>0JP\5WWQ\DL4*&29UC1>KN0H'S)P65V0_U%/]^S?\C7 +M_KE_44_W[-_R-?\`KBGUFVY(GK)SE'*->0JP\5%=\;]LGJ2#DBI/(L:=.3D*/O."RNRA]13_?LW_( +MU_ZY?U%/]^S?\C7_`*XI]8MS(L(F3U7')8^0Y%>M0*UIC?KMGZ9F^LQ>D#Q, +MG->(;^6M:5P[^:[+?J*?[]F_Y&O_`%S?44_W[-_R-?\`KBOUFW]00^LGJDN*8+*T$-]13_?LW_(U_ZX +MK;V48D+&25N*LP#2.14#N"<4Q6#J_P#J-^K"#N@\DAEM/4^L2K;2W$K7'VEC +M9E$:T#`L-AU_#WQ6:./_`!OI47$>GQN5X4VX_5KH4IB\_P#QS+O_`%Y_X8G- +M_P`IWI7_`$<_]0]UF9IOK]T?U-&;Z3[W_]$WD_X[OF#_`%/^-WP18F +M:WDDBLUBLW$C22"*L>8MZBW4O$1"9Y8U#,AXT1@IHNX%*^!Q81W$-E!%=E3< +M(@$I1G=>0&]&E)<_[(UPH\N6&I6;,;T%%^K6\4@9@W.Y3U/6FV9OMK!WNPVQ&UT0D'Z`N(]X#$OIZA)?10@E4,;P-;A# +M1#Q*\^0V/3`<'E*[BCBMS=+Z8,#O,I82*88?0XQBGV?#XM@6VWQ*WT?6D%N9 +M8V-O&+87=J75C+)'%=)-)N]&K)+"35ARX5S0:/YC3T`\A^M+Z'&[+AA&B0<) +M(VJU6^.M?A/*H-?ARRSOZPP_S2B(/+-_#);7!DA,ELL$8@#,(V$,,\/*O#8G +MU]AQ-%4"N)Q>4+N.".T-V/3!C=K@%A*K1V8LN*"G2J\@>7[3;;XG!I&LI]7, +MD3&U3T!/R\FB&%C9*T9FL>:D +MLRPR(\G]Y0U9EWY;L.=*XFFB^9A$B-,?KP1!]>YB@`L!;LG6O^](+TXTWKVP +M'?G,;*-OX3NBQY;OQ.+SG#Z@8?Z-5O2X^A]7Y5X=>U./V/AKWQ!O)UV;4V/U +MP>F0W^DU;U>1L#IU*4\3SKR^C,-)U?F&]%_J7J`FQYK6OH*,/KW,4H;`VX3K7_`'IH].-.^&S_`#QR10_FGFBY/+=^ +M\\MYSA$DIAP`RM8M`D8WJ/\`2"K4X[4+=\03_/')-#^:>:)G\LW\LMQ< +M^I")+@3(;&Y'H[CB/A8BO?#J]TU[G19M)64AY+' +M)OGWQ+1+6ZMOKAF0PP2S*UK`2#P01(K?99@*N">OOWPGO])UZ:XO&M69))'N +M&2Y#A0T3P%(H1\511^--AQ*EJ_%D;)-&0'#R35"Z._-=<>6+^9[J?U8A)=I< +M1M"68QH+B*UAY@\/B(^J[_"*\B*XV?RE=S)+`+E>!-PZ2MR+N9UX\)5I]GLW +MQ&H"^&)7&D:T_P!8,43"VD%R+6U#JIBD>*U2*39Z+1XYB*-\/*N7<:/YB\2Y +MB>,LQ6,7$5M#S5N'Q,/JW(["I8YI_*EW-ZD?UA.`-T\;GD667/I'F!VG]- +MF$K?6C+.)`OK1R2*T,2D-4$1_"#0<:&A^+&SMZPM#?TE4N/*U].+M_7C#WL= +MS"ZEF(B%PL*>HAX?$P]+D=EJQP_U:Q?4-/EM(V"NQ1E+?9)C=9.+T_9;C0^V +M1JXT?772X]%65)$NEL8@RK]7ED6$0RT#T6CH[#B3Q!IWQ\^D:\\DQC+!BUTT +MT@D"^O%)'Q-\'([+5Z''R^5KR1Z^O'QCDFECJ6/J>M>17W"4<=E_=<#N:UP- +M-H^O,DHC#!72Y6QC#*/JTDC)Z4E.=%H06''EQ'P=#CY=(UUI)"G(?',UPPD` +M^L1O>131QJ>7_+.KH*TXUIAL[>L+0W])5'\JWSB8^NG*[$RR@LQ]+U9O6Y1G +MA\3=S]FK@'+?RM>,RGUXZ0/(\52W[WU+V"_I+\.VT''O]HGVP.^CZ\58*"`P +MF%DO)1]69IN:.1SV''7%1PZ'#+2-/U2WU+UKJHC"W8GD+`B9I9TDMV`#$ +M_!&K#<"E:=L3(@7Q`TH`_FE"'RK>GU?WZ5N2?5W;]U6Y>ZK%\/Q'X_\`)^(` +MX>ZO8R:A:""%@KI-#.O*H5O1E27B2`>O&G3"_5H-7&KV]YIB,0+=H6-4]/D9 +MHF`E#GEQX!MT%<4TVTF35[NZ>WEMXV]1$+.KB6L@;U9#S9J]HEI\";=^(B22 +M!(D;;L@!N*/-PMS67X?A/P[?:^(DY+,AHT?7J"O*B\/K@YJ?K)%PLA8#GO\ +M`;9N-0>'08QF3SD!N@Q`Z$JZ>5KQ68^O'29XY):%OW7IWLU_QB^'<4GX#I]D +M8V/RK?((#ZZ'PM^T-FH]3C$TC70ZEN7VXS:GF#]71; +MV:=D/Q?\LSQIM6O'CC(]'UY40.&(40"]0LI^LNDI:1P.=#M\1Y<>2_!T&2L[ +M^LGZ-W)>\(AQW7]YP&XH,.M6L9KZ*`0,% +MDMYTG"L2JMQJ*$@-0_%4&AW`R/PZ1KJR1%^1(>!H',@/H1I=R321L>5=[=E0 +MT!Y8R#1]>1(1*&*HELM]&65OK,L9D]:6G.C58ACRX\A\/08#N;,QLHVVX3NB +M(/*MW"47UT*,]K+(P+`QFVN&NO3B''[)Y,O91VT2* +M&8"46Z31\W/#X6/KDJ\ +M'E2[A$<1N$X5MGDD7D&0V[,_"(4^QOQ7<4!;QR[?RO?P-:3>M&7LTMHUB#,$ +MD%O%502?ARK?1];06YEC8P1K;"\MBZMZTB1722R4+T:LDD+&I'+CC9W]86AMZ2B +M;'RM=VCVRFX1XXGMI7<<@RFW3CZ<:T^R>@WV!;;?#C5;">]:SE@9>=I,9O3< +ME5<-%)#0D*U*>I7IVR/P:/YB0P"20_65%OPNBX81(D?&2)B6JV]:_">50:_# +MAIY=L=0LS(;M3'&;>VC]-F#$SQ^IZ\M0S_:#(*UJQ6O?(R_G<0)'Z4Q[N$BT +MNA\HW<<45J;H>FIB=IU+"13%:_5>,8ITJ*@\M@6VWQ2'RU?Q2P71DA,D'I*+ +M<,PB98H98.5>&Q/J]./V12O?%-0TW69M3EFM&,9>57M[KD.,<(M_3:,K6N\M +M33B0>0/[.!(=(UA3"TD+&S0P^O9%U)=UAE1Y/[RAJ[)N6W(YTKDN(D?4-PBA +M?TGFNC\GW:6Z6?UL>F/38W(+>J&2Q73Z**=*KSKR[G;%D\MWZSI>^!(]&\RB.-&F/UT"/_`$[F"%46*P,AWJ:W(9Z< +M=Z\NV*)I.KAT=H'-D'4O8\UJ6$#(TG]Y3[9`^U]K]Y2N))_GCDM#^:>:)T[R +MS=6$UIRN%EBMI8IS*2?48QV8L>%*="1RKR^C#+6=,N+][:6W9.4`E4QRDA&$ +MJ<*[*W3ITW!(P@_0OF;TN'K'Z_PI]>YBE/J'U?AUK_O3\=.-.^*-I.KEV<0/ +M]2+L5L>:U!,"H)/[RGVP1]K[7[REJ6>P;3Z$4\6YUY=AMBLWEJ_EFGN^<(DG]53;DL8E62&*#E7AN?W5* +M^!9-&\RF-T68_7BKCZ]S`!4V#6ZIUKM,P%F,:B>&WAY`\-R/J^XXBH8BN( +M3:-YD99E24_7&$M;T.%#HUH8DC&]1^^XFG$4*EOVLT^D:R_U@QQ,+5Q<"VM` +MZJ8Y'BMTBDVDHM'CEH0WPEN77&SMZQR6A_-*8V'E^YL[^*9IQ)#!++,)"3ZK +MF6/TN+BE-O'EOQ7PR0Y&]/TW6(=4CFNF+\9)6N+GD.,L31\8XPM:[-3;B*<2 +M?VLDF5SYC<';HSCRY5N[%8.K_P"HWZL2Q6#J_P#J-^K(CF$GDEL__',N_P#7 +MG_ABE?]'/\`U#W69FE_O#[O +MU./F^CY_I?_2.)/^.[Y@_P!0?\G'Q>YO=2MO,+Q1(\]I+%9*L11N(9YKE)W2 +M0#@I1`CMRZ@`=\#R?\=WS!_J?\;ODGS6:DUEEM=_J#GXA%4*2PLW$K20N/34HS`\51:^Y.&LID$3F(`R!3P!Z%J;5^G'9LQR;-U3:! +MMS8;;W.OD6XF,_U5A;&^D8,LBRM%=&=00@91ZBP5XBBU(&V:"Z\TGT#(DAO" +M(.$;KQC:,P5E:4`!0WJ5Y?$""%`V)K,LV3\0?S0QX/,L-@N==/U<2FX^I-Z' +MUN5E82B0PSF45"!E'J"*H5:!B5'P[945UYL*Q,Z/]?(CI$RTB*&S#R%P!P!^ +ML\JGD""%`V)K,\V/B#^:%X/,L/BN=;+1+(US^CRT?KS%6$P)L`[5%.'^]=17E7H.F33-CX@_FA>#^D +M6'BYUOF%+7/Z.]05FXMZW+T"U/[OEQ]3XJ<:>I\%>/PXFUWYN])F"/\`I+@W +M[GC^YX_4"XH*N@KRKVZ9-,V/&/YH7@_I%A\ESK8>0(US^C@[^C-Q8S% +MA`C(/[OD1SY&A6G/X*\=L9+=>;`DK(C_`*0`DK$%K$$%BSH4%.%?K7$`\B22 +MPZ`4F>;'Q!_-"\'F4JT22[?ZX)S(UNLRBS>6O,IZ2%]W"L?WG+J/;H,)[^Y\ +MR+<7GU(2&97N`B!:H(!`6@:,%>);U.--R22P(H`!+ +M'U@0F?ZHHN392*&:0RK%:F!22A9AZC3TY+1B`#MEW%UYH!N#$L@N@+CU$1>2 +M+&JCT6A#*5+=..YY$L"#04F.;#QC^:$<'F6&W%SY@`N!!ZWU=5N3I[J&9FE6 +M*V,"L60LR^JTP7F/B`%Z\S!I_2$OK_P"E>LJIR5(ED40/""I7GZ>ZT)Y$ +MM4'B*3'-CQC;TA>#S+#+BZ\Q!+CT/6])4NCIK`,Q>95A]!7)7DR\RX7G3DNY +M\'S+#) +MKKS&$E](3<%2Y.FD!B7E5D]%9"5Y,M:JO.G)*L:D`X^6Y\QB23TQ-7G,+H!2 +M0D0O(DB:$%:($WZ.H&/-Q-2-9 +M24JR\:!>=*I5C5A7#+2)M7?4N-WZGIE;LW0<$(KK.BVHCJH`K%S^R34`$[Y( +MZG9:O;M:(\\#6[!H`C,CR>M$H`9117X,V[;4&.TF[U*7 +M4[N&]B?CRN.+$,J1)'/Z=NF_P-ZL1]2HW&]>P![FQXA54/>FM[MV0T77F2@J +M):'A^D-F'`FX56$1XU4>ER!X5H@#?:-0FV>,65 +M5(YQF]G1S-\-*_5!$3RI2I/7&1W7F,HG,2\2(/TB2&'"0RD2K$0M57C\+<*T +M2C"C&N3/-DO$'\T(X/,L/AN?,9DB]035YP"U!4@/$;N1)FF`6G+ZJ$)Y4IVW +MQD%UYC*0^L)N#):G4B0P*3,9/76,A>2KR"JW"O%*,*$DY,\(_P#$9%C<:B;- +M_J\%PUH/WD?)I$NC9-05H!42KZ@ +MC#<*\5W'CAF^O75MK!L[N%1"T5F5B1@TBR7,\]M4?SK\"$TIQ%3@G1=>CUFH +M6$Q'TDG`+*_PNSQ\6*]G;PIA)(!/"*V0`+`XBDMO=>9RUN95E^L'ZKZ2L +MG%7B9F]=I@JA0_#=JD<2%H!R-:M[GS`1;B?U_JS+;'4'8,KK*T5T9U4J@95] +M58`W`46IIDBEU-UU5=*BMS(YB6X>4NJJ$:0QG8_$2*5Z85R^8KN6UM;RVMUA +MBEO$M:S.IYCU)87%5KPW0&N_RQLG^$;IH#^([(*"Z\TGZN95D-V1;\(W7C&T +M9CK,TP"A0W*O+<%2%`&YJ:>79M3E,GUTRM']7MFY3`AOK+>K]87XE2FPC)`% +M%)(&V5;:U<7^IZ='`%BL[JSDO&5V`E)#(@6G%A0<^QWZU\3'5-1&F6\34Y5LE=F$JBUC(/HM!]7Y +M,7VX_P!]RWY`@A0-F-0D-SKA,(E:X^H$Q?692K"4.89C(-H^0'J",D!:!OA^ +MSMAX-5N'OFTU;3C<1V\5S,YD4H@F:5*"E&;BT7M7]91:>74'.Y>*U +M:5D;]V6N(6FK50Q!K&1QH:5'8UPBZVB#R'[5-7]1ZH>.Z\V&.-G1_P!(\8Z1 +M%:1%#8J[EA3A7ZWR%>0(H!T.ZB7.MET5FN?T<77U)N+>MR]!F85]/E3G0TXT +MY_!7CMDKM9UNK:&Y0%5F19`I()'(5H2A9=O8X&U34?T;%%((O5,LGI@5(I\# +MR5HJN[;)T52?HJ0..S7"+Y+P]>(L9%WYM]+EP?\`27#^YX_N>/U#GTIP_P!Z +M]J\J]NF*-CZD^K6$&H>@8(;F..:$,ZLQ5U#?%Q +MV%/\_#"21N8`?M4`'E(L:DNO-HB=E1_TCQ?]R%K$%%@SH5%.%?K?$5Y5W(Z# +M'S7.MAIA&UQ]0#2_5Y0K&4N(8C&-X^1'J%R`5H7^'[.V2Z:00PR3,*B-61))8'8"ESW.NCZP(C88;:[NK>:$\+99&Y*>3OZ40N&"*!QKQ/V>7+VIO@2X\P7,T5N+-$BD>]2 +MSG9I`5HT0N*POP96^%@">.QJ/?`8RE1H#9((%[WNR3%8.K_ZC?JQ+%8.K_ZC +M?JR`YAD>3''BBEO)C*BN5F(7D`:#8[5P;-_RG>E?]'/_`%#W6!1_O7/_`,9C +M_#!4W_*=Z5_T<_\`4/=9F:7Z_@X^;Z7_TSB3_CN^8/\`4'_)Q\.;B^D@U*RL +MA&ICNUF)DY'DIB4-3C3O7QPFD_X[OF#_`%!_RF:S4_WLMK_L<_%]`_'54L=3@U`L;=)/2XAXYV0B.12S+5&[ +M_9Z=:4/<8*ED6&)Y6^S&I8TZT`KA=:W&B6Z2S6DL:)5>94GC\;L$"#I1G)H% +MV)P;%=6TUL+N*0/;E2XD7<<1U/X901OL#7FV`^8M((?-,LTEM;?5@MQ>)!+# +MNY54N(KJ;XAP#,5%FX^$;U&,B\XI)$EV;4K;`Q1ST)9U>6(3?#L%(7FHW()W +M/[.]0ZEY?>..WBL>#7'H201#@IXO'/)"P<-2,(EO(*5'&E!CX=9\N&2WNH[8 +M1I&L2)-P51$6B+1KP!K\$;\:J#QY4&Q.6<(W]!86?YP70^9YY9K>S^JA;JY6 +M&2/=RBI-'/+0_`')4VS+4"AV;IMB4?G.-[=;XVK"TJB2"I+AI+5;W;;C0"15 +MW()W/;<9I7Z$U&)[:"R$(18;@1$*"$D5XX2IC8\>*HT?$'X:%>F"..FQZS;V +M(L0LYMI)X)PJB,+!Z=N54`UY*MQQ!X[*2*]1@]%D<)Y)]5`\00,?F6>2XBL/ +MJJB\F*,N[F,))'))O\'*H:,K6E*?%TVQ!?.L36BZC]5869"U%3Z@9[)=2\.' +MV6"TK6N^&-]#H^GQP6GU)7-S+2")`JGDD3#9F*\:1CTP*]#QZ8HAT5K!-?6% +M!;?5A@ZO)$P4D%XO35N2%O]UUB(KL`4^SAC^C;#U3/]6C]0CB3Q%*_WVX4*QLM`21L>^'AT?3##Z!M8S'RYE +M2.I*>D:GJ:Q_!_J_#]G;'G3;!I7G:VC,D@*N2H((*B,U'2I0!2?``=,%P_FE +M-3[U+3=0>\>[@FC$T0QVT8C5CR:G4F@6K'J=@!\L1.H:9-+-9-<1/(G))X68&E%# +MNK@[?88$CPR/,[#9ER&Y0L?F+3YH4F@$DK.S(D,:.YWVVP"Q\MBS60R1_5U<\'YMR#".C`-7 +MF/W7;^7VP=?W%E!ID]Q5:4.V$@6*!Y]46:.XY)+ +M/YJDA:ZA^K!IK))YIS\:JR016\_PCB64LMTOVOLD')(CB1%=>C`,*^!&1B;4 +M_+Z1O#-9E>V-"AL>7/HG>^85](OFU+2[ +M/4'01MHQDBA1*T!>>5($J=Z#E(*XGHCVD +MND6(NDHG"^H%*N+:00R[5)%' +M.U1OC7J.VP/);V&^Y"(TK4#J,$DC)ZR1RW=FS9L"NQ"[NX;&W:YN"0BE +M5``J2SL(T51XLS`#%\#:@]BEJWZ29%MF*HQE-%Y,P5!7QY4I[X1S"GD@9-9E +M^N6%K%:2J+MI_4:5>+(+=N#?#6IJ=P14$;BM9-+U><6UFTGJ-&9EYQL@ +M*A8G.[=PMQ&?IQ&6XT5+O3(XE:62;U3:S([\54$&9F;EN2Q^*N_CCM('E@W( +M_0SP-<+$>/I/R;TBL*FFYVXI%_PN3H5])Y?BV-F^83O$_J]OP:/TDX,>3)Q% +M"?$C%,V09)'>ZQ';:D8/JRNL#VD4DV_,&\E^K)P/&@"%Q6IW!-.FYI96-KIT +M"VUG'Z<2]%JS'_@G).%M[?:3%JBI<6_.XB-NC3T7X6GD,5N"":M1WZT^'E[G +M#K)2Y#8A`YGJM]./U/5X+Z@'$/0%<+M2N(K%+6VBMT5<$>?>D\EV +MF3P:E9VNIB!8Y)8P0"`S)V*AZ#8&N#'CCE7C*BNM:T8`BOTX'TV>UN=/MI[) +M/3M7C7T8@H3@H%`G%=AQZ4&"L!YGHHY*%R\%K%-?/&"88V=V4#F40M%45)^["O0[G39EEBL+;ZJ56*1XZ+]B12L6Z%A\(C*-.F2'TDT?>@\Q +M]R9V]O#:PI;VZ".*,<40=ACI(XY5X2HKKUXL`1]QQV;(I0FH3P:?976HR1!Q +M:022L`!R*1J7*`^],#Z3?&X:YM'@6"2T9`5CJ$(D7G\(95.S-.)]-EH#44!_:V/,)8K[26UED2WI=/,UO]9HOQ3+")&VKR +MJ8X^/*F_"G0##K#+IM6R(]=[W0]V5MH;B^BM_7N(HG=40#U).*EA&I\6I09' +M?\16WH&*6TB8PS2*71"T*QQP1WDDZ+QK11,%(\:_+)414$'O]&$6KR:+I\<= +MM=6@E41SW91:5X1\5G=F9EY%O5`()^*N^&%#J_^HWZLB.;(\F/C_>N?_C,?X8*F_P"4 +M[TK_`*.?^H>ZP*/]ZY_^,Q_A@J;_`)3O2O\`HY_ZA[K,S2_7\''S_2__U#A@ +M6U[7U4$DH``.I/J/DA.D.=0&I<)1,(?J_&@XE.7/^6M:^^$<,BQ>9M;F=F54 +M4,W"A-.;^(.&OUK_`"+G_D6/^:M>1K7+C\IV,9C"6CB&/A^X/(QLT2>DCN&KR8*:;]=B:D"BGUK_(N?\`D6/^ +M:0^2I8:&NGG""(HZGLO( +M^YJ2:DUQ9]+9[V&_:)_7@BE@38TX3-$[U'SA7`OUK_(N?^18_P"::0;WTFDCE22!B\,L=5=2RF-J'W5B/QZ@''+I")8C3 +M5M2+-8OJX@XGCZ07T^'RX[8&^M?Y%S_R+'_-.;ZU_D7/_(L?\TXU^+_8OXY* +MUEHWU#U##'*SR\?4DDJS$(H1%KX*H_B=R3@OZMI#$L3&E*[=3@GZU_D7/_`"+'_-.;ZU_D7/\`R+'_`#3A&UUM?G^Q +M!WYJ4?E:*&.-(5FC>)F>.9%16'.,0L**@4U4#JM>_7#"YTOZY:R6=Q`[P2H8 +MW7X@:'P84(/@1O@3ZU_D7/\`R+'_`#3F^M?Y%S_R+'_-.)WZ_;^Q?QR4I/*E +MK*',D,S23>HMQ+4AY5F6-)$?B`*,L2#8"@`I3#46LZ@*(F``H`%.%_UK_(N? +M^18_YIS?6O\`(N?^18_YIQ._,_;^Q1MR^Y2U7RW-JUU;RS%TMHX;BWN+=4-9 +M8[CT^:\^0XBD=#MW[8VQ\LS6MW<7DCR2222SR6_%"HA%QQY4#%^3?`NYV]NN +M+_6O\BY_Y%C_`)IS?6O\BY_Y%C_FG#>U7M^/):WO\?>B-/TE]-LH+&!)6BMU +M$<9<5;B.@)4+T&)6V@16MS]:B@DYCU?34U*IZ[B6;@.W-Q4_AC/K7^1<_P#( +ML?\`-.;ZU_D7/_(L?\TX._S\_P!B_H\DQ^K7'^^F^XYOJUQ_OION.%WUK_(N +M?^18_P":A@F2<"@9.O"G7&_6O\BY_Y%C_FG-]:_P`BY_Y%C_FG$``V.GX[D&SLMB\M +MB&2VEB]=&M3,RT"GF]R_JSN_)#N[FNU/:F):9Y2MM)N%N;6.\[^?[%KR^Q,?JUQ_OI +MON.;ZM):I)]SBWU:X_WTWW'"[ZU_D7/_(L?\TYOK7^1<_\`(L?\TXT/P?V) +ML_@(^2SEEC:*2!G1P5=2I(((H0<"V.AKIW(P12LSJD9>2K-PB!6-*GLH)_$F +MI).)?6O\BY_Y%C_FG-]:_P`BY_Y%C_FG&NGZ?V(_'),?JUQ_OION.;ZM6"3U/4:<)OP65T]%I57LQ3 +M;PZGJ34=]6N/]]-]QPN^M?Y%S_R+'_-.;ZU_D7/_`"+'_-.)%\_O_8C\D7NC=< +M$J3QHP!Y4'\H4UQ\W_*=Z5_T<_\`4/=8ZXU>^:Z(A21+6WD](E)%7F[+\/PD +M4[$X&E27_&&E1U)F].Y%217E]5NOVJ4Z^V9>F^O_`#6G-]!?_]4XD_X[OF#_ +M`%!_RE))=-&)*HE0L;/Z?)GV``/7-9J?[V6U_V!S\7T#>DN\NZM>ZB +MQ6ZHP-K;7+%0!ZI!L3]C@.OQ>.'^%>DZU::K-=PVQ6MNP/PD&J,617- +M.[&-C\J8:91/ZCM7DV1Y<[\W9&]0UK4;;4Y(((Q((Y8XHK4`$RM(#]K9 +MJ@4%/A:NY%))A!?>8OJ5[,C6_."VE2WE85]0F6(31?1F$#2WH50(VEAGE>,5)0?%$E.1J%:A^+?&Q>9M9> +M.*9K<&=O3'U$+0N'LQ=-(M?C'[PE1U%%(.Y%!:C#B&8J;8K4`!@0VW3$X_.*O"FH&S(M_@CD4$F4-):K?55J!:#FJT-"= +MV_9H;*Y^@/VM +M\23S/K30)<&V'U@JG^X_CN>5@+TM_/\`WQ*=*;4ZX.C\Q3R31:?]6C%S.8W# +M?&8@LDJGU?Y.(-YS5;8ZG]3/U8*0$K^]J+(ZEUIQI0<*>._MC1_F#EWK?] +M(K9/,&HI)+"LJ&WC9^&H<5XL5@28)3EPZL6V->`X_:WQ.7S-K*123K;CUU$@ +M^H%:E`EBUVLAI\?]Z`AVI1@!N#4:_F*>.>33OJL9N86=B_QB(JD:3;#CR!+/ +MQK2G']Y_DXE)YQ5(&U'ZF3;_`!HB5(E+1V;ZA5FIQH0C)05IL?VJ!`_H#EWK +M?](J4_F'4HVN(DD3T8?6:*^*J0[1PPRK&:$(?BE8GB:E5H/BWP7I^MZC+#B#ML +M?VJ`$;?0.7/]*@[_`%=4_P`B-]YBU6VEN_117:)KI!`5KZ20+6.=N)#D'9FK +M0$,*4H:R[(S=^:C9O/(;4/&KW$$0J58R6P.[OQ*A6(;I4J*&AY4$(#?Z>)E+ +MESI"7/F+5(?K*(5*6ZW+P7#*I]=X8K:1(CQ(0_%,Z-PZ\=LNX\QZM$TS)&O, +M?6@T#+7T%@D6..9J$,1Q/-JT!Y"A%#5>?S/)`;FW^JJTE@D\TIHRJZV\5O/1 +M%H61F6Z`^+[)!ZY3T1ZK<2O%VY$TJ5%-CRVLH +M[>@?/FQOGZBA;GS'JL*W(C`*VR74EO*54_6'@6%HX?A/&I:1D/#J144Z8^?S +M%JL4DO!%)YW2/&5KZ"0726\MWO(/D\TM&_\`O*I%Q)+#!N00T-W'85E;C0JS2\OA +M^R!3?&N7H'S6^?J*$?S'JJK)11^Y$Q@8JI^M-'/Z2Q[&E:?"?3ZL0PHNV.?S +M%JJL0%7XVD68<1_HP2^@LU8[U_NI7<\^Z$_9Q9O-3()1]4!-@LCW&S`,L4GI +M#TEXU0L@+?']EJ)O7D'-YI967_101=L\=ON10QWD&GUE/'<$W"O\/2A7WQK^ +M@.?>M_TBACYCU4WWH7`' +M%TN'D0`#T&AG6&.,T-?B4FO+>JDC8T`8^:F'J#ZH/]"J;C[0Y`3O;?NAQ^`\ +M8RWQ=Z)WY`=I6N-?W:PM`(UN(YYH6%>06WE2"DE0`2PD5OAV&Z[\:D2&Q]`" +M0=QZK3O(JD+\(_>\/7(5?]%+7*P%=S2O$D#G^TI;[.V3'(L/-3$1CZH/ +M].XFW^T>(:9;?]Z./QD*X;X.IJG;D8P'/T\7),O?2BGF+56<`JOP/&D0"C_2 +M5>^GLRXJ:_W42../=J],9'YCU5UCY*!ZRP-<,%4?56EF,;1[FE?V%]3HP+&J +M[8*3S2S,?]%`%JZ17&Y-3)>3:=6(\=@#;E_BZ@@;=<:GFIY%A'U4`WZQ26^S +M$*LK\#ZJA:NRI1AP^TWP;4Y&=<_0.?>QO^D5*'S%JLDD895V>W2-0M/K"2W< +MEJ\JU-:>D@D''IWVQD'F/594@Y@`7$=J]Q(%4&V>I%\1XUJ@C'J=&J344 +M&"XO-+2N#]5`$$D,$^Y)+SW4EA6)N-`JM'R^+[0\,9#YJ>9;=/JJJVHQV\]N +M:,P5+@.Q$J@5=E1/V/M-\.U*EKGZ!\UOEZBI0>8M5E>+FBUY6J)$%IZZ3W#0 +M23+4\@!&OJ+QV%#6M11EMYCU69;824"W"6KW$P51]7>=9VDA'(\11HE1>?0G +M>N"X?-33,LGU0*D3V\$XJ6/.YN#9UB;B!Q5@&WW85V''=D'FE[@6T7U55?4( +M[>>$T9E1+A)I:2+0%V58/V?M$TVZXUS]`^?);Y>HJ-OYDU:4P,T2\V^JA;=5 +MIZZSLRO,O(E@.(Y+2H`4U)J*5;>8M4E^K(Y41W"VSSW*JH]%IHKJ5XAR)0?' +M!&J\]QSWP3#YL,W"6=K:V +M^JHLM^D$T349D1;B*YN*.O$,[*+1A\/VB1TQKGZ!\^2WR]10]OYDU>402-"I +ME;ZN!:*M/666,N\JU)<;U*TJ`%-:U%#3R]JEWJ)D6X*R*+>VG]55"@23^IZD +M7PD[+P5A7X@&H=\!Q>;O52.[-IQA4PQS*"6/&Y,H"?$%)*F$_%2C"AVK3!(;'T`K)&C.D8ZLR@D+].12'S#J4C01-*GH2F$R7X50$,D,TS1@%N'VHU(J:\ +M6H?BWR5W,ZVMM-! +M=1^ID6]$1DJ3+62R74=FIQH`X2G?<]J%9/,4[SIIWU:,7,C*P?X_2"M&TW3C +MR)YKQKTX_O/\G)D?T`-N]C?](\T#_B?6O0^L?5A]8X_\<_CO_O!]=Y?S_P!] +M\'2G;KBK>8-1$C0"5/JZNP&H<5H2+=9Q'3EPZGEUKP^'[7Q8[_&:FV_2?U,_ +M5N-.%3ZM?J7Z2ZTXTI\%/'?VQ=O,4ZSMIWU:,W*,6Y_'Z141";IQY5YMQKTX +M_O/\G&OZ`Y=ZW_2/-!2>9M:6%YQ;#ZP%D_W'E=U"V#7H<_M[S`)TI1@.N*3> +M8-1C>:%94,$1E,=^54ARD$4RQFC_G)4MVU+ZF3;`.JI4B +M6J63:ENU.-"$*4[&A[T"TOF.>*:6P^JQFXM_4=F^,1,L4<4VPXEE):8+6E`/ +MC_R<:_H#EWK?](H.;S-K,:33+;@3KZH^HE:F,1VGUE9&I\9_>4!Z`A@!N"2Z +MX\PZE$;F-)%]*`7#0WI52)&BAMY4C-"$/Q3/7B:D)0;[XK)YQ6.)[\69-O\` +MO(XU)*REHK9KRKM0J`>#+05(V;]J@?-YEFADN+,6J-/:+-*[?&L;+!';S44< +M2R%C=**D$+0MOTQKEZ!\UO\`I%#7'F76(A/(L"B5?K`-HRU,*Q1>HDK4(<[T +MY5H"&`&X-3[1KV>\6\68\UMY_1AFV_>)Z,4I)X?"2KR,GP[?#A1-YO$2278M +M.4),T<*DE9"\,9E'J-Q*A6(8;5*['?E0'6E7S7@NX7C"264PMW*@JK,)&-_4,;OQ78?LE_P`<*)/^.[Y@_P!0?\G'P[>VMEU! +M;]I"MP8OJX0L`I4MR'PG>O+-9J:\67Z/<'/Q?0$'I&J6>IW5XUO;F*9."S2& +ME2%:1%1Z=&4JWPGH"/'#?"+3GT6R2XN;+U3ZH/OU +MH,-[6Z@O;>.ZMFYPRCDC4(V]P=P?$93(;V`0/-LB=MR+\E;"*\U72+;4RUS` +M/5@=8I+NBDH[1EUHOVR`LE"P&W.G=J'N$EVN@G4F%V?WI=#,KH&X@A4:+C +M7K\/V=\I?,/EP\-0%L!!P4"XX+45M!=@>G]JGH,%K3OQZ8^,>7>*-&T_UKD@ +MA;][]9X^@_IA:CEP]#EU]S]O*5/*-%52OU/BM%^+ZK7ZI1*_L\OJGC^S3O3' +M;NER7?OBU^DM$XBP_1R^L9.0MOW=*^C]KU.7&O#]SQK6OP?9WS'S#Y<'+4#; +M#T.!!N."U-+3ZX1Z?VJ>@.-:?Y/3'4\N\0P>?ZUSV;][]:I]7Z=.7I_5_P`= +M_P"\WRBGE&A5BOU/B:K\7U6OU2AI^SR^J?\`"^^.W=+DN_?%I]2T15>P;3E, +MT8:@Y,L?`G]OAQ!;9N.^P%9+D?J&,^G]9%UQ'V/[O_8_9^''3+Y7YSB^.VVTEWWWBI2:SH"1\7LU;ZF)YI@`C!$C99)71J_O>>TM!]H"I^(`8I)K& +MA++-RL@QN&EB4A4)F=+A+1T*U^'E-(O7KU.5*OEG@WK,_)A.+XGGS*=&WZUY=?(CUQZWUN@^SZWCM39?@KENO +MECE)S9MB_H?WE`WUJ,R?5??ZWZ?V?VN--J8[=TN:[]\5GZ9T"D?^AJ?JA)EV +M0B+]^R*ED`;5DCE)"" +M$`D5I"4=VK^[X$^KOT!Y#XJC%$7RQRCX%MVC]?\`O*%OK4AC^M>_UKU/M?M< +MJ[5QL:^6./[IGY+Z/U(CGR"^L?1^J5_9]6O3:FS?!3)[=TN;'?OBW'K&A-+! +MPL@IMS%"Q*H#"[W#VL:!:_%PF5MQTZCKB<6LZ`\?%+-5^NK!-`"$4.DA>6)W +M:O[K@`9*'[(-1\1(Q6)?+'.'TBU"83(!ZG$O]8?VM^77&PKY8X +M(8&?DHMQ8$<^8CYO]7^J5'V.7/\`V/VO@ICMOM)=^^+<6LZ"\MN\=F$]'T(2 +MQ5%,+2S-;11A0?BX2FA*[+RJ.IQ.'6-!DC2..R5#>"":!3P4,D@EEB=G!_=\ +M%B=R/V>VYQ6%?*_.`0$\#]7+#]YZ9<2N;8W'+_=GKHHMQ8$:.T"+$L$7J%$ +M4PF0F.*+@I)/ILW$E:A>6U:FC(=6T*2..".Q5&NO1E@C/!05DCGFC=G!I'P2 +MWDJ/V:;=<4A7RMSMQ`?W1%N:?&8BU7^K&?G_`+LKR^W\5::Q;QD@%?292O +M[-*=,!0+Y4Y6X@(]`B`JOQF`MZ;?5S-SV]3A7[>_3EOQP=H@TGX_T:79O2@% +M9>?/ZN`WU:GJ;\*6."&2>8TBB5GD-*T514F@ +M]LC,6IZ&Z1V2:>JRS-&\5O\`NP*/'(4)<-Q4JL31\:['X?L[Y)IA$89!/Q]' +MB?5YTX\:?%RKVID;B'ESC&T33?608Q;M^]^L\/1D]+AR'+AZ//K[D_'@A5'8 +M_!,NFX^+2>8/+I:._6V"PA547'!05Y6HNU'I_:H()`M0-N7'I7,NI:(RK8+I +MRB9Y%*6W[NE3$U&]3EQ!XJ8>->OP?9WQR+Y2^!4*_5*)1?B^K7>*LK3_6N:^FW[WZSQ]!N(&W+A]7K]._]YODMNZ7)COWQ6?XA +M\N?\=#ZL/0X4^L<%K_O)]A\-:?Y/3+.I:(%-@=.7UED+-;?NZ5$0J +MWJ)]'C6M?@^SOE\/*-.-5^I\?L_%]5K]4I_J\OJG_"^^61Y=XEF>?ZUS +M(9OWOUFGU<5!VYE,J34]#1)+%].5I8GD:6V_=D?#$A<^H6XL2LBQ<:[GX?L[X +M]T\I?&KE?JG%ZK\7U;E]4H_&GP\OJG6G[->]_6>/H +MIZ@>@Y+EUGC0+7XB>)VQ\J^4^4 +MRRE?JU)"R_']6#_5AZOI\?AY_5_Y>U:?%RRIAY;X2M.TWU@^L+MOWGU@Q^E% +MZ_J<1R">CZ=:?Y-/BQVVVDN_?%TVN^7UDN+I[42)(LL9F"(QE*1\I$X,0?C5 +M.(+4#<:'8"IOI%Q:317$5K$(3;R^G.BD,.;1QSA@Z_:Y)(IKA5.OE3G<"N?_C,?X8*F_Y3O2O^CG_J'NLS-+]?P3_CN^8/\`4_XW?#>3289=6359.#E(1`(W0,05?U5=6)V(/3;"F3_CN^8/ +M]0?\G'PTFTZ:?6([UY#]42$*(5ED3]ZLGJ*_!**=MMSOWS6:G^]EO7]@<_%] +M`VM#&VM7M=2-IJ2QI<77J74RD$1D)'&\)9&4K54'1@PKMAI9QK%:PQH4**H" +M>DO!./[(1030`=-\*9M!E>&[C1U`FOX[Y(P612D:Q#TG*;BOI=JX::=;SVEC +M;VUS,9YHD"O*:_$1[G<_,[Y3*JYWNV#GR1.$5YI&E76I,MQ<#G<.LTEIR4.[ +MI'Z:T/VPI5`2!UXC_*J>X07WEV2]O9I3/P@N)8YY"*^HK1Q>CQ3]FAX@U/3X +MA^ULP-$[ULLO=:%BTG1XTBO$U*-I+O&9[58 +M8TC',1LL,4\/(G=E+?6":;T`"[]<3C\G.D"61NZVX,;O**B3E':+944?9H>` +M:IZ?$.]1/B&_K+"C_-5(]*TA`FH+J49FB=%CN3Z13X(W55*#X2Q$C25_FW^S +M\.4OEO0`$TX70,'!2+;FO,\;060//[7'T%!IXBO3'Q>6KN.>*^]:,W$)C41? +M&(F6.*2&I/V@29*TZ(?SSR[EH_S57]%:10:A^DH_7$G'ZU^ZX5]+CPX?9Y4_>UZ\OB^Q\.4?+>@ +M$'33=#ZOP)^KM']8#`>E\?I<1#Z- +M:_:KRWITX_!_E8@WDQVM3I_UL_5R"1-OZO(V)TZE/L]^=?H]\>(?SR-EH_S5 +M5]+TA@^H-J48GD=E>Z'I +M.TY*71VB](U/VRH1R0#T+$].-`TWEF[EEN+OUXQ/0R"?G;V\SW$9:OJ,SP_5^#_LT'(FHZ_"/V=TD5]?3DD# +M?Z>K(,C5UH>BW$]U'->A:>O.T:LBO$\HK)(6-=DYEE#"@Y&M12DER,7GE66[ +M:=?K(2)WN9HFH6;G<#[+K4#BI)K3=A0;<=X0-'ZN%,AY6MFT;194DGDOXT:\ +M$T,\BE`C)*D,+I$K$A"B6\84[T[UKCI=!T222>%[T((1/,(PR!X6E<322LS5 +M)$;FJAMAR-:[4;/Y6N9VNIOK"K+>I<0RH2S*BW$5O!R5MB[*+8$UIR)/3--Y +M2EF#Q?60L:M?$-O6?U,:._I:FT31)8WD +MDOXU-\L\$[J4"NDHCBD2)23P*+&J`]N]3OBDNAZ+)+.KWH7T#/.JAD#0O-.M +MW)([&M0DNX#;"I!KM1.X\J7$XNW^L*KW\=Q#,M681K<+%'R1MB[*(:GE3DQK +MMCIO*LTS,/K*JB27,T!()+/B/& +M6:^1?KRSPSL"@61)2J2)$/\`=?`#TP1T!(-6H0I)HFC-)+RO@IMFEF0!D#0O +M).SG]KC-&M.70;&N)S>5+B47)^L*&OH[B&X%6(C62K)$/]U\"?2%-PIH:M1L75J-M3CCF\JSLR' +MZPM+=Y'M_M'F7O(-0I*.P'U<)\/6I/MCQ#^>>:T?YKOT'HA"?Z<@^N$B6A2D +MO[]I>,7\E'D:/;]DT^U1L':5INFVMZ[VMRLTENLT21`K6-9I5DD#\=V(:-4! +M/0+3K4D`?*DY]7_21_I=?K'VCP!N'N?W7\QI(5^+O1NU,':5H&$"M66XF2?D]=@5X`;=3R;O0"1%'UDI`W'I3O(L-#T0*_^G(?J?%8JE"(@ +M)A(%E'[=601[_LBGVJMDIR+#RI.!#_I(K:<1;_:',+.MQ^]/[)H@'P]&JW?C +MD8&K]54T[@\>QH-]\:NAZ(J$ +MB^0_4A%'"24*Q*DGP)*/]VD:]5%!1JMEIY5G5F/UE2+AXY+C[0X&.\FU" +MD0[@FHL4G,F0_LL5Z<>C5;>O')\0_GG +MFQH_S52/1-&26$+?!C<-%,ZED+3/'(Z']GE,YJ%ZC84Q.+0]$CC#I?(WU +M%8(8&)0K&D7*.-)0/[SFK&,D]0-J-4XZ+RK-$W^]*E99()IS1AQ:&[DON,0Z +M<6,G#?H/'&P^4[B$6K?6%9[&.WA@%6`D6WYKRD;JK,K[7=@NQX@"F]4X=$T2*-)8[^-C +M9+!!`[%"B)$LL4:2J".9=964G:O:A&.A\J30E5^L@H[VTTY`(*O;7!N^,2U( +MXL2%%?LBO6NS;?RK)%=\;&_K +M/ZUH[>E?%H.B));P)>!UE$$IC+H7F:)C)'*K+0@2,.3!=CQ%*;U;#HVBQI'< +M1ZA&[V8AB@E)C*!8HYX421%H'+I6V@\K7,#VL_KHTMDEO%$@+JKK!%6;N*:"\] +M>,W%OZ2+%\8C98HI8:D[L"3-6G0*`OO@@=CZJ3(;C:VD\N:"OIZ>+H&`JC"W +M+KS;C:"S#<_M<3#&&('=:]*@Y=*TA0NH#4H_72156Z_=`>O;<=ZXLGEJ[6X2^]:,W$9 +M4"+X_2*K"T-:_:K5JTZ3MW,:/\U9_AO0*?HWZT/J_"OU;FO/_ +M`'D^I5Y_:X^AO3QWZ99TO2"#J!U*/UVD*FZ_=<-X@I3A]GE0>K7KR^+['PXE +M_@Q_JOZ/^MGZO3^^W]7E]1_1U*?9_P`NOT>^+MY:NVN&OO6C%PS$>E\?I!3" +ML-:_:K5:TZ(?SSR[EH_S5C^6]`;GIYN@(.#,;;FO->5H;(MS^UQ$# +MEJ'N:]*92 +M%[,7=("9'CE-3)RDM39T +M*WAY`[,Q7ZL#0TJ"5VZX\0V]96C_`#6YO+^A.\]H]V(XT$LGH!T#Q&2/B[EV +MJ:(KE@&V'(UJ*`&^D6UK!'<2VTRSFZE]6:2.@3FL<<`556O$*D2BF$LWE"26 +M.2V%U2&LSQ2$%G+31^EQD6H4JM233[0H-N-2=:78267UR29@TEY.)V5265*0 +MQ6X4,U"=H:D^)P2(KZK91&_TTF&*P=7_`-1OU8EBL'5_]1OU96.89'DQ\?[U +MS_\`&8_PP5-_RG>E?]'/_4/=8%'^]<__`!F/\,%3?\IWI7_1S_U#W69FE^OX +M./G^E__0.)/^.[Y@_P!0?\G'PTFBU.36(^$LD6FB$,WI^C0S+)7BW,,]&38T +M^@@X52?\=WS!_J?\;OAK-K"3BT0=71`63I7IX'-; +MJ?[V7+X^X.?B^@)&NB7;.9ULVMU]=7FM.<;K+$BSJI8F1O4EYRB1C)2M`O:N +M2#1[6XL]+M+6Z8-/%&%>A+`?Y(8]>(VKA/;#4I8KWZNUY24QQJER'24)S;UK +MA'E$:([J?@1-EHIZFF'6E7%W=:797-_#]7O)H(Y+F"A7A(R`NO%B2*-V)KE, +MR:WKFSB!?5&9&M0T;4[C5)+BW?T^+T!/8AD(D>.&>-Y-_A-6E3[6YX\COE1>7-<188VG'UE1'2_P"5 +M2BI9BV:,5^,_O06\#RJ=P,N#]/\`^C^K]:^I_N/K5?4];U/1G]6E/CX\_2KQ +M^&M:?#E1?XLXP\_4^O4CI6OH\/J8Y^I3X.7UCE7O7C3:N6W+?>/)KH=Q7Q:! +MJ2-%(\"FU1HS)I_-"'*PR1M)_(:LRC?>@Y?:VQ-/+>NK$D1N!];"(/TARW`6 +MP%H4_GWG!?PWKUQ\7Z=Y1>I];^HA_P?'G_L>?^1B;?XN])J>I^D>#>/H4^H&E/]UU^MT]_HQN +M7?'DNW<>:I)H&I,\DBP*+5W'J?7Z25I7T.'U%N'"OPIZ_/T8?2K7X^//U:< +MOAY4K\.#-/\`T]^DXOKOJ?WK_6:F_P!JNU,!,JYQY%(J +M^1YLER(WN@:O/-=F!@CRFZ;ZQSIZL`XU'4Y+LB-[_B7UKOZI +MZWJ5NNE>'H\?W'H\O@Y]*4WKRKVR&.[-$#WLIU6]_!3N/+VJRBX,:`13+KZ5MZ/JU*5QT_P#B?E/Z +M7K>M_I7J\:\/2]1?0]#E\'/T_L\>_+EVRRY;;Q84-]BMN/+VKRI<>FH5)DND +MM(>2#ZM)*L*Q34!XBC1L_P`'2M!CY_+^KR23&,@,7NFDD+@?6(YKE)XH21\0 +MI$/3^+IVZG&7'^).%QZ'UCT^%S^CJ>IR];C#Z'J\OCX\^=/4VX]=Z8^?_$OJ +M3>EZ_+E=>O2O'T?K*^AZ%?AY_5JTX]ZU[8W+;>*T-]BLF\O:NZ2A``LJ7*VD +M?)1]5>5D,17*1&F_]RC1_ +M%TKMMC)O\2\)?2^L<>%S^CJ>IR]7DGH^M7XN-:\?4_8K7XJ8^7_$GJ2=.'T[XW+;>*T-]BL?R]J[*P6@#B86J\E'U5GF]1 +M7H-AM\7P=".(^$UQS^7]7+L139I&N#R'^DJU[!=*I[_W,;I\7\U.F-?_`!+Q +M;AZ]*3?H^G.O/UOW?KU^+CQI3U/V*U^*F.?_`!)S;CZ_VI/KE.5.'UV#A]7[ +M5^J^K]CV_:QN7?'FM#N/)H^7M7IM3XB?JPY+_HM;EYN7_`,OV.Z\?LFN&.BZ +M3?V=^9[B@4)<)-(&!]=Y9UEBDVW^%`WVNG*@V&%Q_P`2TV]?J?J/V^OUEZ>O +M[>EP_O/V:_M88Z+^F/KY^N^KZ?"X^L^IRX>KZZ^AZ7+X:>GS^SM3C7>N"1-' +M>*15C8LAR&CR]JX`K3X.'UHG +MP?7_`+?7ZRM?0IO3T^5?3_9I^UD,=[T0.7-E.MKOX+D\OZNKJ33=XVMSR!^K +M*M[-=,@[_P!Q(B?#UXTZ8R/R]JZH@:A$8@%TG)3]::.4N\E#L=OB^/J3Q.PK +MCX_\2O\`;C^IUY4]/Z[-S^L=J_5?2KS]Z;XR/_$O!.?KTI!^D*\Z^IZI +M]3T*?%QI]KT_V*4^*N67+?>/-A0[BOAT#5TDB9R"0\#POS!^KI'=R7$D0KOO +M"ZQ_#U[[8R#R]J\:0B0`K$ELEW'R4_6I(C)ZDM#\)J6#_'U/PG8#'P_XD]2+ +MU/7KS@^K5Y4]+ZW)ZOKT^'E]5XUY=^F^,@_Q+PA];ZQPX6OZ1KZG+UJR>OZ/ +M'XN/+C7T_P!BE-ZXW+?>*T-MBO@\OZQ')"78%@UJTOZ_'X>?U?KR[TIWQEO_B/A;^O]8]+A;?I&OJ<_6XS^OZ7 +M'X^/J>G7T]N/3&Y;[Q6AML5T'E[68VMP[CU5^JE+@.&]!(F9I(17XC\)XBGV +MJ[]!E6_E_58Q;F1`885MENK4,C>N\45U')+\7PFKS1M\>YX;Y<'^*.5OZOK> +MO_HOI/'OE6_^(:6_K?6?J_&V^OU]3U/5]*Z];AQ +M^/CZOH5X;=:8W+?>/X[EH;;%NW\O:U']75Y1ZZ"WXW8;EZ*QQ\'B%?C.^W@> +M53T&&GEW3+S3S(;E1$C6]M#Z08-6:+U?5F^'^?FHJ=SQJ=\*X/\`%7[CU/5^ +MM4M^'*OI>GZ?[WUN/P<^5>5=Z\:;5PT\N_I.LGU[UO3^KVW^]'+E]9_>_6*< +M^U/3Z?#6O';(S)X39CTY)C5C8_%.+J.26VFBA?TY71ECD_E8@@-]!R)PZ!J: +M&%WA4VT9B]6PYH0[)#-&\F_P&K.HWW(7E]K;)9=>O]6F^K4^L<&]'ETYT/&O +MTY$X?T]6'U?K?U&L7UBOJ>OS]&7U*4^/CS]/[/P\NGPY&%T:(^+*56.:R/RY +MKJQQQM./K06/_<%_#XJ]1BB:!J2NDC0*;574OI_-*$B! +MHC)_)]HA?&GQ_:VQ./\`Q;Z?^1EER[X\F%#N/-3_P`-Z[Z0B^L#ZWPI +M^D.6]/J'U3A_/_?_`!^'?KBC:!J1=I!`OU4R,5T_FE`3`L0D_D^T./C3X_M; +M8G_SMWI?[L_2/#W]"GU#_@*_6_I^C%&_3G-N/UO]'^HW#^\]?EZ"T_R^/.OM +MS_R,;EWQY+0[BIR>7-=:-XA./K95Q^D.6Y#6#6BI_/M.0_AM7J7VML9)_B[TWX^I^D.+]*^AQ^H-PX_L5 +M^M\??KVQ\WZ=Y3>G];^H\I?J]/4]?GZ,7IUK\?'GS^U\/+_)QN7?'DM#N/-; +M-Y=UQUF19A]982UOBU#(KVAMUC-/C'[T@^`XU&Y.7/Y?U23ZPR1#T)1<""R+ +M(!$\D-O''+M\(HT4GV=QRJ-\J;_%G&;AZOUZDM>-?1X?5#Z?IU^#EZ_&G>O* +MNU,N?]/_`.D>E]:^ITN/JE/4];U/2M_1Y5^/CZGK4Y[5I7X<;EMO'DM#?8MW +M'E[6Y/K"I*/7?URUX6X^JLD7!(C3XQ\5/8<:CJ?U;>#X +M?W:>C%&11/A'*1&>@_FPAN/\55N/3]7ZW^_Y\:^EZ?I?NO1Y?!SYTI3>O*NU +M,/M$^N<+SZSZGH^O_H?KC%RKZGQT];U*%EN8KOE]6U.27A3EP,)I6M#M'T--CB_U2;_`);9ONB_ +MZI918_']C.C^/[49ZEO_`+YG_P"!;_JGF]6W_P!\S_\``M_U3PNG46R"2XU" +M6-20H+>EN3V'[K(!P[=WX^2_C +M\;IKZMO_`+YG_P"!;_JGF]2W_P!\S_\``M_U3PG%U9M%ZZZNS15"\PT)!+#D +MM*1[U7<4ZC?ICQ+;M*D*ZJQDD`9%#0GD"I<4_=]U!8>PKC\/L_8OQ_'S37U; +M?_?,_P#P+?\`5/-ZMO\`[YG_`.!;_JGA.+JS,7KC5V,7()R#0TJ5Y@#]WW3X +MO]7?IC_5MS*(1JK>H1R"\H=P5Y_[[_E^+Y;X_#[/V+\?Q\TU]2W_`-\S_P#` +MM_U3S>K;_P"^9_\`@6_ZIX3_`%NS]'U_TNWIH!R*\H>G'G_OO^7XOEOC\/L_8OQ_'S37U;?\`WS/_`,"W_5/- +MZEO_`+YG_P"!;_JGA.;NS$7KG5V$7+ARY0_:"^H1_=_R?%_J[],>9;<2M"=5 +M82("SJ6AV`4.:_N^RD-\M\?A]G[%^/X^::^I;_[YG_X%O^J>;U+?_?,__`M_ +MU3PG-W9K%Z[:NPBJ5Y%H0`5'-J_N]J+\1]M^F/:6W662%M599(@6D4M".(50 +M[K;_[YG_X%O^J>$YNK +M-8Q,VK,L9)7D3"*%15JUCVXCB%`'+5_=]CL?`X?A]G[%^/X^:;>I;_P"^9_\`@6_ZIYO4M_\`?,__``+?]4\+ +MX8_K$8E@U"62,D@,OI$54E6']UU!!!'8XV0)$)#)J3J(0#+4PCB&^SR_=[5[ +M8-OQ_8OX_&Z9>I;_`.^9_P#@6_ZIYO4M_P#?,_\`P+?]4\*/K%K^Z_W+-^^- +M(MX=R&].G]W_`#GC_K;=<4AI/-/!'?3^K;L%E0K$".0Y*=XMP1T(P_#\?)?C +M^/FF?J6_^^9_^!;_`*IYO4M_]\S_`/`M_P!4\!_5)O\`EMF^Z+_JE@436Q$[ +M#56XVP9ISRAHBK4,S'T^@*D$^(/A@V_']B_C\;IMZMO_`+YG_P"!;_JGF]2W +M_P!\S_\``M_U3PK+1@P@ZC*#<&D"D1!FIUH/2KME&2%1<,VIR!;0$W+'T0L= +M%YGFWI4%%W.'X?CY+\?Q\TU]2W_WS/\`\"W_`%3S>I;_`.^9_P#@6_ZIX4M- +M;H\,;ZG(CST,2-Z0+5/$;&+N33YY0N;4K(XU9BL94.0830N2B?[KWY,"!3J= +ML?A]G[%^/X^:;^I;_P"^9_\`@6_ZIYO4M_\`?,__``+?]4\*1-;,\2+JK%IE +M5X@&A/)6KQ(I'^U0T\:90N;1D:1=69E0JK$&$[L2%I2/?D1M3KC\/L_8OQ_' +MS3?U;?\`WS/_`,"W_5/-ZEO_`+YG_P"!;_JGA4LULTD4:ZJS/.JO"`T!Y*]2 +MC+2/HW$\?&AITQ@N;1HVE75F9%(4D&$[M]FE(]^5-J=K;_ +M`.^9_P#@6_ZIYO4M_P#?,_\`P+?]4\*EEMWDCB3569YE#Q*K0'DK`LI6D>_( +M*2/$`XP75FT1F75V:,$+R!A()8I;_[YG_X +M%O\`JGF]2W_WS/\`\"W_`%3PJ$MNTJ0KJK-)*`T:AH3R!4N./[O>JJ6'L"<8 +M+NS:+UUU=C%4+R#0D$E>8I^[WJOQ#VWZ8_#[/V+\?Q\TX]6W_P!\S_\``M_U +M3S>I;_[YG_X%O^J>%:R0/,MNNJ.TK@%$!A)(*\Q3]WW4`C:R@$F]F`'4TB_P"J6)6W"]A%Q::E)/"Q95EC,+*2C%&H1'39E(P6 +M/Q_8M'\?VIEZEO\`[YG_`.!;_JGF]6W_`-\S_P#`M_U3PK:2!9FMVU1UE0$N +MA,((`7F:_N^R_%\M\3-U9B+USJ["+D5Y%H0`0O,U_=[47XOEOTP_#[/V+\?Q +M\TX]6W_WS/\`\"W_`%3S>I;_`.^9_P#@6_ZIX6*T37!M5U-S.O6(&'ET#4IZ +M?7BP-/`@]\4DA:)0TM_*BDJ@+>B!R=@BKO'U9B`/?!M^/[%W_']J/]6W_P!\ +MS_\``M_U3S>K;_[YG_X%O^J>%32VZ2R0OJK+)"I>56:$<54!F+5CVXJP)\`1 +MC6N+=8XYOTE*8I)5@#J(B%D8T57_`'7PU-!OW(P_#[/V+\?Q\TW]2W_WS/\` +M\"W_`%3RQ/"@;A#/4J5W1B-]O]]C`7U2;_EMF^Z+_JEBMO:/S+/=2N%5FX-Z +M=#0=^,8/XX`1^/[%I1FLTB/U:6X;_2)_K'I1PLY`50:'<=^-=NV!)9E/G72I +M^+!>-R_$J0U/JUT?LG?$)XHC+/+-R^S$U2!X>^:W4?WTMZV_WKGX_H'7E]ZW0]&;3'+/. +M)3';6]B@6OV+;G1VY$T9O4^R-AAUA+HEA):SW4\MJ;5I0J+&&5DX(SLIJKLS +MN>9+.WC3MAUF/,W+G;9'ERI+]5L6N_JDT<@22RF,ZAB55N44MN59EW7:8D$= +MQA+%Y0$21V;7?*`F*25@"LA:&(0D(M2H5N*FIJ5W&_*H-]:LI[P6;0CU$MY_ +M5F@J!ZB&&6(`<_A)5Y%?XO#"&#RUK$8@C:<"5/0(O%:IB6*#TFB6H#GXJTZ` +MAB3N!6<3M]5,9#?Z;14/EN:&2"]-U&UQ:"&)5^-8V6&.>&K'D64L;DM0$A0` +MN_7$X_)RI"FGF\)M_@DD8`B4M':K8T5:E:'@K5-2-U_:J$H/+VI1&WD>-?1A +M$"RV092)&BAGB>05`0_%*E.0J56I^+;&Q>6=92.*%K@"=?3/UX-4H$LQ:M&M +M?C/[P%AT%&).X%97S]8Y=R*_HE&1^79XYHM0^LQFY@,:!?C$16..2'<\N0): +M0M2M`/@_RL17R8JVRZ9]<)M@JDO0B6J62Z;L*\:44/7QV[UQD7E_44DAF:)# +M!&T?/3PR\6*020M)4KPZN%W%>(Y?:VQ)/+&M+`EN;D?6`J?[D.6XXV`LBO\` +M/_?`OUIO7KC?],'Q^EQ$7H]>7*O/XJ=./[O_ +M`"L0;R8K6QTSZX?JQ4D/3][4V1TWI7C2AYU\=O?&CR_J(D$_I)]7#@_H_DM* +M_5S!ZE>/#K\/2O#XOM?#B3>6-:,#6XN1]9*M_N0Y;FM@;(+_`#_WWQ]:;5ZX +MV?YXY=RU_1*.?R[/)/)J/UJ,7,S.I7XS$%>-(=CRY$ADY4Z1GX:?R6BEH$ +MA#UX\.JE=A7@>7VML3E\LZR\4D"W`]=A(?KY:AD.=Z44$;DT +M0?Z8Y=RU_1*,E\MSRRSWPNHUN+KU8V7XS$JS1PPU4\@S%3`&I6A!*;?:QDOD +M\2QR60NRL`,LD3$%I`TL!MJ.M0I"\F:HH6V&W&I1G\O:E(UQ*D:>C-ZRQ6)9 +M0$:2&&)9#0%!\43`\14*U1\6V5/Y:UB19XEG!F;UB;UFH95DMO06-J`N/CI7 +MJ`%!&Y("#R]8Y=RU_1*)F\M2S/<78ND6:]6>%U^-HU6XCMH:JW(,[+]44T/V +MJD;=7M3E-S(B+Z +M4ZW*0VA90(FFBM8DE-`4%&@DKQ%0'J-\UQY;U>7UT693(WUDFZ9J>LLR!4A? +MB"X'9JU`"BE:FC?+UCY+7/TED6E6+68NI7<.]Y,)V"DLJTBBMU4.WQ-\,()8 +M]37$[*$VVK:DO-&%V8KL*&'-"(DMB&3^4^@"I^?AEZ-9SV:W9F'!;B?UH8?A +M_=IZ449!X?""SHSD+M\658030:IJKRH>%U)%-!+U'!84A,=>Q5XV:G^5\\K/ +M\6][?J9]VW50US1&U1F*SB+UK6>PDY5V2XXUD3B15EXGX3L>O;<1J%A=ZA#= +M6LDL<=NWHO:,%8NKQ.)6]:K492RKLM-JX!\Q:1?:D_*U((:TN+9*D#TII2GI +MS[@_9X_L_%TI@O5(+^_M;RQCB5%`A,$QDVFHP>6)E`J@(7C7>M<-[1]0_5NC +MK+;]J52^57E6X;ZT`VH1SPW`JS!5N.-#$Q-7944CX_M-\>U.)?)Y6:1_]ZE` +MMY)9H-B26FNX[^DJ\J!5:+C\/V@:[8$F\N:K(LW$@"X2Y2W0LH-L\S(R2[#C +MU7FWI]&H!4$G'R^7=5>1RK+L\[R,6I]826\BNEB:@K3THVC/+I7;;)WR]8^3 +M&N?I**;RY>$0O#>LM99IY8T=@O*9T='5R'9C$J<:FG*I-5K3'7'E.%KF[O8[ +MN<23R6TZ)+-,\:M:RK<4=7E*LK%:=/A'3$DT[S%;1PI9S>E$TUQ,\2A&9?4D +M5X0U61./'F7"]"VU:5S7?E_6)+F^G&H-/#/):R):N(U#I!*)9(F*QB@*`H-] +MZ_%@L_SP/[5H?S3^`T?*K'U#];'^FU%Q]H\09WN?W1Y?&>,A7XN]'[<2;64) +M?5M2OBZ'DL%H(U8,RB#U):R4^RS&X.WA0]\(3Y163RL[6%Y9BX1^5G-80%^0`69@_JR_:H4`79=B06VY?#*LAP\N:J +M`OQ#]UP](AA_HRI?37C(*BO\`=2H@X]UITQD?ES546/DP/HK`MPH93]:: +M*8R-)N*5_;7U.K$J:+ODMA_&-OUVQ_S2FE[H6=RKQP")8@8EJP7T9A/\ +M.RB0-3C\8^'[2[X#A\JO"MN_UI6;3H[>"W%64,EN'4F5@:HS(_['V6^+>M`E +M#Y=U6.2,LR[O;O&P:OU=(KN2Z>):BM/2<1CCU[[8R#RYJL20.U2XC#* +M3WGG-"IYVUP;R +MD2\B.+,0N^ZBNYY;,@\K/;BVE^M*SZ?';P0BK*KI;I-%61JDHS+/^S]DBN_3 +M$H/+NJQ/%S=:\K5TE#5]!(+AIY(5J.1!C;TUX[&IK2@JRV\N:K"ML9*%;=+5 +M+B$,I^L/`LZR3#D.)JTJNO/J1O3&^?K'RYK7+TE%0^4S#P@-WRC*TH"&-0*"M6WEW5(OJSN +MJF.W6V2>V5E/K-#%=1/*.0"'XYXV7GN>&^-\_6/ES6N7I*(B\H^DD=H;OE"Q +MADF8`JY>!`A]->3*%8A3O4KN-^51\-TC3V:PPHOQK&RP1W,-6;D6 +M0M]:8T!/&@7?K@:W\MZO$((VF42K]7(NU:OHK%&4>):@.=ZA:4!#&M*"NM_+ +MVIQ&VD=%]*!;=)K,,I$K0PW,3R"H"&K3I3D*D)4[XWS]8^2UR])5HO)XCB2Q +M-V6M_P!W)*P!60M%;K:41:E0#Q5JFI7=?VJA2+RY/%+#?_6HVN+;THU7XQ$R +MQ1RPU)Y%E):8M2M``$_RL"0^6M8C6&)K@"9?1(O@U3&L=K]7:-:T<_'4CH"& +M).X`+H?+VI1M!*T2>A$81)8!E(HW'>H,M1V!*D\?>F$VF^7]5M+BS-Q*)6@D@DDNN6_"*R2T>(5'/XI59 +MO"C$G<;G.MP336]N\2&46]U!<2Q+N62-PS4'ZDN&2B%3R"2<1[X+U*WFN]/N[6WD]&>> +M&2**7?X'="JMMX$UPKTZTU#3DNYH[93]8EA]*S$BJ$0*D4DG(+QV`-!2I"BN +MYVB.7,<^19'GR^*'U#RM^D)+J)[KA#/$"0O7J=AVJ: +ME\N3RS2W_P!:C%Q<>HC+\9B598XH=CR#,0T(:E:$?!_E8EJ7E_5;NXO#;RB) +MIY)Y(KOEN$ELGM$BV'/X96#^%%!ZXG-Y?U&1YIEB002F41V!90$+P10K(:+P +M^U&PV%>)Y?:VR8/+UCE^`P(Y^D\T5#Y7>WD6*"]*1PL\\$FYF5Y+9K,5%>/P +M\F?D`*_"/V:FCY4>YTZ.SO+RE>C#CC9L>L=-UH4?2>NS5QY2$XEM1=E8>4TL+ +M,6EE#SQF,>KS?X@I9B37D^P)^&I6GTMUM98'FC$FJWT$SDN>*"%81PC+_%(Q +M2U^DGPP%=>6]7F-PB3@RN;AC>.0IF66+TTB<1J"N].7[("CB-R`*?2[T6%S; +MK&0]Y?V\]O&.-($B^K\V8I\*[P._P]VH-\;Y>L%:Y^FF38K!U?\`U&_5B6*P +M=7_U&_5E0YAL/)(6EN'FGMUGDCA]5@8T/$'E2M<$3?\`*=Z5_P!'/_4/=8%' +M^]<__&8_PP5-_P`IWI7_`$<_]0]UF9I3Z_@X^;Z2_P#_TSB3_CN^8/\`4'_) +MQ\'7GUQO,6G!'E%DMO<&9420QF8O!Z7J.AXUXAZWI#ZM];OHM2BXQU26&2I927+AHT-:4150=!OOWPWPB\O:M=:DTZW: +M<9%59"JD,D9=Y%]!O@1ED3A\0)/8^V'N8\[XC8`]S9'EWI7K:WC+9_5O4]$3 +MUO!#RY^EZ,H6GID/3U>%>/;"&"+S4/0$C2_7/W'%F),0C$%)?6XGAR]2M=B2 +M>--JX?:W=W-HMGZ#^E'-/Z=S/1?WO#ZN9?K7U,>A];4F +M0S>H(9Q+2C +M--JY<&N:L_U=9)J6TGH&>]X(/3=X9WDCW7B*-'']H5'+B=\J+7O,#+"[0_Z4 +MPCI8\`.:M9B=I.G(?OBR]:#C3J1DZEOM'DQV[Y+XH]"?%4^A3Z@%:N_"OUNO:O3MBD6MZJ +MS1(\]+1VC$M_P0<&:&21H_L\11E4[BN_#[6)IK_F(Q)(T'^F%$/Z/X#<&P%R +MS].7^]!*=:;4ZXU+NCR6QWR5!'KG,$_6OT?Z@JO*3U^7H$?S<^//;K3GO]C? +M$VB\W>BP#2?I'@WQ5/H4^H%13?A7ZW3M7Z,4&MZKS">N?JGJ`'4."=?0,GI_ +M9X_:WZ5_8^UB;:_YB$+2"#_30C']'\!T%@;D/TY?[T?!UIVZXU+NCR7;OES5 +M)(]@@2OQ<^//D-S3GO]G&2Q>;>$H1I/K])*L"?1X? +M465.%3PY?6N/:OVJ[4Q\FMZJKR(LY-HKN(]0X(>16!)%C^SQ^TQ.PKMP^UC) +M=>\PJDKK#_I:B2MAP!XJMBUPLG3D?WX5.M#RIU&-2[H\EV[YO$SF+ZU +M]2/K?5E!D$W,PPB*M6Y\>?JTY&G*A/PY4\7FL^N(VD^N4FY,I(A,9MZ1^E4\ +M.7J\:;`UY5VIESZWJR&=4FK:Q^MZ%]P0^HR0PND>R\35G?H*GCQZY4^NZ^GK +MLD7^DJ)JV7`-Z:);^JDFPY-^\IWH>5!NIQJ6VT>2[=\G7$?F`_6##]9^J$7/ +MU)09!+ZIBM?0Y'/I +MQI0@\J]LJXUS5T^L".6MO&+DVUWP1O5>.*U>*+9>+5>64?"*GA0;Y=QKNO(; +M@I'^_47'*UX!O12-08Y=AR;L>OQ5H/LG&I;;17;?>2?:*MXJ77UGGZ1GK9B7 +MES]+THN5?4)<#U>=.6]*8RP5AK6K&X!]4M#]69O^6;T4H$/@)O5K[_1C]%N[ +MF[2Z,[>HD4_IV\_P_O(_2BM>V"]4FO)K6\MK&*9+B$0GU0.(='8&00/7=P@;Y&F!/,>IZC8/2R +M^$"UN)HOA#>K<1\/2@^('[53L-_NP7JFIF*UO$L6#7MJ(3,H4L8TF8#U*4WH +MG)J>V$74=A^#U7:Y;G\=R0S1>9.$OI&?B4N?T=0N")2R>B9JGEQK4KZE:)4' +MXJ8^6+S)ZDG`SUYS?6J,U#$;R(Q""IX\OJO.G&GOOC)M=UM$E,9JL:7+69HWI5KXGIFC\R7MM%`LUK]9]::X5+AI +M8X%,4,BHM&?BCN0_P@4#<21MFN]8\P1W-_%]2]&VADM5CN>2OQCEE"32TX_% +M2,EO\FF^1J5\H_@IL5S/X"%,7F6FQGW)^H;OL?K+D>OOT]+A_>5^&H^UAY8* +MPUO56A!%J5MJT^R;H"3UB/?T_2!I^NN$9US6Z;?LD_53P7_2B+EHN/V?]]A? +ML4^URZ##^SFE_36IVO-GMXX[:5>1+<)9?562-3V'&.-N/;E7OC*Z-@"CZJ3]5TYIG6UW\%R1>9.:\C/]N/ZG5FH(_KLS +M/Z^]*_5?2KSKWIOC(XO,O!.9GX@0?I"I>ID$I]0P4/+C3=O3I\%`/BKCTUS6 +MBZ@]GC6W'!1]91KV:W9^E?\`>>.-_AI3E7IC(]=UMD0L:!Q`;M^*CZJ[RE'C +MJ5H-OA^.O&G(['+*EOM'FPV[ROAB\R"2+U#/7G!]6JS$"(7-> +M5=^F^,@B\R!(?6,_`):_I*I! +M84X`?6(Y+N2"26A%12!5D^&E.^,@UW6W2$R&BR):M>2<4'U:24R>K%4KQ%&4 +M)\=>/VCL<:EOM%=MMRO@B\RAX?5,WJ2$2"CLUJL47`# +MUXY;AHI9J$'/A]JM:GCQZ +M'*MXO,(%OZQN?JP6V^O@F0R&4177K%.+M]5] +M.WX!?725F66:A')?A^*@/PTW^T,JWUS6)!;B62D,JVQN[G@B^@\D5T\L6Z\5 +MI)%$OQ`\>6^-2WVC^.Y=MMRW!%YI'H>J9?K5+?@68F(1B/\`>B;B>'/E7E4$ +MD\:;5RK>+7Q]7,OUKZH!;_7%)D,OJB*Y];C1N97U##7@:$UIMEP:[KS^@7C_ +M`'["WXVG`+ZJ21\I)=QR7>O>BTH?M#*M]<$7TGDBN7DB +MW7BM'BB^T*CG0[XU+?:*V-MRZ&+S72`2-)]=I%1F),(06M)/5H>'+UN5=JUX +MTVKEPQZZ#"9?K7U$&'ZRI:3U^?HS"2E&Y\>?IUXFG+U]9Y-QR'[VHZT'&AW89<.MZLYA5YZ6KF+UK[@@X,\,LCQ[KQ%&1. +MHJ*\>N-2[H\EV[RJZ;'YD%S9?7S*9@\!G-3Z/HBS03!J'AR^L\^U>G;#;S"K +M-9P\@6M1ZMX)Y4)5ECDD"D!Q]GF:)7KOM0 +MT.0-\<;KX,A7">?Q1>I"[;3[L6!`O##(+4GH)>!]/_AJ85Z9->VB78K4BH61?I +M.%>F:NRI=RZA/SM8IH8K>Z*@YO4M$]62%YUAM.`-8TLGN(Y>G(\IU5.M-Z= +M1B4VMZJC3(DY-JC2^C?<$/-EABD2/[/$U9VZ"IIQ^UE@$MMH\F)K?<\U:W'F +M6*Z$DJO-<([M*G(BW>,6O[M$->`K/Q[5'Q$[4Q\LWFV\TV-K<0172W5OZ@]. +M9"8O5@:3:7T]@"X?K5>F^,M]Y;%' +M>75#W47FDM<^DTANO](Y-&66$QF+]UZ'-BH;E3CW!Y5/3%IDO?J,H<2&4ZC; +MG2/4Y>J%`@]0_O*N!435Y?L==L1NME?]'/ +M_4/=8&56-W.0"1ZQ[?+!,W_*=Z5_T<_]0]UF9I?K^#CYOI?_U#D!'\Q:Y"TB +MQF10H+&@_O'R2^OI_P#RU#[E_P":\CJ3RVWF'7IH31U0$5K2O-^M",._]RG_ +M`"UI_P`BF_ZJYK-37BROR^YS\5\`I7]?3_\`EJ'W+_S7F]?3_P#EJ'W+_P`U +MXA_N4_Y:T_Y%-_U5S?[E/^6M/^13?]5QJHZL8V`'_)7-SU$,$^NQ\R"0OIM6@[T]7'T_BUW1'K +MZ?\`\M0^Y?\`FO-Z^G_\M0^Y?^:\"^K?A2YOXN*GBS<#0$&E"?5\<=SU'EP^ +MNQ\R.7'TVK0=Z>KCZ?Q:[HCU]/\`^6H?!?5O^)?Z +M]%P!XEN!I6O&E?5\<=SU'EP^NQ\Z?U^+A7CRX&E:\:5]7QVQW/4>7#Z['SIRX^FU:=* +MT]7'T_BUW1'KZ?\`\M0^Y?\`FO-Z^G_\M0^Y?^:\"^K?\0_U^+@30-P-*UXT +MKZOCMCN>H\N'UV/G3EQ]-JT\:>KCZ?Q:[HCU]/\`^6H?!3-?!!(;^+@30/P-*UI2OK>./_W*?\M:?\BF_P"JN/I_%KNK^OI__+4/ +MN7_FO-Z^G_\`+4/N7_FO$`=3(J+Q"/'TV_ZJYO\`E?WN/I_%KNB/7T__EJ'W+_S7F]?3_\`EJ'W+_S7 +M@7U;\JK"^BXN0$;TS1B>E/WN^7SU$EE^NQ\EH6'IM45Z5_>X^G\6NZ)]?3_^ +M6H?;U]/_P"6H?!O5OR$;Z]%Q>@0^F:-45^'][OFYZC5A]=CJGV +MQZ;;5WW_`'N/I_%KNB?7T_\`Y:A]R_\`->;U]/\`^6H?CJGV_W;;;5W_>[8^G\6NZ)]?3_^6H? +M-1]+C+&.=5+MS?BJ#DQH.1H^YVQ#U-0^'_3HOC^Q^[;XMJ_#^]WVS>IJ'Q_Z +M=%\'V_W;?#M7XOWNVV/I_%KNB?7T_P#Y:A]R_P#->;U]/_Y:A]R_\UX&]34/ +MA_TZ+X_L?NV^+:NW[W?;+#ZBQ8+>QDJ:,!&VQZ[_`+W'T_BUW1'KZ?\`\M0^ +MY?\`FO-Z^G_\M0^Y?^:\#EM245:\C`\3&PZ[?[]R_P# +M]C55%2QC8`#W_>X^G\6NZ(]?3_\`EJ'W+_S7F]?3_P#EJ'W+_P`UX&YZB&53 +M>Q\FJ5'IM4TZT_>Y1EOPK,;Z+BE0[<#0$=:_O=L?3^+7=%>OI_\`RU#[E_YK +MS>OI_P#RU#[E_P":\#\]1#!#>Q\FJ57TVJ0.M!ZOOC3+?A6OI__+4/N7_FO-Z^G_\`+4/N7_FO`Y?40P0WL?(@D+Z;5('4 +MT]7&^K?A6Q!??$>>H\^'UV/G2O'TVK3I6GJX +MWU;_`(<_K\7`&A;@:5KQI7U?';'T_BUW17KZ?_RU#[E_YKS>OI__`"U#[E_Y +MKQ#_`'*?\M:?\BF_ZJYO]RG_`"UI_P`BF_ZJX^G\6NZOZ^G_`/+4/N7_`)KS +M>OI__+4/N7_FO$/]RG_+6G_(IO\`JKF_W*?\M:?\BF_ZJX^G\6NZOZ^G_P#+ +M4/N7_FO-Z^G_`/+4/N7_`)KQ#_72LB@L56-@30>/J']6/IZ(WZH>2*X@C>W +MDNXH([BX]509&!*<0S#X5(^*BX$EGA/G72[@.#%QN6Y@[4%M=FN)7$DHN)KZ +M6^>.43^E#&&0'@:*[*KJ>FV+3)7SMI41=C\%RG.OQ?[S70K7QS+TWU_YK1E^ +MD^]__]4WD_X[OF#_`%/^-WP1<_IF3S$T5JTJ6B16<@=A2`4EG^M)7C\3-%P` +M%=B0<0D_X[OF#_4'_)Q\,;R6Z36K`1J[6S1RK,5CE*JS<>!9E/I]5[KMX[YK +M=1_>R]WZ`Y^/Z`E_U7S(MO.BROZIEMF20.AG`=3(H8O +M1B6+FTG$4YR'DQ^9PC^M>8(X+EI8N3PO'!'QCKSK)\=R`G-N'IL*`*2#78X9 +M:1/>7.FV\VH1>C=LI]>.A%&!*]#XTRF5U>W/HSC5]>751UBRGO/J3P_&+6?U +MI820/44PRP@#F"M5:0..6VV$5OY7U6)8(3-" +MHHS5W`!/-;CNW6S^K\S`L];U8^7(Q>C*%V0JQ`E*$@'IA#!:^:1Z`D>07@$' +M"1VY1K&(*2K*02I;U*\OA))*D;`T,">'F![T2`OD2OM_+FHQ-;3,J>G;B!'L +ME92KF&&>%G4E`G690O):\4!/Q;8R'RMJT<45L;H"1?2;Z\I)9!'9"S**".9^ +M,%A\0%':N]`=!;:Z/JYE%Q]27T/K<3,QE,@AG$IH'+,/4,52K4+`L/AWRHK7 +MS8%B5W?Z^!'25FK$$%F$D#D'@3]9Y5'$DDJ1L#2=G?U1Y,:'<56+R]J,NIIQKT/3&S_.CR6AW'FK#R]J'JBY]. +M/T@X_P!Q_)>/^\YM^=>'#_(^SR]/>O+X<2;RKJYMVM!=CUBK?[D*GEOIYL.- +M*H*P\F];EZ!6O]YRX^I\->5/4^.G'XL3:T\W +M>DRAW_27!OWW+]SQ^H%!0UX?[UT-.->_3&S_`#H\EH=QYJTGE[47EEN1'&(I +M&?CIY9>*\[=+&2V%T/5;U&^ODGD_.Q:R",` +M.?\`>$,?B(HJTWZ.DMM;+R%%N?T<7?T8>3"8,8$5#_><@.?(5+4Y_'3COC); +M7S84E5'?]($25E#4B*&Q9$"&O&OUKB0.(((8]"*@$_SH\EH=QYHR71+I['48 +MS;J6O7)MX@T=8*VZV_*K)P'(J0>(KQ/CDA1)([18S_>+&%_=_P`P6GP>I7OT +MY?3D4GMM<)G,2W'U%O6^JQ!F$HD,,(B.[AE'J"4`LU`Q#'X=\/\`4+J[T_0+ +MF\=D^N6MH\K.PJAECC+=/AV+#(2LT+!MF.NQ"1/#Y@MK33K"!9HI?]+1S$$$ +M=2"UL\C1(R*%+"HVKOL>A,7MM?%U$O)#'O+;-9N59HZM\(N&X#MT;IO@WZ]JYUQ+86S#3B2 +MCR,AV_=>HKAEJM"_P_:^CH3(W_1Y$GYH%>?,!':7#9&EN?JQE]0F[,C!^*M"TBFW2$EN//TMEH!Q(:I'(5C`FR;`]Z9`4-B5 +MMSY:U2<73(ZCZW'=1Q1LR@V[7"PJDQXKQKRB,C>G3XCM7 +MZD+LVTZW%TERD+T7D%]-?3;E4;"@.]$KBU\Q%+CT/6])DNAIJ@LI29EA]!G! +M;DJ\PY7G7BNQ\,?/;>9#)-Z)EY\KHSD,0'A:Y5K=826X\_JU56@'$UJ=QD[. +MWJBQH;[%J;RUJDJW!5U'UI+J.)2RUMFG9&67X5XUJGJ-Z=*.`!458/E\MZE( +M[4=*(\\C$MM<++>17BQ-1:@>G&8VY5Z[;8E-:^8RDOI&;@R7(TT`L"DK,GHM +M("W)5K5EYUXI530D#'RVWF,R2>F9J\YC=$,0'B-Y$\2PDM3E]5#@<:4Z'?&S +MMZHHH;[%S^6M4<2D2+_I(F$8+"ML99_6$FRTJ?MMZ=/C``JOQ9;^6]39MG3] +MT\CN2W^](>^@O0K46H_=PLAYUW<_L]4WM?,A5N!EXD3?HZA8<',U8VE!>JKQ +MH5YUHE5-&-,>]MYCYMQ,VS2&]HQ'-#>P.@A^+?\`T42@<:4J%ZXV?YT>:T.X +MN/EK4SS_`'B_OR?3JP_T:MTUSR'P]>+`GA3XU`^SN+/EK4ZK^\7]RS-)\0_T +MFMY'>;_#UX1M]NOQNP^SN6&U\QTV,M"3]0^)O@/UEV!F^+X1Z7`_'7X`5^T: +M99M?,=3O-LS?7_B/QCZY$X]'XM_]'$GV*?"57[0H&S_.CS6AW'DN'EK4P6^- +M?WS(R?$/]&"WLMX:?#_)(OV*?$@'V=P8:)HU[878EN&7C'"\+,""9G>7U1*: +M`'85/Q5/)V[`$EHMO,=14S;LGU'XC\"B\E=O6^+;_1S']NOPAE^T:$PT.'5X +M[PF^]3B(7%T7)*M.9:HT=6((X8=/U/4&CCMJ/ +M;#TG]+D$I)'<1S%FY#XOW:$+[_>&36FO_5KLQS2B\)I$ZR1^F5,_-3&CJ>)6 +M'X37\>N;7-;O-.U2UMH3&MNZ+),7%6(,HC8(M0SMQ/PJF]<`0ZGKVK:9=R6K +M5*5XSVZ<2'BN61HX_B;G6%>1I\N]`@2X1]-7U22+/.V6V\1AA6,N\A%3RE(9 +MMR6H2/"M,!:S93WL$`@-3!/'.\=0.:I78<@5Y*2'7D*5`K3K@+4-0UF%[,6- +ML\T;&,W#O&:E&F1'/%`>)6+D]#Q[==Q@S6TO)+>$6O+B)T:Y5*\C"*UV0AF` +M;B6"FI6H'AD`""#8W9$BB-]DC@\M:G$T2M(F[6CB16KZ"V]RUP\*54,5X-Z: +M\2`06J!M5MMY;U.`6KLRD6B6L'U< +MS"X^IJ+<7L;,QD,HBN1,0`Y9AZC0U*M1B"1MB2=_5%:&VQ;@\KZK&D,!N5$B +M^BWUU22T8BM?JIC0$!S\=>/Q`<7:NX`+X/+NHQ/!.R1^G!Z*O8AEXOZ4$T#. +M"4"=9%456O!:GXML3AM?-8$`D=Q?`1<96:L2QBUXR"0@E2?6Y5'$DDJ1L#2X +M;;7`83*MQ]0!B^LQ%F,I<0S"0[22\+!;$HHIS_O`7'Q`48UWZJ)Y>U!98[DQQF)&6NG\EXGC; +MM;EZ\.'[7#[-?3WKR^'$8[7S8(XU=W_2/&.DQ:L006*HX8UX5^M\C3B2:@]! +MLHEMK8=&9;G]'!U]2'DWK5.?QTX[X23_.CR6AW'FR;3;:6 +MRTZSLYY/6FMX(X9)M_C9$"L^^^Y%<%8%TU;M-.LTU`\KU8(Q=,-ZRA!ZAK_K +M5P5E!YEM')V;-FP*[-FS8J[-FS8J[%8.K_ZC?JQ+%8.K_P"HWZL(YA3R2(W% +MQZLT$3)&OJL"W!6<\J;AFZ>V+S?\IWI7_1S_`-0]UB26T[37%P$_`OJ9_P"6F;_@ +MA_S3F^IG_EIF_P""'_-.4V/P/V-E%&^M;?[YE_X;_JGF]:V_WS+_`,-_U3PD +M6\TUX_534I&6JA>+5++5+-2 +MBE@*UH*],?A]G[%^/VIQZUM_OF7_`(;_`*IYO6MO]\R_\-_U3PD%[IK1>LNI +M2%"P44:I)*>J*+QJ08QS!'[/Q=,&I;+*BRQWM;?[YE_P"&_P"J>;UK;_?,O_#?]4\+94A@E@AEO)5DN6,<"EA5V5&E +M('P_RH3BWU,_\M,W_!#_`)IP6/P/V)HHSUK;_?,O_#?]4\WK6W^^9?\`AO\` +MJGA7=&VLE5[J^EB5J\:L-^(+L:!>BJ"2>PW.)FXT]9'B;4G#("SUD```02FK +M<>-0A#$5K3?IA^'V?L1\?M3CUK;_`'S+_P`-_P!4\WK6W^^9?^&_ZIX2->Z: +MD1F?4I%0$JU6H5XKZC::D?JOJ4 +MBK5@W)J%>`#/S4K50JD%B>@W.+(]I)KRH^I.IA#-)5P`!&0K[E:'@6`:G2HKCL>7W?L1^.:<^M;?[YE +M_P"&_P"J>;UK;_?,O_#?]4\)3=ZFPCDYCC5>#L%;E2A(! +MWRSK2JVI.#"&,E7``X,$:AX[\6(4TZ';#\/L_8OQ^U.?6MO\`?,O_``W_ +M`%3S>M;?[YE_X;_JGA*;O3@(R=2D`D+!:O0@HXB?F./P\9"$/*E&VZY9NM.! +ME!U)P8:\_C'[+>DW'X?BH_PFG[6W7'X?9^Q?C]J<^M;?[YE_X;_JGF]:V_WS +M+_PW_5/"Z".*ZB$T%Y,\9)%0PZJ2K*1QV*D$$'H<4^IG_EIF_P""'_-."Q^! +M^Q-%&^M;?[YE_P"&_P"J>;UK;_?,O_#?]4\+;=(;I&DM[R61%=XF8,-GC8QN +MOV>S*1ESQQ6L1FGO)DC!"U+#=F(55`"U)9B``.IQLM;?[YE_P"&_P"J>$PNM.)B`U)R9J<*./VF]-:_#\-7'$5_:VZY0N]. +M(D8:E(1&5#4>I)=S$G`<:MR<%%XUJVW7#\/L_8OQ^U.O6MO]\R_\-_U3S>M; +M?[YE_P"&_P"J>$PN=/9HE74G)F"F.C@@\V*)4\:#DP(%>IVRA=ZM;?[YE_P"& +M_P"J>$RW.GN\2)J3L9@C1\7!!$A(CW"T',J0M>M#3I@SZF?^6F;_`((?\TX# +M0Y_=^Q?QS1OK6W^^9?\`AO\`JGF]:V_WS+_PW_5/`?U,_P#+3-_P0_YIQ.:& +M.WB>>:[F2*,;UK;_`'S+_P`-_P!4 +M\!_4S_RTS?\`!#_FG$;A8+1`]Q>3(&/!!RJ6:A/%5"DDT!.V-C\#]BT4R]:V +M_P!\R_\`#?\`5/-ZUM_OF7_AO^J>$ZW&GO+'$FI.SR@-'20$,&4RK1N-*LBE +M@*[@$]!C%O=-:(3+J4C(2%6C5)++ZB\5XU(*#D"/V=^F'X?9^Q'Q^U._6M_] +M\R_\-_U3S>M;?[YE_P"&_P"J>%ZP1O$)UO)6A9>:R!U*E2*\JTZ4P(+W33%Z +MPU*0H6X"C;DE/6V7CR_N_CK3[/Q=-\?A]G[%^/VIWZUM_OF7_AO^J>;UK;_? +M,O\`PW_5/"?ZQI_J>E^DGY4Y?W@XTX>K]KCQKP^*E?L[],9]=TT1>L=2DXO#UOL\>7]W\=:?9^+IOC\/L_8OQ^U._6MO\`?,O_``W_`%3S>M;?[YE_ +MX;_JGA.;C3Q(T1U)PR@LU9!Q`">J?BX\:A#RI7[._3&->Z:L7K-J4@0$JU6H +M057U6Y+QJ`$/,D_L[],?A]G[%^/VIWZUM_OF7_AO^J>;UK;_`'S+_P`-_P!4 +M\!"TJ`1=3$'<$./^:L)!5Q(K)PJ5^RJ_ZNV2,B2:W*FL,CJ1L: +ME212M1X93(G:Y`[]&<0.ZMF.1>78H/1O#?H9+$0PK(:B,+;QW,%)/WE0Q^N/ +M6A%-LT?E*VB$=BUWRB;TY98Z4D=H8UA++\5`IXJ?LFG3OB-MY:U&!K28M'_H +MB6L9MU8<9/J\-U"9!5./6Y4KR7]@5QMOY5U&%(;C`8/3CJ +M`U*UXT8"C-4>,[Y^O[&-?T$3%Y>2%HK\W\9GL_2A$I!$=(4GAXO^\J&+7+'[ +M6VPQJ>4+5$333=DP$)*\725C';)8\A\5.-$0_9-#MWQ*W\MZA"]K.?2I;+;Q +MFT5AP?T()X"X_=A?]WJ%JM>*BN^,B\IZE'#%:FZ`*F)_KBD\T,=D++B@IR^U +M4CX@*.W?JWS]?3N6OZ"+CT!(I(]2^OQFX@9$$I!]*D:/#Q;]Y7ESD)^U_DTI +MAW8V"6&F6VF0NW"V@2VCD_:I&@C#?/;(]#Y.`SFIY/&@3F:[[D5R$S_2ME$> +M5)&OE*5+6W@-S'(;>?UR94=UD/U66T)=3+LQ]7D2/#!%CH#P:K;ZF+M+A(X$ +MCHRDO)2,1_62_.AD:F[4IQVIWQ.+3?,/U!8+FY]9S(IN5,E/43T61PC\254R +ME7IX`B@!IBFC:9J5A/IXF0&&WTZ.RG(9#26,)NGPABOPMU/?)$FCZP4`#;TE +M&ZQIPO&@N!<+;R0B2)6<54B<*M-F3?DJD;[].^%+^4+1XVTSZV1!1Y$BZRJ9 +M+5]/Y'XJ<:.Q^SUV[89:YIEQ?M;R0<'$2SQM#(0%/K)Z?+=7&VZG:O%FIA-+ +MY3U*2"2T%T*MZC?7"3S8R6)L>+"G+[9#'XB**O?!$[#UTLAO]-HJ3R^DK2ZA +M]?C$]T9(C*`3'29(8>*?O*E@T"G[6_V<;)Y2M91)8"[I"/4ECCI61#+"UL&; +MXJ%1R<_9%>G;$Y_+>H327-P!%2X$Z"S9AP7UH(;<,?W?'_=)4T6O!CWQD_E3 +M49HYK<7*DL9W^M.3RD]:V^K<)!0MUIRJQ%$6GM('EZZ^"*_HHB7R[%,9;T7Z +M"6^$T#2"IC*W"6T-(_WE2P^J)3XM]Q@NQT&"SOT:.YY);/+/'!^V#."OQ_%2 +MF[T^$5^C"ZX\M:C.]U.#'_I:7,8MF8<4^L0VL(D/P:,UO1WU<0! +M9S$(2Y*'EQ8NO$-\#(P9#NI!_K@:;0?K,E\XEAG:<2*KS([O&7C2/TR5D6J+ +MQY4Z[_3@G6[75KD0?HR?T0APPJE\LPSRR)]<`]%Y[B)`*LDES<"]K(.5.(=3385'R +MPXTJ.\2"0W;EA)(SVZ,2SI$0*([,%)-:G<;5IVP@N/+&H3O(!*@4/=R!F/\` +M?"YNDNA#)1:\>">FU210"@Q!]1N5;\TD;#TVOD\LP2I(_P!>4?I))H)F%2KK +M5?M=L4?RS#)(P^N@?57DGA6E3&\UU'J%91RZ!X@.U1@:?RQ +MJ4HN6$JUO$NHPI85@-P\;B442E:IZC<./Q@=M\=+Y9U"1S21*1O/)4G^_$UY +M%>B.2BUIPB*-6O7PR5\O7]C&N?I5&\L0.K-]>7_686<_P"FC_0V>2$4WC,EU#J'[WX^G*W4;4VJ<#R>6-2<3'U5K="= +M:%A^X,L_K^HM$H6/VVX5]S_?B2^@O^+_``[?#"RG +MERW<]L;_`*?7N6OZ+(-)LDL;0HLHF]:22X,@^R3,QD^'=MA7QPL/EN;GJ#B\ +M:MZ7/,\RU&E$RQR`.%9%`],;5X;`C>ICHUE-86CQ3L"\D\T_$&H42R-(%V"B +MOQ;T%*X7_4/,'J7Y>Z9EF+^AP<(`IE#1!05;B5BJAI2IWZ_$(`FS4AS^;(@4 +M-D+'Y2G2>VF]>'C;S33F,0L%<37'UGTV_>?9C_8_RM^E5)YJUDE]:!'E$/HR +M1W`D/V08F#_%0KL0*5KMA$8/,?UVVMO4D0B'DT@9VA5A<\JN6#\F,%1P9S\_ +MVL.]9LIK^T2*!@'CGAGXDT#"*19..X85^&HJ*5IA)-QN00`*-!*%\LPJX_TT +M'ZXZ2S"E#(T=U-J)]+X^A:X8;UVH<:GEB"-$;Z\O^XY8XX6Z!%A;F1,>>Q,= +M!MQI]KOB68(8XI/KRG]&)#!"QJ%1+=66DQ#[,8WH:$4^UWQD/ +MEC4(G6LB4>2WD)!_N!!>2WABCJM>/"3TUI3[L;!Y8U*$6K&52;..UB*AA^_- +ML9"935*5Y2>HO/E\=?GC?/U_8M2UN/KG*,< +MJ<2Y6NQH.^^2;(E;>6-0@>(&5"I>TD+*?[D6URUR88ZK7CQ;TUH0*%JC);E< +MS_2XF4?=3LC(\K3KIFHZ>MYRDOHS&+EQ(6#'U!ZS`2`%_C%2*5IOM0"39L`D +M1R_%)(!YL>;2+^?7VOI6$4*K;,)DZL\/J^I&GQU57$BAJKN!AGJ6GM?-:RQR +M>G+9RF:,D$J2T^#LV)D=CW"EX1\]V,1^3H8XDM#.W6UV/+B`>"MT-*4[XI%Y8DBFAO/K8-W!Z:HW!@A6..6/<<^529F;[5.W3 +M)'FP^)+O7@CW)''Y3<^M/V:4R19L>.7>O".YBW^"K<6OZ/^LM]3ITI\ +M=?J?Z.ZUX_8^+[/7%SY9E:X:^^M#ZXQ-6X-PX&,1TX\^5>2\_M4_9I3)%FQ\ +M27>O!'N8N_DN!K9K#ZRPLR'XBGQAGLVT[K7C3@[-]GK\L6D\L2R32WOUH"[G +M]17;@W`+)'''L.?*H,0;[5.W3)%FQ\27>O!'N4K:!+6VAM8ZE($6)">M$`45 +M^[%98].ND+A69YZ+6A/ +M3&3?\IWI7_1S_P!0]U@,HCWDY90Q$Q`)`/A@R;_E.]*_Z.?^H>ZS,TOU_#]3 +MCYOH?__0-Y/^.[Y@_P!3_C=\,[N34_TC'%#RCM.,+*Z1B7FQE/KI+4C@!&%X +MGQ)ZTIA;)_QW?,'^H/\`DX^&%[JUS;:M;Z>EKRAE6-FG9@H/J.T;+&#NQCXA +MF`!V(Z9K=1?C2H7[_<'/Q_0'://JDLEPFHHP"A3&Y4*I)+8;T7@^MP&[ +M%F8@I*&,N(`JL&!YT6FV^&.H:\UI?6EK!#Z\4YAYR@[!9Y/35U/<+U-*]JTJ +M*U41(D`=WR96*W)[THM['75%N9EE^J*+87T+$LSRK%=+._$2$N/4>`L0WQ<2 +M?FI867F..>S-XTC3*UN6E+\E6!8>,\2'U(XR"H+E:JOQ\2 +M`3XX9&0NP-]E`B>1/>MU1[U(8_J2D\I56=E')UB->3(M14UH/EOA)HKZ];II +M5K%+GDH)#B-A(TCMRY?$.O,'_`"6K7`L&IZTWU<2R2?4W]#ZU=,G% +MDD:&=I4/[L<*.D51Q^%FX946J>:"L+/$WUXB.EH4XJR&S$KNPX[?Z1R4GD*$ +M*O[6Z(D`CTH,@2#NGNMPW'Q\O0Y\/[K^?>G'[?[ +MJO;)/ITEU+I]I+>IZ=V\,;7$?3C(5!=?H;(SNA=?!,:WJTB2\\S'3TDEB*W/ +MJ+ZB(GQ`>CR9:\'Z2[`B-A3:O[>&]^NH7&BW"VE8M1EMG$-2%*S-&>.X+`$- +M[X1PW4]MY5M[N.X:.=[B,O(Q#%@UR$D!,G+;TZ].@PT75[EM;;3/JO&`4`G+ +M`%@8O6]1%ZE*_!T^UW[8D&[`&Q/V*#WD[@?:DL]CK;&N(Y'-Z1-RN%?BCQM;\(UC/(*#ZO'B.* +M\2&:OQ5+SJVI6UG8W22&4&YU)9EDJ5=8GN/10L%9ANBJM/QZ8;6VM7<^K?4' +MLC#%1?CD8!]XEFYA*U*AB8R:?:'7MDB9#I$U?V(J)ZG>OM5=%ANHEO/7#)`\ +MX:SC>H*Q>E$K?"S.5!E#D`G`C1Z@NL:M&&5E>7KZOJ%I=,O +MHQNGU1`A#<#$C%N7=>185\=LC1'$=N[Y4RL;#?O^:OI$U[-!(;Y&5UD*QEP` +M63BI#?8B/4D;HOTCXC'[JQ\Q/+.)B]`_I?"NR\"& +MJPY;B(=6N8-%TNYEFY--H(G2Z +M&FH"5,4S+"('92]47FKLO(MQ7X=JTPRTVUU>/5O4N"_IAKPW#D_`Z/.&LPOQ +M$'C%0;*.-&K]K<+_`(@N].\M6-[Z37MU)#)*P-:OZ2L].6WQ,:`#<]P#0X;6 +MFJ3W6H26W"-(8V<<6+>J554990`./!^9IO\`Q`,C*N0K=1PWS/1!^9=6O]-G +MM$LV14>.::8R`4I"\&WQ$]CYB+MQ,FS2&](>GJH;V"1!&> +M>_\`HJRJ*<:!@O7H+TO5[\Z9Y_QLP)\=L-RB*H;?KI=COOO_`&I0;'S%38R4 +M)/Z/HQ'HGZRS@R#G\(](J1RY?`"E*FAE&HO=)92M9;W``X47D?M#EM_JU\?D +M>ACL'F&]M-*TMVC6X+:9#>W$TCGF[?ND9>G5O4)K7Z,,;&^OI5U6.[=?4MY) +MA"J(598P`8RQZ;@_#XX)"7,@;%8D<@3N%#ZYK_&R;T9/B9A.G!>1I*%4\N(V +MX;_$(MMZ@_#ACK<5Y-9*MG6HFA:95ZM")%,@H"I8<>J@_$*CO3"$:CK/U;3F +MA9W:2SL)(=N7KS2N1OI1B]FD=9#SV/U5HE +M->5:%>N,CL/,01.9DXJ(!J()+>M(LI:1D4/5UI\3<>/)*)0D<<'C5;VZOM(4 +MNMK#.USZ\9_W9Z+^G$ZDT/"4?$GB#BWZ2N;:37)0#.+>\MXHD8GC&DL%KS9)*O:3\;4,X7C_`*#:R!(RRR"I +M=R0..Y.#A(D>1OY?4FQ0Y[?J4-%@UF"XLS=M=>B8YT>(\67U/K+,IDY\B/W1 +MK7ETV'AAOK<5W+%;?5JF)9PUVBU):+@XIQ4J6`D*,R@[@$>V!)-0GFUG288; +ME%M)[6>:5`02\BO`L:\AXAGH.]#X;(7%_J44&KRVTE7M]3MXE,@+JD#K:>KM +MV4"1F)[;G'I^\I3XL&:9J]WJ>IV+NZV\$]A'&)KK=U9VT;,4D-SJ=]:>K.S`1I$;J5/LAC0"`+DB94^TU+N/3K. +M._;G>)!&MTX->4H0"0U]VK@K""SU&\N];B25OJT#6,-Q]1?:19I>9='\60`5 +M&,MM5NH-.$K4D:34;^W:XF)].&..YN1&9"/V:1K&OS&5F)\O[60D/QY,BS81 +M6=[>SZ\UO/-&L*V5O*+9"?[Z0R^K0L%9N(5>HV%-A7%_+Y;T+Q"S,L=[E?]'/_4/=8'2*5[J=D1F'KG<`D=L$3?\` +M*=Z5_P!'/_4/=9F:7Z_@X^;Z7__1.TC$OF+78F<('`7D>@K(^27U;'_?Q^Y? +M^:\)-+7GYNU8$'@Q`KTK21ZT.#9O,>CVXG>7U!';^J)I0DK1@PJ7D7FJ%25` +M.P/:G7-;J!>66U\ON<[&?0-T=ZMC_OX_)W%W##!+(D8+QQM(%+GL*CZ,I]/E]K9OYJ5O;Z+:%C:K'`7`#F*.- +M*A:TKQ85IR.+^K8_[^/W+_S7EV_[V2)6)HY6M#XXP7]F2H"FKR-"OQ-]M0Q8 +M=/\`)..QW(^]=QM:[U;'_?Q^Y?\`FO-ZMC_OX_8W=J)%B*_&REQ\1IQ +M4A2:].K#$OK/J73P(O%4C20&I))X?:N_>J^K8_[^/W+_S7F]6Q +M_P!_'[E_YKRJGQ.:I\3@L=R:/>WZMC_OX_;U;'_`'\?N7_FO*J?$YJG +MQ.-CN6CWK(ETN`%86$88EF"*B@L>I-&ZXIZMC_OX_;U;'_?Q^Y?^:\JI\3FJ?$X+'K8_[^/W+_S7E5/BK8_P"_C]R_\UY53XG- +M4^)QL=RT>]OU;'_?Q^Y?^:\WJV/^_C]R_P#->54^)S5/B<;'K8_[^/W+_P`UY53XG-4^)QL=RT>]OU;'_?Q^Y?\`FO-ZMC_OX_54^)S5/B<;' +M]OU;'_?Q^Y?^:\WJV/\`OX_54^)S5/B<;'54^)S5 +M/B<;'K8_[^/W+_S7E5/B]OU;'_?Q^ +MY?\`FO-ZMC_OX_54^)S5/B<;CW+1[V_5L?]_'[E_P":\WJV/^_C]R_\ +MUY53XG-4^)QL=RT>]OU;'_?Q^Y?^:\WJV/\`OX_54^)S5/B<;'E.:$M\)H>HQ2I\3FJ?$X;'K8_[^/W+_P`UY53XG-4^)P7'N6CWM^K8_P"_C]R_\UXG +M$-+@01P.(D&X1%11O[!L?4^)S5/B<-CN6CWM^K8_[^/W+_S7F]6Q_P!_'[E_ +MYKRJGQ.:I\3@L=RT>]OU;'_?Q^Y?^:\WJV/^_C]R_P#->54^)S5/B<;'2NZ+3G%0)\W_]*2Z6RIYPU=F("K0DGH`'?`=Q86\UI> +MZ='J)CLKTW+-'Z7)PUUR9_C/50[EP*`]JTVPSG\N^;K?6;^^L--61+ER%=YH +MMT#$@@>JI%:]\4&G>?>0KI406HY?O8NE=_\`=WAF)EP9)3,HD`&N?]CE0RP$ +M0"D3Z+IK&=OK@)E)9>4;;%IC<\I"C*796-$-1Q'CE+I%A:RR7JWC33"W,87@ +M5)86ZVU`$HBH0G+@$^UW[8>_H[S]_P!6J+_D;%_U6S?H[S]_U:HO^1L7_5;( +M?ELW\X?/]C+Q +MVL0(_3F0\'!9&1N''G&^P/+HL0%*X.TX1+/*L#%XTAB7F12IYS,?^)8[]'>? +MO^K5%_R-B_ZK9OT=Y^_ZM47_`"-B_P"JV)TF4BKC\_V+X\$?FP!^CO/W_5JB +M_P"1L7_5;-^CO/W_`%:HO^1L7_5;!^2R=\?M_4G\Q#S1^;`'Z.\_?]6J+_D; +M%_U6S?H[S]_U:HO^1L7_`%6Q_)9.^/V_J7\Q#S1^;`'Z.\_?]6J+_D;%_P!5 +MLWZ.\_?]6J+_`)&Q?]5L?R63OC]OZE_,0\T?FP!^CO/W_5JB_P"1L7_5;-^C +MO/W_`%:HO^1L7_5;'\ED[X_;^I?S$/-'YL`?H[S]_P!6J+_D;%_U6S?H[S]_ +MU:HO^1L7_5;'\ED[X_;^I?S$/-'YL`?H[S]_U:HO^1L7_5;-^CO/W_5JB_Y& +MQ?\`5;'\ED[X_;^I?S$/-'YL`?H[S]_U:HO^1L7_`%6S?H[S]_U:HO\`D;%_ +MU6Q_)9.^/V_J7\Q#S1^;`'Z.\_?]6J+_`)&Q?]5LWZ.\_?\`5JB_Y&Q?]5L? +MR63OC]OZE_,0\T?FP!^CO/W_`%:HO^1L7_5;-^CO/W_5JB_Y&Q?]5L?R63OC +M]OZE_,0\T?FP!^CO/W_5JB_Y&Q?]5LWZ.\_?]6J+_D;%_P!5L?R63OC]OZE_ +M,0\T?FP!^CO/W_5JB_Y&Q?\`5;-^CO/W_5JB_P"1L7_5;'\ED[X_;^I?S$/- +M'YL`?H[S]_U:HO\`D;%_U6S?H[S]_P!6J+_D;%_U6Q_)9.^/V_J7\Q#S1^;` +M'Z.\_?\`5JB_Y&Q?]5LWZ.\_?]6J+_D;%_U6Q_)9.^/V_J7\Q#S1^;`'Z.\_ +M?]6J+_D;%_U6S?H[S]_U:HO^1L7_`%6Q_)9.^/V_J7\Q#S1^;`'Z.\_?]6J+ +M_D;%_P!5LWZ.\_?]6J+_`)&Q?]5L?R63OC]OZE_,0\T?FP!^CO/W_5JB_P"1 +ML7_5;-^CO/W_`%:HO^1L7_5;'\ED[X_;^I?S$/-'YL`?H[S]_P!6J+_D;%_U +M6S?H[S]_U:HO^1L7_5;'\ED[X_;^I?S$/-'YL`?H[S]_U:HO^1L7_5;-^CO/ +MW_5JB_Y&Q?\`5;'\ED[X_;^I?S$/-'YL`?H[S]_U:HO^1L7_`%6S?H[S]_U: +MHO\`D;%_U6Q_)9.^/V_J7\Q#S1^;`'Z.\_?]6J+_`)&Q?]5LWZ.\_?\`5JB_ +MY&Q?]5L?R63OC]OZE_,0\T?FP!^CO/W_`%:HO^1L7_5;-^CO/W_5JB_Y&Q?] +M5L?R63OC]OZE_,0\T?FP!^CO/W_5JB_Y&Q?]5LWZ.\_?]6J+_D;%_P!5L?R6 +M3OC]OZE_,0\T?FP!^CO/W_5JB_Y&Q?\`5;+&G>?J[Z5"/^>L7_5;'\ED[X_; +M^I?S$/-'833?\I;I7_&*Y_ZA;K!9T[S]7;2HJ?\`&6+_`*K8E!Y>\Y2ZM;ZC +M=:TB"346?C26E2KQ>"1YP:MV.;"!D&8;A0S(V#S,4?N+- +M4RCA#3+LS-LS0^P4UC#.;FQ"W#3#.-(YCI$.M$CJR=$CH-%'S',HQC>-HVTE,-%N@,HYL8-(Q#+2=(!0-+-5.* +M8RC'.-9S&Q,!!B%DYBX&89!E#K2R_/U`4%6`KA2J-8C<,DNM@W<9.PPH7!M* +MEK(X*@B2TT51U+8$QS$DP4#I+K!,_(HRM[6]R-T.XT#2,8T7>%$WCE7%R-`- +M\ZMA>%Y7I>U"WW^,`%VOS$&3O!1AT3BJR<-P[8^D6+( +MK(.'$,4MQRBQ[AR\=[GL/.1L&[V[VJZ_]0PB83+3-D^.%"0]AUT1U-Y8X=KX +MP;,2+F$^K,HC-4.OFW3$+`AD+@4^TZ$_CA#`\^B&U&8>E_VA0R-77FRU'^7G +M]C:/Z'S>QH18RA).`45M&I6P9@U!R"XV+OW@I80,"T]H,%MEZ7N'),+;G<$^ +M;B[MS1%TR*\0(Z6!J62\%Z+^^1\S)&3/F#$K(YB:6H`H5\_`Q+/7X)E""S8- +MC]5]0W!0_D%#SX+0I,TY0E[7P8H$6T@5;I?V8I?#P&%C`8T)HMAF3!VBSWC0 +M(9@_<&R(0A!R12P(E\7(@1"?8B%_SMPC0!;C`0G96UA'M!P;(&J0'A`*@@V1 +M`L%`Q`P20DJ#,`H.'[(NF,GYL$;1W;0@:$H"@4-!@Q&V#3EXX$7CD#-L\=Y% +MQX@<5>/<$H^R0#$#>0+;Y*M=@ZC8E,?#82>A)*.$[Y8RG)4D]5$,-H#G)"2X +M4.@<@ZJW<)+A^0;U9.OEJ"B-:,X`2I@&[R`SUH%)8E?(V4$$8)R0#2:22;N9 +M52&**#=(`.80R,CS(^6%`F.H\"A>AS#C-(#F#NEZ\::&"H +MR&U#2G@;')4XBFE\_*9!EI^#*C--XQ*W?Y4!2+WZG')#=4QC`9(9U.AJ^^KT +MRD?`V@LH9RC1$M+`)@&:F:N:G'%JLZ5\X>AD+3\# +M<&=F4M6U6"A!J#P::O#;5FH0;EYASNFW;6"_M*ZOT#J\-V/&+:=TIIBD- +M=M-Z76,#$W6P27[73_MDT`8[UF4U*V9=8=-K,4 +MKX9TT$]MLFZEUM?8>/=V6IW?FE]6F]ZYNWJR!Q>TW'!EVMO!]^]=N;[>CMJF +MVXPW!TW+M<,9O6V7;F3Y%#'CZ>!;@VQ&Q'3<=GKW#FF>!M0N`/3,-9CA/:5`Z9&8YW +M?`"2^1N7=+`H&[F:(%_#AR6=/<0S!R5%WKNV-/ +M5(FGVAJ[Y4:%P(HFJRT:_$8R-28V^_`H,45L7TB, +MO<6N!R*$SP2T/`H6W2K$6$NLWJ"F?64#`T,ZOA`ZITY`.$-,=J7$*-"&)"MD +M?LVS"`XVT5`\3"^*P&L<,0;N($P.1N_\Z<^B#@#DP.ZDRW`,@\!@ZN!DP,6P +M^XRLDE`&_LF>Z/`0@2^S"RZ:CY"Z#D._##`*E61\*,.^)]#2ZVA,K@?NVN_& +MV45?!^V:VZ-`U:XRVN]4]VWTVN#,0T#;!LY_$4T\MG$F-`#$33!:/\^62Q!D +MVPDG#<_PFD\J;JA&@?"X@H#D#D#$FY`&ZF^L!`!Q#E%9#4ZX!0-B$!2XHN^^2@5'$]N*$],!0""O:0@VPJ`-`I2M8-ZHP +M7X7]'PMR.^_9!$HPX(J(-`AVJS(.2*,J7R[?'_!NZ&P#%1&H)^2P,Y"TRI%> +MD@XB9P,U&Z=U%N-@/\2:H5$$M(7&J`-U`D6D#NT9(DS474"F3P.?)Z-,?N74"*U25E+,-`\>F;"HZ.VT2`!J++*S&PE$ +M^B@L-Q)$F^PJP0,,)]+K`;'.!2XJ7+!R74UB0@BV8H#D7HI5!6[/,6>8#*#B +M#J_F>B75*@C+$:4Z4U,W,FQ%"BBV-T3XKT#P:/-&8\.<1"4NES,E"\2Z-,N> +M8Q,P-`#<70@.-!-@#.OF!:N>GX#%'\B,L^!A+_%*.,]@(<7/&(4Z#:.HDF"2#:2H"(#>`4 +M"B`4("`*96YD'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(* +M/CX*/CX*96YD;V)J"C$S,CD@,"!O8FH*/#P*+T0@6S$S,C@@,"!2("]865H@ +M,C4Y(#0R,B!N=6QL70H^/@IE;F1O8FH*,3,S,"`P(&]B:@H\/`HO1"!;,3,R +M."`P(%(@+UA96B`R-3D@-#(R(&YU;&Q="CX^"F5N9&]B:@HQ,S,Q(#`@;V)J +M"CP\"B]$(%LQ,S(X(#`@4B`O6%E:(#(V-R`V.#0@;G5L;%T*/CX*96YD;V)J +M"C$S,S(@,"!O8FH*/#P*+T0@6S$S,C@@,"!2("]865H@,C8W(#8X-"!N=6QL +M70H^/@IE;F1O8FH*,3,S,R`P(&]B:@H\/`HO1"!;,3,R."`P(%(@+UA96B`V +M-2`X.#(@;G5L;%T*/CX*96YD;V)J"C$S,S0@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#4Q +M(#0S,2`T.3,@-#0R70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$S,S4@ +M,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP +M92`O3&EN:PHO4F5C="!;-S(@,3@Q(#$Q-"`Q.3)="B]";W)D97(@6S`@,"`P +M70H^/@IE;F1O8FH*,3,Q-2`P(&]B:@H\/`HO4"`Q,S`U(#`@4@HO4B!;-#4@ +M-#4@-30Y(#'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@I.4E9:7F)F:FYR=GI +M^2HZ2EIJ>HJ:JKK*VNKZ$0`"`@$"`P4%!`4&!`@#`VT!``(1`P0A$C%!!5$3 +M82(&<8&1,J&Q\!3!T>$C0A528G+Q,R0T0X(6DE,EHF.RP@=STC7B1(,75),( +M"0H8&28V11HG9'15-_*CL\,H*=/C\X24I+3$U.3T976%E:6UQ=7E]4969G:& +MEJ:VQM;F]D=79W>'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@Y25EI>8F9J;G)V>GY +M*CI*6FIZBIJJNLK:ZOK_W0`$`!S_V@`,`P$``A$#$0`_`)D3<2W$ZK/Z21<0 +M`%4]5Y$DMEI'<2(LD=[S1P&5U1""#T((&-"L\M\B"K-P`'(I^P/VU!(^8&1Y +MM.\PHFDZ>LS)+#8S03W48 +M9II&AO\`C&TW/:>5"\?UB*94XHM(O3@1XO@^WRY-0C`%KI/FF"Z@M9[R20F( +M,;H3SO$CJ;>I(9:.Q*2D(VU#2N2$01]0^2#(_P`TLK^KW?\`RUM_P"?TS?5[ +MO_EK;_@$_IA6=)U9K?4:7CI=3RR&SD$\C*D#NK^GQ*\8VHI4,%8K7;PQATK6 +M@++A=,WU=F]42W4A#*9>?Q>E%$9"$V7E2G0\JDX*'\X?);\BG'U>[_Y:V_X! +M/Z97U>[_`.6MO^`3^F`]-L=2MKZYENIO5MY2YB#322,"TA8`*RI&JA>@`)'2 +MIPVP'8]#\$A#?5[O_EK;_@$_IF^KW?\`RUM_P"?TP3FP6FD+]7N_^6MO^`3^ +MF7]7N_\`EK;_`(!/Z8)S8VM(;ZO=_P#+6W_`)_3*^KW?_+6W_`)_3!61^XMM +M6F\Q.T$DD5FD=HXD:23TZI).;B-(@#&Q="BGE2G45(PC>^0I!V3?ZO=_\M;? +M\`G],WU>[_Y:V_X!/Z81C2-?6VEA%W^\:6UDCD:ZF+\(IO4N$9O3X@.GP@*G +M?XJT&':17$,D,$7%K)8V$DDDDC3\ZCA0MRY"G*I+5Z82*Z@J/<7?5[O_`):V +M_P"`3^F7]7N_^6MO^`3^F16;0/-TD<*+J(0Q6L,+R"ZN`7FBAN(WF($?[;R1 +ML=_V[_Y +M:V_X!/Z8PB59EMC?4F=6D2/@G(HA568"G0%U^_"6WTGS&AD-Q>*Z.\$C0+)V.#AIEU];L92Y"V^GW%I)(TK22"65K8J?4(5G_N +M6JU`<-#O!6SW%,/J]W_RUM_P"?TQ&1FBD]*74`CA&F*LL8_=H0&?<=!R%3D> +MET[S+#)8K-*TZEX(IA#=7"J1':7$4DDKI&&0/,T;;`[[GQPT?2]0:6!Y95GE +M33)K.:=O@YSR&$\RJ@\0Q0DTZ8\(%;A;/<41];@](3_I>+T6;TUEK#Q+D,,EU!<.%GE#4BM +MA;.RS^GSY$J.(I\('7L#"_T>ZOWF4E+=;C2YK!GC)(CEEIN@HIXKVQ(C?-;/ +M]!@E0 +M`HWWJ+-V*4?J]W_RUM_P"?TROJ]W_P`M;?\``)_3!6;(VRI#?5[O_EK;_@$_ +MIF^KW?\`RUM_P"?TP3FQM:0WU>[_`.6MO^`3^F5]7N_^6MO^`3^F"LV-K2&^ +MKW?_`"UM_P``G],WU>[_`.6MO^`3^F"[_Y:V_X!/Z8*S8VM(;ZO=_\M;?\ +M`G],WU>[_P"6MO\`@$_I@G-C:TAOJ]W_`,M;?\`G],KZO=_\M;?\`G],%9L; +M6D-]7N_^6MO^`3^F;ZO=_P#+6W_`)_3!.;&UI#?5[O\`Y:V_X!/Z97U>[_Y: +MV_X!/Z8*S8VM(;ZO=_\`+6W_``"?TS?5[O\`Y:V_X!/Z8)S8VM(;ZO=_\M;? +M\`G],KZO=_\`+6W_``"?TP5FQM:0OU>[_P"6MO\`@$_IC=0CEAAMH_K)4R.O +MJ3[)12&)Z=``,&9KK:XL".S#_DW)DH[G?O1+8);`\#6]W)]9"*2/A'<+9M$CJDUPCJ +M(F=6#$*1MQ8@4Y-V4C41%@;#WGW.Q)WZ_#WIQ9MK'Z5G6Z5S8GU#$Y])56C+ +MP4!>4AJM34GYCIC]5LYKBZTN>!6)MKKG+1RH$1BD5B5J`WQ<>U<,\C?F#7-7 +MTRZ]&PLA7"1R6XS-P_=[?[J`^G(QLG8`;>Y)H#>^:";2-=+$CELTAN +MSS'^DJU[!.H'Q?\`+.DB[\:!N/097Z'U[_*W/^A_&/\`1O\`2GEJ?CV_=%.G +M+9>'0X8#7+^6^GM?JS16XAG:.=HY%*R1-"@4M1@>?J.5^$;+W&(?I_5([.RE +M2V,A-C'.4R>MRCC>'8+1OC)Z=NF67/N#&H]Y0WZ'UZO[6S$WGQC_`$G_ +M`$N.44^/?]TKC?CLW#H,M=(UX,">6[(;0\Q_HRB\FF8'XO\`?#QKMRV7CT.# +M'NO,"RZJ=0C$-A'P^K26C-)-0A:K"IA6O+HQ)^$_?B9FOO3L(_K2Y)!8'XXRHV!K2F%QN?,'UF +MZ`]C/=R:>K7O+U?4G"%Q1S")G$# +M.-OB,04G(FX^JP>02*.VXZL;CT?7E1`X8A5@%ZA=3]9=)2TC@(>X)X!WEAD&C +MZ\D<`E#%8X[5;^,LK?698_4]:6G.C59@QY<>0^'MCX-(U]'A,A8N#:F&4R!O +M0CCN&DFB8EJDF$\#0'E45/PY,,V/B'N"\`[RQ_RY8:G9N3?`J/JMO%+5@WJ7 +M*<_6FV9OM5&YH3]&,U'3M6FU5I[8D*7MF@GY"D4<9)G0CE7XA7]D\N0_E&'= +MW?6-@BR7US%:HQXJ\\BQ@GK0%R-\CMSYGU`ZCZ>FV\=[IQ>-4NH@\@<$Q*_& +M2.J?"7/W>V$<4B9`#6:'1O,BB!7E/UM1%2\+A@B+:^D\;;U;][R)^$U)#?LXL+G +MS23348EAM?KLBR/;.[.(!%(4`I"C-M0G19%8,\$C-`J\6*B*55%4%&V'\U9/I37CZ79/J(XWK +M01&Z6E*2E!ZFPZ?%7(DF),MC>R11`&^V[&DTG5PZ,T+FR#J7L>:U+"!D:3^\ +MI]H@?:^U^\I7$QHOF;T0GK'Z]P`^O6'MI.KEV80O]2,A*V/-:@F`()/[RGVZC[7VOWE*XF^B^93$Z+,?KQ5Q]>Y +M@`@V#6ZIUKMX=RF` +M\T'HEK=6QO3,AA@EE5K6W8@E%$:*WV6<"K`]]^O?"C4-)UZ:XO6M',1_:*TIOQR3VY8V\1=_4V^R@`BM]MV(SZ1K +M+_6#'$PM7$XMK,.JF-WAMTBDVDHM'CEH0WPEN77-/H_F)_7"2'ZRWK\KL.%$ +MB/#PCC6C57XZ4^$<:$U^+#7S%+J47I?4C*L7H7#%H`2WUA1']7'PJ]>KD`BC +M,`#MA5/=>:1ZYC607@]?G&B\HUC$-8FB!!4MSIQW)8E@10"DHF1`/I^+$@`G +MFZXT?6G%P8HV%O(+D6EL'53#))%:I#)0/1:213,*,>/*N7<:/YA1+`@T%#ZMMX_CO +M1MO]2?:+;75M'="X7TXY)R]M":?!'Z<:D44L%!D5V"@[5PCNM(UZ26X,)968 +MW1DE$@7UHI)E>&%2&J"(O@!('&AH?BQ.XN?,*K<>AZWH*MR=.90S,TRQVY@5 +MF9.3+ZAE"\P.0&^/GN?,H>?T1+ZM;KUU5>2I$LRB!H05*\_1W6A/(EJ@\12( +M!!NX[I)%51V4[C1]>>.<0AE22.Z6PC#*OU>601"&6G.BT968<2W$?#WQ6?2- +M=>68Q\@2]RTSB0#UXI+I)HHE/*M1`"@J!Q^G$KBZ\QB.?T!-Z:QW1TP@,2\R +MB+T%D)7DR\RZKSIR77_+.KH*TI6F,ENO,823TQ-P5;@Z:0&)>577T5 +ME)2K+U5>=.258U(!Q\ESYC$C\!-]N87=%)X1"\A2-H05IR^JF0CC6O4[X^K; +M>/-=OZ2?:);W5K9O'=_"3-*\49I\$3.2B[%@!3<*#\(V[80-I&NEB1RV:0W9 +MYC_25:]@F4#XO^6=)%WXT#<>@QK77F3BW$2T'J_H^@8\V$Y5!*2E67A0#G2J +M58_$*Y(]:>[CL"UER]3U8!(4%6$)F03E=CN(N60W$NGJ++8CKL&._H?7O\K< +M_P"A_&/]&_TIY:GX]OW3)TY;+PZ'-^A]>W^ULQ-Y\8_TG_2XY=OCW_=*_7CL +MP3H,WUGS'V$VQ_T#X6^/_2G7]]\.X]'A]NGPDM]H5&^L^8_";=C]?^$_!_I< +M:CT?AV'H%_L5^$*WVC4S]7?'FQV_I-=N6R\>AQJZ/KP4`\J+Z?UP'08Y;GS'R%1-LR? +M4?A/QJ;R9'];X=_]&$7VJ;%F^UTI;KS)Q'(2T/I_I"H8<&-P%81$+55]/D#P +MK1`&^T:X^K^CS7;^DR/1H+FVT]8KNHD]2=E4GD4B>9WAC)W^Q&RK]&1N/1]> +M5$#ABJK;B^0LI^LNDA:1P.=#_,>7'D/@Z#'QW/F,R+R$VSQ"SJI'.,WLR.9@ +M%I7ZH(R>5*5)&^,BNO,91/4$W%EMSJ)(8%)#(1*L1"U5:?"W"O%*,*,2M+3G1JLRL>17D/A[8^&Y\QF2+U1-7G;BV!4@/";N +M1)FF`6G+ZL%)Y4IV&^,@NO,9C@]83<&CM3J9(8%)F]3UUC(7DJ\@JMPKQ2C" +MA).2]6^\4;;?4O@TC7T>$R%BX-J893(&]"..X:2:)B6J283P-`>514_#C+?1 +M]<1;?UE8Q1I;+?0EE;UY8TG6:6A>C5=XV/(CD!3'P7/F4O#ZHE]6MJ(%9>*O +M$UPRW#3`+QY^ANU2.)XT`J:LM[KS"5M_7];T62V.HL0RLLS)/ZZHRIR5?4$8 +M;A7BNXQ]6_T_CN7;;ZF2Z-!=6VEVL%Z2UPB`/5N9'@I?]HJ-J]\'8!T9[R32 +M[5]0Y?6B@]3F`KG^4NH``8K0L*#?L,'91+F??T;1R#LUU_?V'^L/^3SZ=8ZQ?6Q436Z+(A85&R#J*C$+SS,8((YTMI"J7#PW3(K2H!&ZQ'A +M(B\?B:1:5IL&[C#B%5:YO%8`@E*@[C[`P0(XP@C"*$'10!3QZ9IKB*L7_8[. +MCT-+L(-9=35A1$_?-(KU7_>8)?0609OBW_=RLQYT^)#^STH +M^9=3'/\`=K^X-(_A'^D_Z6]KQ'Q=>*@?!7XV!^SL9=Z:?$>(J_V]A\6U-_'; +M-Z$_SF(_XEU.J_NU_?L1)\(_T:EY':4/Q= +M>+M]NGQHQ^SL+7S+J9)^!?W+(L?PC_20][-9DK\6WP1*?@K\3@_9V,M]./XO +M@'Q_;V'Q;4^+QVS>FGP_"/@^QL/AVIMX;8\*-`%VN5DOIK(R+5J@> +MG$KCC7=O#)9Z.V;@E5/$53[!H-NVWACQQ_FA>$_SF(1 +M>9=4D6$&-?\`25MVE8**VS32M$T>[4J:>FOJ4^,$FH^$/A\R:E*Z$_SF(6_F75)EM@R*/K<=K+*ZJM;9K@RFOJ4^.I-108 +M^V\R:E.\)>-!\5I&$5:"=;FX:W>=*MR"\%]1>-0`K5)VI+/2C*LI1>+[N*"C +M$]:^.640LK%1R6H4TW`/6F/''^:%X9?SDMUJZDMH[18U!%Q<"%Y"%/!2CO5> +M=%Y,R!%Y;5;Z,(K7S+J4@@;T$'^\JBWC6@G%PS*\T=6+!2!S2@(`5JDU!$O9 +M5=2CJ&4[%2*@YBB%@Y4A[5QXX_S0O#+^*&6":=D`+E.L:L*M7@U# +M\6^)Q^:M6>&.Z-J/5(C'U``\FYV"WQ=37G_>$H/A(HK5WZ2_THN)3@O`FI6@ +MH36M:?/'<5Y<^(YTIRIO3PKCQQ_F!>$_SF))YAU!I8[8R1^D[)74.*\1RMVN +M"E.?#]GG]KEZ>U.7Q8D/-6K_`%<7?U0>MQ'^X^AY;Z?]?Y5KSKZOP?9I3WR8 +M>E%QX<%X$\BM!2M>5:?/?'<5Y<^(YTX\J;TZTKCQQ_FA>&7\YB3>8=0$K6PD +MC])7--0XKQ-+<7'"G/AWY_:KZ>U.7Q8>M>W+:"=1X""Z-H;CTV!(23TO4XL# +M0GBV#O2BX\."\*\N-!2M>5:?/?'D`@@BH.Q!P&0-5&J2`=]V*OYIG:R@:.,) +M*6"W$W)2@7ZJ;TF-S\(8C:AJ`?$;Y)H)5G@BG4,%E17`848!A7XAV.7Z$/#T +M_37A7EPXBE:UK3'X)$'D*4`]3;LCT?F&2+4-1L[F,2+!/(EN8R`P6.UBNN+J +M3_EL.?2M!AK>Z3INI,C7ULEPT8(0N*T!ZTQ:.UMH4$<4**@01@!1]@`*%^5! +MB#$#<7:F_.[4S(W#J5VIBUWYFNX);Y1$%,1>.!"*A/3$!DFG6H;BHFY"A`H*&FQP[O;VR +MT_ZM!+$SM,S+;111%_BC1I/A"B@/%33`6H:];6D&J7%M;--J2"E,D*->A!L7ZD7H][/>17'KBOH3O`DFPYJH4U/`E>2EBC<=J@_ +M+#'"9_,>E6H,;"2/TEF:9!&0(4MO3]5GIL`JRJVW;#.\NH;&TGO;@D0V\;2R +ME06(5`6:@&YV&0(-\JODR!%<[I6S86R:W:QF!6BN/4N?4]",0OR<1@,QI3;9 +MMJX%A\QHT=X)8&%Q;&[,<2])4M)/38H[`"NZU^??'AEW+Q#O3S`NI7R:;8SW +MTB-(D"\BB"I.]/X[YM-N9;RPM[N=/3DF02-&.W+<=V[8$EU[3TBOI)%E,%@) +M?K +M-3532BBE!RY.M10$%+_$NI_#^[7]^Q$GPC_1J7D=I0_%UXNWVZ?&C'[.P,I= +M;M;2]AMY;5H;41/,LK(5,9$JP5*4^%3ZG7K[=<%V6JZ=J%U=6=N"98BPN*I0 +M'@[0-R/^M&1\74;C;)[`7P;,>OU)$OF74R3\"_N6C6/X1_I(>]FLB5^+;X(E +M/P5^)P?L[&E\RZHPCK&O^D>GZA"BML7N!;E-VI4@E1ZE/C4G[/PB7>FGPGB/ +M@^QL/AVIMX;85_IO2Z78*D>DXCF4H*N[/]75"OVJN]%7D!7J-L1('E!2".[4J:>FOJ4^,$FHHH/$UK3I9;:**.22:193$B1$E/1E6VF#&E%X. +MW%M\,_3CHZ\%I)]L4%&J*?%X[8F0'.%*`3RDQ.'S)J4KIR1/A>WC50NUPLUW +M):-,M6Y`>F@D7C7W-,9;^9=4F6V#(H^MQVLLKJJUMFN/4YP_$W&M4$:^I3XZ +MDU%!DBN=1L[6\M[253Z\E!">(H.1XT4DBO3<+6@W.V`[C7+(V&HS6<:S/;02 +M71BD!1)E3FA8-Q:H+1$=/P(.-@_P4*HO.FY +MWKTR61<94BF*#EQ!4TW7D!4`XA?W-II]K)/W7^M +M%_Q%LV:'^]NO]:+_`(BV;#U_S?T(_P"*?__2F<)*W-XP4L04(44J?@&PJ0,0 +MAUW3WTVUU.>46T-W")T64@,$*ASRXU^R#N>@Q>+>XO1R*;I\8I4?`-_B!&WO +M@2/1;&""SACGD0V43VL$H9>?HOPYPGX:&OIIO3EMUS3;=?+[G9[]/--L+-1U +MRTTV;TIE9BL?KRLM*)'RXBMHM!-Q!`3U"-S3N.A;!$"]P3[E-UM]JP^:=/!IQ?XRRV_V?WA2 +M>.S('Q?#^\F3[5-C7-_BK3]_A?\`=FEQ]G]W^]:WK]KXOB1C\-?A!.!6B\L< +MI.4C?`7,/VZ(QNHW?ZMMO_I2ITKOQ'2@S>EY8^"LC5D)^L_;^,_62?\`2OA^ +M$?6">M.Z_9J,GPQ_FRYL;EWA%?XJT_\`E?XR1;_9_>4F2V_F^'XI%/Q4^$@Y +MAYIT\FG%_@*KYAANH`S13JDS-R(]<&1KQ#*#N?WDC/VZD=" +M1@_=U='FGU]X4QYJTX@'B_[SB;>O$>H&D$/*O+X:%@QY4^$@^V.7S1I[,%"R +M#BRI/7B/39[B2S"GXOB_>PN#QKL*XC:6'E^[D:*U9FDC`>W-6'IHDQ>MN6%" +MHE7W'13\-!ES6/E^SN4MY69)"8GF6KE7+7#S0M<,`1\5P[D5(J2>V&HOFO3G"D*]91&]L#Q'J+*W%6KR^"@^(\J?"0?;')YHT^1U55D^U'',3Q' +MIO+,UHJL.53^]0@\:TQ5?+FF(`%5P8^`MVY;PK$YD18J[`!CT-:CX350!EIY +M>TR-D*(P"F-G7D2)&BD:XC>2OVF$KEZ]SUK@_=^:?7Y(>/S7I\JQE5>LZQ26 +MP/$VD,\=K+,B3R_8C)H36M/OH:>. +M+,RJ*L0!XG;`$^DV%QJ$>I./]*"HH/PGDL3-)']H$CBSD_"1UWR`KJR-]%>W +MO[*[DDBMITE>(`NJFM`Q90?D2C"OM@.ZU^QM+MK6;D!&R1RS;<5>1>:BE>1V +M*U(&W(8(T^QM[!#!;2,T2`)'"S`B)%+%46@!H*_M5.`;R+06U(BZ;]\SQM-& +M>7HM*$;T3+MPY<`:`G?;P7)`1L[$BD&Z'(%%:9K%OJA98D:-UCBGXOQKZ?,6ZAOJX'J` +M$I0MQ/?/(\BNV-;4U74QIC +M1,K%%=9F(5'+<_@CK]IEX5(&;5Q:/9/%?"0PR%05B5GF86M +MK?R6NI+,TT2\;BU4,/2Y,A195VKNCGO3VK@%5N._]B=[V\D=FS9LBEV;-FQ5 +MV!7U&QCN/JC3H)]_W5:M4*9"-N_$S3K:K=IZL$Y_CA_:6T5G:06<%?1MXTBCJ:GBBA5J?D,E(1'*[OD41OK7)TUI;W$L,T +MJ0O(7=IG*DJ +M!6XD]9ZE55FHWV>1-!TQ#58]%:[3Z^Y65DC655Y<6B$H](3\00$]4[5IW'0L +M,.J>%3\'Q_%\--]^N#BMJ"_7'*W#"W] +M5!RX,%F8VOK<00!ZI/&I%>G3#G#+D.?Q0.O)#3Z?9W,JS3Q!W0H0230^FWJ1 +M\@#1N#_$M>AP#J$&D:?;R"2V'&_;ZNZ*>//F7D92Q*A4W=F[=?'#?`.K+9?5 +MEDOF9%BEC:&1`2ZS%N$?``-4DMQI0UK0[8Q)L#=2-NBIIMQ;W5C#-:AEA(*J +MK[LI0E&5JD[J5IUQ6>WAN8_3F7DH(84)4AAN&5E((/RQ#2Q9#3X!IQK:T/ID +M\JG<\N7/XN7*O*N]>N#,!YFN](Y(--)TU&A=+9`UN`(C3IQ)9:_S$%B03T)) +M[X%T.:TD%S':P/;<)7,D4KDOR9WK(49F*\R"U?VL&O?VL=[%I[.15.(^_`>F'3WN[J2"66:[X1)*TX96]%6D]'CR5.2F6*(S@,Q]+HW*O<'!UQ!<7*:G;VLWH3R*JQ3 +M#]EC&*';`LFE7K16:IQ#0WBW4BRW$LU$4%>*/(A;OTV&:<&JWK^QV1'E?]J* +MM-(CM+^6]#)(9&E=6:,>L/6*,R^K7=1P%!3I3PQ/4]"AU.8RO(4$D7U>=0`> +M48;G\)/V6W9:^!/>A`8Z3K"SZC,EZS_64F6W#RN(TY\?3'I(@*%`".2O7O2N +M`OT!YBX2#Z^>0CN%MR;J?9Y9(Y(6?BBAO357'3OA'.^,*>5<**E\L64:^K+< +MF..W+O;NP51&7N8KTF0DT?\`>0(!6GPBG7?*C\KV,R&2&Y]2.YWN70*5D'K/ +M<4C()X;R,G?X3X[X:ZK8R:A9?5XV"2++!.M:\28)4GX-3LW"F;2;&33[5H97 +M#O)--.U*D`S2-)Q!-":)(0Y%"0BA*T^C%\*]1L+RZNX98IB+=4XO"LTD!#?P +MJ1Q;^)R(WVN@R/>HZ1I5C97+O;7(G:U0VHC4K6)682E).))+4"C>GP@>Y*E] +MH4-]>&Z>0J)!;K,@`/(6LK3Q<6_9^)R&\1B,^E:E(=8,$ZVS7\L,D$L;L'"Q +MI'&Z,>'P3,]Q(7;]^LG&1EB`D7TEX;J#[ +MG>LNM\7XYL>E<+()KB"V4/<2I$C,J*TC!06<\54%J;L30#&1WMG,$,-Q%()6 +M9(RCJW)HZ\U6AW*\34=LB]QY8U>[M?J=U';?'6OE;4HOJ,L]U%).8[2[AN)%%62*1'('PFI"D_P`P^\8J]S;QS+`\R+,^Z1,P#,/9 +M2:GI@+3;":TN]3FE6,)=W`FM_3))5!!#;<6!1:?W%=J_A@6^T.>ZU)KM)56* +M5[.1ZUYJ;.;U^*BE"'I3VJW6N"HWSH4FS7)7U[3Y]2MK>*W6)GAN89SZVZ\8 +MFY':AK\MOG@$>7;*RGL+F6[H;98;>+UB0"Z.[((>,B*I-&J*#MDCPCU; +M2+^^OH9XIE-O'):R"%Y'0(UO/ZTC!4#*YD6@^+[/';KC&1^FZ")`)?0ECGX@0-*B@2GTF=N,\@9N;@R&O3?YXE=Z!9WM])++*>,K1SSVXIR+1 +MKZ:D-7DJGBM?=1[U0.E:R;.YMTF$;R7L-U`XN9B5A62-Y82Y3E\2HP[CXL$# +M1WMM5_2,!:2'ZLEN4>>8R#TVD:HY%@]1)3XFV.^&]R>+73V?6;74TX!8;: +MX@D'[;&9[=T/3H!"?OP'>1LWYI'(4*8KIWEQI-/TQ+:XL[F>U>W%VJ%9(%6" +MWEMN05?MNQDJ2>-0!X9)+;1S:W.GS)<%X["S>Q59%Y2.',1,C21(RH/-E:0*1S)'P@4%*]SADP)5@IXL00&ZT/CAG +M,D\_P41B`.2!U%K>Y@FM/K-NG'BERDX610)1Q1)$+I3D2.-3O@JU@%K:P6P= +MI1#&L8DD-7;@H7DY[DTWR,IY>UE+>['KHUU.+0+WY\NI6%L\42PP1W$P"2J)%E/!>"D,)!]U:5Q(%4);*";Y)HCJZJ +MZ,&1@"K`U!!Z$$8@;^Q$WU7#XJ>&^1^+1M2LM' +MT_2K=W6YMQ'$MS%+(T7%8Q#(\JNT9IQ)9$%0&`Q)O*U_#K(U6SGC_=R^HBS/ +M([2!+!K*'U7()Y+(Q)W.S'OB(QW]7?2\4MMNZV1RZGIL"+)->01HS,BN\J*" +MR-Z;J"3U5_A(\=L76:%XA.DBM"R\UE!!4K2O(-TI3OD:A\LW=EI:E:TVZ8" +M([4>O/R2">[HB(9X+A/4MY$E2M.4;!A4=JKA':Z!,FKWVHRF)%EG>:V5%Y%A +M);QVQ$_V:K6,MP\:&N#]*L)K)KR:=E+W3[6\LM,C2[AEBL(!!%*D*LLJB6WFY +M-^\(-?JW$T_F.26PM18V-K9!S(+:*.'U#L6]-0G(_.F$#:)KCV-M;&ZX201W +M:%TNIQR:4?Z.S$*I;TV_FZ=L%KI.II/+<+=DGT6:&)Y9B@NY(Q&Q>C+6)>%5 +M`[LQVVRI/A@>_M[?4[>? +M3FEXO1&8(07C/+G&Y4U_:3:HH:831:+K"6GU>:=;@I?P7<33SNY6&$1,T?,Q +M5J7C8C;O@N;3M5>\U26"<017EK'!;/ZLCM%-&9SZHC9>*\O5793^SD:`Y2Y) +MLGHBM)M;:U2Y2"99W>=FN2E*++Q5?3X@MQXHJBA-?'!(OK(SFU%S$;@`DP\U +MY@+]H\:UVKO@+1-.N-/2\%QQKM@F\4T4Z"6%UDC;HZ$,IH:;$866 +M.A0V5X+M9"PC^L"%"`./UJ59Y>3?M?$HX^`P3I=K=6EN\=U)S9I'>->;2"-& +M-5C$DE&:GO\`+H,O5K:YO-+O;2RE]"ZGADCMY@S)PD92J/RC^(<3OM@Y&@=B +MO2R-PB)+B"%XXY94C>8\849@"[`A0FVNA=7'K32 +M.=XWC81LRL3O)L/A'RS:?IVH6VI75U?1:#L":E8KJ-H;5GX`LC[ +MCDI]-Q)Q==N2MQHPKN,%YL0:-A4+IUDNG64-DKF185XACM[T`[`=`.PP5FS8 +MDWNJ%FLEFO[2^+D&U650E-F]4*.OMPQ*RT]K6[N;R24227(C5U1/33]WRHY7 +MDU7/*C-X`;;8/S8V:KX+0YNS77]_8?ZP_P"3CZLCRBENHF]1 +M8UIPF`MQ%Z8#_P!WRY%^NU,/\BVJ:OKSMJ=IIUJZ<;2[:RN/J\O/UX4C],`G +MX&]0LW#Y=#WD=I*TL"NYY-N"WIO#7?LDI+#(S'(["^@3$]-S[V.7&B:DD^IS +MVKN1-;W:1TX+-++#(A8*55J#QQ0Z9>KYE\) +M]C_H.S[_`.E./W^W3T>']Y3X:G[66>KOCW?H8[=Q14NFZH8?,Y2.;U[\N-/? +ME;@LIMXX5"M6JCFK?:IMO]K%GTZ[-SH7"&7ZM9\VN$_T8!&(`1F4;5K7=.WO +MA?ZOF2O2?=C]>V;8?6XP/0VZ>AZGV*_#Q/VLM9?,G(5$^S)]2V;=?KDP;U]O +M^6;TOMTVY'[6-'OCW?92[=Q[_MM6GTS57L/-"1QS?6M0]46#)/#:@IWPH67S+ +M05$]#P^O[/LWU@!O0H*\?3Y`^G7X:'[6.27S)S7D)_MQ_4ZJU#']=F5S/04K +M]5]*O.G>F^-'OC^!2V.X_C=7_1FK>AK'!94FNKV*5&+6_*2U5X_42-E[F-74 +M"3;<=-\332=<>:"65%5E-KZ3J47T8X+EY)%94(4-)!Q5O3'$FO:F(QR^9>"> +MH)^)6#](5#U$AE/JB"@Y<:;-Z=:)0CXJX^&7S(98O5$]>=O]7JIH8C=R"8ST +M''E]6XUY4WZ;X[[[QYKM_260:%K:1P"0K+0MQ-68/\` +M'3E]D[##"WT:Y?\`0\5["K"T,EQ/,2K.IC;E:V_,_$0IDY5'=/?3B69R5X$EAQ=?C +MD^,]\=/:ZO'YBDO+)2+:>.SCD8F/TB(I+@S\PQ]7D(Y%X7'U=G/ +MZ1]7C]5MS-ZP84NSS]<)R`^'[/V?A\,5U#5=2M+]K>&U,L!-GZV(6VNZV]K +MSN+%EG>"TE3C;3A5DGD>.:-U)J?35`QIN*],5TO4=9NKZWEOHVM[:>TC9K?Z +MO+19^7V:;$Y&))D3L+!]R2``!N:0WZ)U4 +M^7YK0PS_`%N;4/7D4FUY/";SUR6:O`_N>Q[[?9VPS%E=?X@BO#'+]4BLQ%&Q +M]#BLA)+`+]L&E-UV^C"J&37281+]:^HDP_66*R";GZ,IDI1>?'GZ=>(IRV'P +MXR.7S;Z<9=9/TAQC^$@^CQ^HJS\MN%?K?+O7IVR9!WWCU/S8V-MCT^Q5&DZI +M_AX69AG^MOJ$=Q.M;7D\(O%G?$["G/;[& +M)B7S=Z0/&3](\!\-#Z%/J'+PX5^M^]?HQHF]X[V?FMC;8]/L1=MI%\?+;Z?- +M;DWD\[>HTWH,R+-+QDG5HZJ66)B03\5?H&"?T;>QZS+<9/7Y>@"/V>?'G4]*<]OL;8F\O +MF[TG*K)^D>+_``@'T./U!F3CMPK];X]Z]>V-'?>.]GYK8VV.S:Z/KC6L<4L) +M>*-9%6%VB$K2/#$OJR-&P1J2*X#5Y;\NH&:;0?,#+,BS?Z4PEK?2&W2.39N*T>.3[)J.7(;X-T_2M6@U2.>Y;GQED>>ZY#][&T7!(^- +M>6S4-"*#C4?:.`IY-?'U@1?6OJ8$_P!48"0S>H(;=.AK]JNP&`F5W7^M%_Q%LV:'^]N +MO]:+_B+9L/7_`#?T(_XI_]66RS/;#4[A./.)0Z\SQ6JQU'([[841^9Y+2PTV +M2\07,MW9R7LDB2+OZ30AHXE"+S<^N.*^U*]\,-2O6TVUU:^5%D-NJOP'WG%/3C))*BK;,:#?YXX````4`V`&0)%;"F0!ZFV'MYBU +M4-0*O[QI%F'$?Z,$O8+16._^^I7;X^Z$_9RO\1ZKO\*_NC2#X1_I7^E/;<>O +M7@J_8_:8'[.V"6\TLK+_`**/]+9TM^HIZ=W!I]93Q^*OUA7^'I0KVKE?XJ8> +MH/J@_P!"_P!Z/M#D/7DM?W7P_#M$S?%WHG?D+:_H#GWL+_I+;K6=9MI=01@M +M(4E<$!62/_2$BMJ,IK^\A8LQDV5@?V0<1C\Q:H0M>+%#$(QQ'^D%[R6U=:B@ +M/&.-=X]N3!OL[8(_Q4WP#ZJ*7A(M_M?#_I,=I67X?BVF5_A[U3MR-KYI8EQ] +M44"S9$N/M;\[J:QK%\/PT^KL_P`7B%[U#1KZ!S6Q?U%7/F1X;G48KBVD`MO2 +M>$,K1CA),;56=F6G'FAK=RVLO&0<3 +M\*1AOA%5+?%TIF'FMW$5;45O0AMC\1XJTRP?O1Q^,A7#43J:IVY&X_-#,Q`M +M%`M72*XH2:M)>3:>3"0M``T!?XNH(&W7!P_T/M7B_I?8K1ZM*?TG--?*UG:1 +MR2-+"(PZM"[%UB5P_)52BLS#[5:>P8:OK5K+;VUV0T_&R+Q\5!D-W.TUM[AY +M"J#T9IF97MOB-*[<5Y[A@2000,?'K%\]MI5R;B/U+AX8Y[8*O(B24Q&2E>;" +M@^$H`O5MUZ)P^:6G6V3ZHH;48[>XMS1F"+GG)E?I!OXK;/S#.VFBZO(X?K!N3;>G'*0J5 +MG>!6F++6,?#UWK^&'-G.UU:Q7#JJ-(H8JCB117^5UV8>^1V#S-).UM;?5466 +M_6":-J,R*MQ%(9V46C#X?M$CIFA\W^I%'* +MJ54E0*T+"IVXT),#O4:Z\T"0ZFV4Y&M0UO4K74IH8(A+Z4RQ16@'Q2HUMZYD +M!^U7G4"@I16!W(I4/FBXFEMK7ZNJW%VL$L;CFR(L\=S-Q8<0[%?JK+44#5#; +M=,3B\X"2)+XVA6W_`'<,X_;_OB4Z4HI'4X,B\QSRRPV'U6-;BY]*16^,Q*LLB(R5)EK)9)J.S4XT`=4IWW/:AE7/T#EWHO\` +MI%8GF#46DC@,J"W=TY:AQ6@+0-,8Z-:]#WH&NO`.2_P"<>:"F\P:C&\T* +MRH8(C*8[\JI#E((IEC-&X=79MC7B./VM\9-YFUE$FF6W`G7U1]1*U,82S-TL +MC4^,_O**>@HP`W!)/=6U6/2I;"-XU:&ZE>,[@,&6-I$"!J*69EIUR_K]U^ET +ML_00QNM7HU98X^',32$?"%,E8PG4FK#8&D;%7P#DFC_./-([CS#J41N(TD7T +M8!<-%>E5(D:*&WE2,T(0_%,]>)J0E!\6^#-/UK4;G4X[>>,1B266*6U('*)( +MXA(LA/VMVI6HI\2TW!K(^"T`XB@W`IWR-7GFDV3W$IM0\<;SV\8!*N7MT:2K +MMQ*A6*L-JE=CORH$>K80%TIVW,DUU75/T;Z*K&KO/ZG`R2"&,>FAD(:1@0": +M;?V8'_3<\EQ/;6UHDDL')?3:=4D9UB68<$XFJMS"AA^K`%QYGEC>YM6M4DFL +MEGEE9@X1UMXK6>BJ5+(S"\4?%]FA.^5-YL]$/="S#1L9XH`25?G`:#U'XLH5 +MV!K2I44-#RV1`T/3?Q4R'\ZO@G>E:C^E+:I;Z$N/,>JQ)<>F`PMH[J2VD*J3!;E/JJLVG1 +MW%Q.:,H=+98Y*1*02C,DG[7V6''>MZ6QK*W&G +M%F?EMNH\:Y.N7H#&^?J*$E\QZJBR\0"($N7MW*J3=-#(J)%L>-?BX-Z?5B"* +M`$8^3S%JJ.P"K\3S)*"H/U98[V&T60T-?[J1I#RZ\=ML5D\U/$LZ_503IZ3S +M7!HRAE@(`$2E:HS(2?C^RWP;UY![^:61Q_HH(N9)(;?BC]SZI@)53]9*3^B$V-*THI]/JQ##X=L:F42CZH";$.]QLPY+'*8 +M1Z0XU0E5+?'T-$WKR`_3=;-_>K;M`$2Y2ZDB85J%M)H[=A)4`$OZJL*=-U[5 +M((K]4[JD)51^]]/UR%7_`$4M +M<"`IN:5XDJ/4_:4M]G;!(\TL2_\`HH_T-D2X^UOSNIK&L7P_#3ZNS_%XA>]1 +M0\U,PB'U0#Z\$:W^T>*O*L!]4]L +M%N+@#GZD\88"@=(IGBCE`_XL1`WTX/R,)YJD9F'U4!;9XX;D`D\FDO)M/K$0 +MM``T!?XNH(&W7&Q^;)9!;CZL`U\D,MJ?B/!9G*D2*!5RJT8>V/QL$2X#OQD4"KLB)^Q]ICQVI4CPY=W)>./>RG-D8A\V/,5?Z +MKQCC>WAN!R+$R7$YM*QMQ"\4:A^+=A78<=Z@\US3_58OJP62_CMYH&^-@B7" +M33<76@9V18#]G[1--L?#EWVAG7D6/J7+^E6- +MN(4JC$4K0L*F@X[R;!*)CS2"#R=FNO[^P_UA_P`FY,V:Z_O[#_6'_)N3##G\ +M0LN2E#_>W7^M%_Q%LV:'^]NO]:+_`(BV;#U_S?T(_P"*?__6DNIS6L%KJLU[ +M!]9MD5#+`*?$H5=MR!E7$F@P+!(\"%9)W5&*4"L6!E<\@/A+JM>Q;CWP1<64 +M&HKJ5E*LL=Q*8M/!H[+TG:.%Z55/W-:5 +MIL!X#-.*V&_P[J=D;WY?'WI_FP/'>V\MS<6B,?6M0C3!E*@"0,5(9@`?LGIB +M@N("$(E0B0TC(8?$?!?'(463'&UG00TM;,$W3.L?PH?59;F*V;EO\%9IT;?Q +MY=:Y7Z9T#]W_`*&O^B&LFR?NOW[1\EW_`'G[R)I-NR\OM4&&0T31Y)'0#DZ$ +ME$$A)A+RK=,8Q6J5F17^@=@!@6ZL_+]G,L-QR5V"OR?O2+A(B6W_`'?[V59/B[-R^U49 +M8UG0:Q?Z&H^JLJR?"G[IFN9+=>._QTF@=]NR\NM,OCY8J_Q-56/U7[>Q^LJ3 +M]4]OK/'IMT_8IEJOEBJ49MROUG[>Y^M.4^M?]'7/KWY?LUP[=TN:-^^*F-:T +M#B]+-1];*-%4(!)68*K.:_N^+N)=]P&Y?:J,%SMTIR&6J^6*'@SU4I]3^W4?Z1\'U3_)]?PVZ`_!3+1?+'*/TRV[ +M1^M_>4+_`%J0Q_6O\KZUS^U^U6NV.W=+FN_?%336M`9&"V:K]<$,D((0"17D +M+1N[5_=\"?5WZ`\A\1(Q\>L:$TL'"R"F`PPL2J`PN]P]K&@6OQ<)E.XV%:CK +ME1CRQQ_=,_)?1^I$<^07UF]#ZI4?9]6O3:FS?!3'1+Y8YP^B6H3"7`]3B7]= +MS!]8K^W]8Y_:WY=>V.W=)._?%2BUG0'C"QV:K]=6":`$(H=).ZGI-OJE+BW#30&&.2YHM4:8E8@!]IN)?<@?#S]VHGIUUY?LP&LFM. +M71<%>HFI5]J;V&XM"PZMH4D<=O'8JC77HRP1G@H*R1SRQLSJ:1\$MY*C]FFW +M7'0Z[Y?:2WN8[41I&L,8F*(IA+I6-."DGX%?B2M0O*@V)H9#0M+MT60VFGQJ"\D:RQVRL6C9;<>FDL@)( +M8@/2IZ]37B"&X&ZXEJ7DA8=5T)XX[6.P5'N/1DA@_=@<9(YFC8NIXIP6WD4B +MOPD<1MCHM>\O,\%XEL$B58T61.Y-<$_H'1H%5_1"6T2JQB+'T3Z< +M1A61U8T8K'M4^Q.X!"3#?ZE`EY)7%J>AND=E'IZK+,T;Q6W[L"CQR%"7!XJ5 +M6)H^-=C\/V=\M/,'ETF._6V"PA547'!05Y6HNU'I_:H()`M0-N7'I7+B'ESC +M&T33?608Q;M^]^L\/1?T@G(/[-._'#MOM+DC?OBM74M$*K8+IRB9Y%9+;]W2IB:C>IRX@\5,/&O7X/ +ML[Y7^(?+FVH?5AZ'"GUC@M?]Y/KE/3^U3T/AK3_)Z8]1Y=XJR-/]:Y*(V_>_ +M6>/U=N(&W+AZ%?U_WF4$\HT"@K]3X_9^+ZK7ZI0?Y/+ZI_POOCMW2Y+OWQ:. +MI:(%-@=.7UED+&V_=TJ(A5O4Y<:\3Z/&M:_!]G?!%EK&BW=_#):VXY7#B&&Y +MXJ"9#;?61\/V@/16G*G;CTIB)'EWB6+3_6N9#-^]^M4^KBHZGT[_P!Y +MOBD4OEBUG6XBD$<4!,L;#E]761;6I9/V>8M?#]FO>N)JCM+DG?O'-&ZQ-IL< +MUE'J5N)EF:98Y&4,J4A=GJO4\D!788E;3:/^EWMK:)4NH^(DD8E29/14J@4[ +MLXA9:U[>.]$-3N-!U'T3?-(9+-W=855UD1A%S:7BHYCA&X8,.AI3XLPG\O0W +MIOGN&9XV,K3L28FG2V"O*"HXM)]6V-.W:H.`#;E+D5O?IS9#D;NM9T*WN+N2 +MXM`W]]#)*%1C*T<=9$X$U^-8RH+;-PH=@*F+Z_ID:L7D8/'S]6+TW]1!&BRN +MS(!6BHZFON.^%US_`(7>6Y:Z;E$WKM)4OZ/,Q#ZPT17;U/3I]G?K3?E@B*Y@ +M_!,CW$?%2FU;0DCDMY+!7>V]:6>(>FP"QQP2R,KL:2CZBL[*)&FYR0WKLS), +MQECB$D,*1P9N(W&XZBA)J; +MAUXO-%2Z4E$VL:#'&\4EDKM:">:=!P8!(UBED=7)_>I(*`MLW'?H,,I/+^FRA_45V>;U!<2\R&E68 +M(LJ2$4JK"-13L!04RW\OZ7(9/4A+(_J$1\F"HTS"25XP".+,RAJC<'I2IJ\4 +M/Z2U+R2B;6=`CB99+)6^I+//.HX,$2/A+*Z,3^]YAEDH/M`5.XIBDNL:$DMP +M7LPQG,T((5"9GCG6UE0J3\/.8C<[-2IZ89/Y>TR4.)$9FE$BW+ECRF6;B94E +MI]I6X+MV`H*#;+?0-,D9R\18.9&5>34C::03R/'0_"S2*&KV/2F^/%#^E\UJ +M7DE$FLZ`L8#6:M]3$\LP`0B-4=7D=&K^]]3^]VZA>1^(`8H^L:$))N5D&-RT +MD2$*A,SK3UV$W\P+[T[?9'PDC%[;2K*T +MG^L0H0X$BQ@L2L:S.)I5C!Z!W`)^0[`#`3&MK2!*^B"U;4=+MKQ%O+<320+' +M,\A"UC223BA'(U:C1EZ#H%KU`J!_3.@_O?\`0U_TMCZ>R?O2+A(N3;_N_P![ +M*LGQ=FY?:J,.[O2K*]F$TZ$MQ5)`&($B(_JHD@'VE#[_`'CH2"C_`(?TS<^F +MVQK#\1_<_O1<_N?Y?WH#?0!]D`8@PH7:D2O:DK&LZ#6*EFH^JLJR?"G[IFN9 +M+=>._P`=)H'?;LO+K3&C6M`*O2S4?6RC15"`2`S`*SFO[OB[B7?H#R'Q5&&P +M\OZ8""(SN09OB/[TK*UT/6_F_>NS_21T)&4/+^F#I&P*\?0/(UAXR>NHA_E' +MJ;T_V/V0!AXH?TOFBI>26KK&A&2*ED%-LR1.2J`PLUS):*H%?CXSPN=NE.0Q +MB:SH#(P6S5?K@ADA!"`2*\A:-W:O[O@3ZN_0'D/B)&&RZ!IBE2L1%"K2#DU) +M625KE6EW^(B5V?YDURE\OZ8@`2-@4X"W;D:PB)S+&L/\H#$[=Q\)JH`QXH?T +MOFM2\DMCUC0GE@*604P&&%B50&%Y+A[6-`M?BX3*=UV%:CKB<6LZ!)$%CLU7 +MZZL$T`(10Z26W4XG#K&@R1I''9*ANQ!- +M`AX*&21998G9P?W?!8G8C]GMN<-T\OZ7&4].(JJ>F6CY,5=H6,L3R`D\F5V+ +M5.Y/6M!2H_+^FQ!/31E>'TUMI.9+0K"'$21DUHJB1A3N#0U&/%#^E\UJ7DEU +MMK.A33VKPV83@+>%7*(IA:0F.*+@#OZ;-Q)79>6VQ-)+A;%H&EPM$8HBBQ>D +M1&&8JS05,4D@)/)U+$\CN3N:T%#+(2(/*_BRB#UKX.S77]_8?ZP_Y-R9LUU_ +M?V'^L/\`DW)AAS^(67)2A_O;K_6B_P"(MFS0_P![=?ZT7_$6S8>O^;^A'_%/ +M_]>67%G'J*:G82LR)$CXI +M"P'&4GJ?BH?;!-Q!-=)J=M;3&WFE54CF'5&,8`;;`%QHFH21Q?5I!`ZF5FC^ +ML3/&#(8^)J1R8`(=AQ(KL1O73@].*O['9$>5_P!J)N-/26\OXFO5CFU2W$:P +MA1ZBI#52Z\F/(?OJ-MW'3"BZ\H7/*+ZM.DH1IY?WQ=0))I(9TY"DQ>-6BKQ+ +M`G;?OAG!H]['K@U.6998E%RHY,_/C<-"Z*$^P!'Z7';KUZX>8\9C5&]OV+P@ +MW8I*[+1_J=_+>B:HD$M8@G$X +M2.%XB5K(D9&_?BW:A$96;)KS21ML+07Z#T3]Y_IR_Z&Q]+=/W)-PD])?Y_WD2Q_%^RO +M'[52;&B:*#'_`*4TS@\>VPQ@\J3J(?])%;0(+?[0YA9EG_ +M`'A_9-%`^'HU6[\<H%!1JMCX]$T9)80M\ +M&-PT,S*60M,\=P]VCH1]GE*YJ%V/04Q./RG<1B`_606LEACMQ5AZBPN7)D/5 +M6*]./1JMO6F.B\JS1./])4K+)!-.:,.+07B1QJR7R-]16""!B4*QI%SCC24#^\YJQC)/4#:C5.*1:'HLVEG8`@J]M<&[XQ+4CBQ(45^R*]:[)D/YY6C_ +M`#5L.B:)%&DL=_&QLE@A@=BA14B66*-)5!',NLKJ3M7M0C%;?0]%@FMHXKT- +MS^KSB,LC/,T+&6.56%*"1EY,%V/$4H*U3M_*MS!]4D^L*TEC';PPJ"RB1;=) +MHN3MN49A/4<:\2*[XZU\JS6K0K]9#QA[::9J%2'MG]3C&M2.#&@%=U%>O+9, +MAOZRH!_FIYJ-B+^%(R_!HI8YT)')2T;!P'7;DOTX%@T86]]:WD;QJMM;M;>D +ML04$.RNS+Q8!=T%!3I7%]6LY[ZT]"WD,;\U:H=FE8/LOJ>M7BIH,-[F`7-M-;,Q +M43(T99>H#`K4??AE+I=CG:`.M;]S&XM)T=%CODU*-I8&C2.Y/IE*)'(JJR"B +MEB)6D)[MO]GX7-!7T]/%T#`51Q;%U+MQM!9JW/[7$PQAB!W6O2H+HO+-W +M%-!>>O&;BW])%B^,1LL44L-2=V!)FK3H%`7WQ)/)KI;+8?6R;<<&:7<2\H[) +M=/HH^S0\`]>VX[UR7$/YYY,:/\U472M(4+J"ZE&9TD55NOW7#X8F4*4^SRHQ +MEK_-\7V?ARO\-Z!0:=]:'H<*_5N:\_\`>3ZE7G]KCZ&]/'?ICT\M7:7"7WK1 +MFXC*@1?'Z1586AK7[5:M6G3C\'^5B`\F.+4:?];/U>@_?;^KR%C^CJ4^S_EU +M^CWQXA_//):/\U5.E:00=0.I1^NTA4W7[KAO$%*7Q?8^'*;RWH +M#<].-T!!P9C;E\?I!3"( +M:U^U6HK3IQ^#_*Q!_)CO;-I_ULBW(3V+:=0C[.W,O7Y#M7'B'\\C;N +M6C_-59-*TAUDOWU*,33.Z27(]()\<:*RJA^$,!&LE?YM_L_#FD\NZ"S36+70 +M6%0[FW#J'C+VQMF8N?BXK%(6`;H6)Z4`N7RU=R3S7OK1BXG]16B^,Q*LD4<- +M0?M$@Q5ITXGA_E8E+Y.>2![,7=("9'24U,G*2U:SHX^S0 +M5H_S5\ND:/(DEX^I1K)<^K'+<#TPE)(X4=41JJK*MNC@FM"*FHVQTOE[0G>> +MT:[$<:"63T`Z!XB\?!W+M4T17+`-TY&M10"IO+%W-+<77KQK/=+/&\9YF-%F +MBMX>0.S,5^K`TVJ"5VZXV;RA)+'):BZI#69XI""S\IHO1I(-E*BI)I]K8;<: +MEXAMZRM'^:G.D6UK!'<36TRSFZE]6:2.@3FL<<`556O$!(E%,,<+]+L)+(WD +MDS!I+R<3LJDE4XPQ6X4,VYVAJ3XG##*Y<^=M@Y.S9LV15V;-FQ5V;-FQ5V;- +MFQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V;-FQ5V:Z_O[#_6'_)N3-B&KS/` +MMI+'3F"H6NXJ4=?XY.'-$N2Z'^]NO]:+_B+9L"0OC'!SY#U>;BM>(I]M/ +M#PP3RO\`_?=K_P`''_S1FEH=[L[4LV*\K_\`WW:_\''_`,T9N5__`+[M?^#C +M_P":,:'>MGN4LV*\K[_?=K_PY2S8KRO +M_P#?=K_PY2S8KRO_P#?=K_PMGN4LV*\K_P#WW:_\''_S1FY7_P#ONU_X./\`YHQH=ZV>Y2S8KRO_`/?= +MK_PY2S8KRO_\`?=K_`,''_P`T9N5__ONU_P"#C_YHQH=ZV>Y2S8KRO_\`?=K_ +M`,''_P`T9N5__ONU_P"#C_YHQH=ZV>Y2S8KRO_\`?=K_`,''_P`T9N5__ONU +M_P"#C_YHQH=ZV>Y2S8KRO_\`?=K_`,''_P`T9N5]_ONU_P"#C_YHQH=_X^:V +M>Y2S8KRO_P#?=K_PY2S8KRO_P#?=K_P +MY2S8KRO_P#?=K_PY2S8KRO_P#?=K_PY2S +M8KROO]]VO_!Q_P#-&;E?_P"^[7_@X_\`FC&AW_CYK9[E+-BO*_\`]]VO_!Q_ +M\T9N5_\`[[M?^#C_`.:,:'>MGN4LV*\K_P#WW:_\''_S1FY7_P#ONU_X./\` +MYHQH=ZV>Y2S8KRO_`/?=K_PY2S8KRO\`_?=K_P`''_S1FY7_ +M`/ONU_X./_FC&AWK9[E+-BO*_P#]]VO_``MG +MN4LV*\K_`/WW:_\`!Q_\T9N5_P#[[M?^#C_YHQH=ZV>Y2Q#5HO6^I1<@G.2- +M0S=`2&ZTP9RO_P#?=K_PCZ;$K6C4KZ2C;Y9*(""2 +MHQ6Z&UN+03*2)D1GHW$-2O'I6O;IFS!E^K-PCMN/KCU:/<_W_+:M4YUY^'?- +MD]F.[__9"F5N9'-T'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@I.4E9:7F)F:FY +MR=GI^2HZ2EIJ>HJ:JKK*VNKZ$0`"`@$"`P4%!`4&!`@#`VT!``(1`P0A$C%! +M!5$382(&<8&1,J&Q\!3!T>$C0A528G+Q,R0T0X(6DE,EHF.RP@=STC7B1(,7 +M5),("0H8&28V11HG9'15-_*CL\,H*=/C\X24I+3$U.3T976%E:6UQ=7E]496 +M9G:&EJ:VQM;F]D=79W>'EZ>WQ]?G]SA(6&AXB)BHN,C8Z/@Y25EI>8F9J;G) +MV>GY*CI*6FIZBIJJNLK:ZOK_W0`$`!S_V@`,`P$``A$#$0`_`)J9]0EN)HXI +MUC2(J`&5G)Y+RZ\URV?45H&O8QR-%K&PJ?`?O4$TI1O57BI%`5Y?`0>2K38GCIQYR` +M=D?=;(/]RG_+6G_(IO\`JKF_W*?\M:?\BF_ZJXOFR/$65!#DZF`2;R,`;DF- +MO^JN5ZFH?`?KT7Q_8_=M\6U?A_>[[8CK-G-?6!MX".8E@E*L:!UAFCF>(G?[ +M:H5^G(\?+6J$/^\7]^6].K#_`$;E=-<\A1:5XL&/IT^-0/L_$)1W%F5;L3L= +MA;)_4U#XO].B^#[?[MOAVK\7[W;;-ZFH?!_IT7Q_8_=M\6U=OWN^V1D^6M3J +MOQK^Y9VD^(?Z2&O8KS?X?Y(V^W7XG8?9W.'EK4ZM^\7]\RM'\0_T:EY)>;?# +MUX2+]BGQHH^SN#0_GCY(L_S63>IJ'Q?Z=%\'V_W;?#M7XOWNVV;U-0^$?7HZ +MO]C]VWQ;5V_>[[9&!Y:U0F^W[W(PGEG5%$=9%_T<1"0!A6Y,=Q +MZYDW6E0*NOJ5^-B#1?B+H_+>IHX)=*2/#(A#;6ZQ7LUZ8UJM2/3E6->-/L[[ +M8T/YX6S_`#62^IJ%';Z]%2.O,^F:+05^+][MFYZC55^NQU?=1Z;5-/#][D7B +M\LZI&L)+K_HRVR2J&6MRT$C2-+NM*_%ZB^I6KD@T%&+X/+>I1/'R=/B>VD5E +M;:!8+N2[:%:KR(]-_37C3O4`8T/YX^2V?YK)/5OPK,;Z+BE0Y],T4CK7][MC +M_P#EXG_(IO^JN16W\M:I"ML6=3]4CM8ID5EK-:N)%]2OQU! +MH*')'H]G-8:;!:3D&2,-4(254,Q81J2!54!XC8=.@P2VY2M(WYBEDT,DL8(4O&DBN +M\8)V!(&V$BZ!K,DLV\MZG`;65 +MBO&U6VCEMU93ZS017,32KR4)7E<(Z\Q^QOFM_*^J0B")IU#+]687*,281`A1 +MHHZJ'(W(2A4$,U0*`$T/YX^2+/\`-9-ZM^%9S?Q<5-&;@:`C:A/JX[GJ/()] +M=CYD5"^FU:#O3U-&`H[5W`!:'\\?);/\UDWJWX +M4O\`7XN*GBS<#0$&E"?5\<=SU'EP^NQ\Z<@OIM6G2M/5R,0>7=1B:WG94].W +M$"/9*RE7,,$\#.I*!.LRA>2UX+4_%MC8O*VK1Q16QN@)5])OKRD\D$=D+,HH +M(Y_W@+#X@*.U=Z5:'\\?);/\UDYFO@AD-_$$4T9RAH"#3<^KXX__`'*?\M:? +M\BF_ZJY'(?+]XL+.R*LB-;FWM05:+G#$\#-+\*J4(DH/A+456(+?#BB:;YAM +M&TVSM9ZVEG#!;RREJEPD3QR2,&(^(OP-.)V'VNV-=T@F_P"B4\::^569K^(* +MAXN2A`!\#^]VZX__`'*?\M:?\BF_ZJY%ET#6#ID5G+0K!)&P160R$BW>&9T9 +MU]/XY7Y4=3\->C4I*+""2VL;6VEX^I#%'&_I\N')5"GCS):E1M7?!+;E*U&_ +M,4YGU%!5[V-14"IC8;G8?[MS/IM6G2M/5POUS3;F^:VD@595 +MA$RO;N0`QE3@K?$KC;[)VKQ9J;[$ED\JZL\#VHNAZK"0_7R3R;G8-8A2*[\KZE +M+-.D,J@/"T27#L>]F+0%J?O/4,@J=^'#]GGOAH?S_L19_FLH5]190ZWL94]& +M$;$=:=?5QW^Y3_EK3_D4W_57([=:%K$EAJ`LIDM9YI6N;6W(#@.ENL4(+(41 +M2)D$E0IZ#WP1J6F:Q?\`UZW]=E2=&6V97"0<&@$?I2QT9ZF7DU1V(W-.)%?T +M@F_Z)3?UK[@)/K\7!C16X&A)\#ZV4)[TR&$:A"91UCX'EX]/6KA#-HEX\%PC +MVPD2\N&DXAHR\$+6\=N_!3PCYR%&W'V>1.^"-3T.YU%KHJ$C`LOJ]D'8FLDA +M)G]5@":,J(E:':ORP[?SEW[DW$M^55Q?Q%7("-P-"3TH?5WR_4U`N8_KT?," +MI7TVJ!XD>KD8N?+>ISFZD4K2[2YCB@9E'HM/';1K*>*E*\H'=N`V+;89RZ7, +M^IBY%JCQ)!/%-S*@7#2K$`=ARY'T^+..W\Y?\`-3+U[[TQ+^D(?3.P +M?@>)WIU];%/]RG_+6G_(IO\`JKD=.B7@^IDPL8X]2DO6C21498FA>(!PC(G+ +MFPV7;C[UK*/I-\14<5HW(;]1\)PGF\MZE([\72BO<2,Q +M;:X6:[CNUB:B\@/3C,;[9&)/+.J.LQ$B_Z2MPL2EEK;--*)5DV6E33U&] +M.GQ@`57X@Z3RUJ;/4.E(WE=R6VN5DOH;T1M1:@>G$R'E7=MML-#^>$6?YK)? +M4U"B'Z]%23[!]-OBVK\/[W?;-ZFH?$/KT7P?;_=M\.U=_P![MMD8;RUJC"3] +MXO\`I'J",%A6V+W!N`^RTJ00Q].GQJ!]GXA;>6M3+"CK^Y:1I/B'^DA[V&]` +M;X=O@B93SK\3G]G%L_S2R;U-0^#_3HOWGV/W;?%M7X?WN^V;U-0^+_3 +MHO@^W^[;X=J_%^]VVR,?X:U,\OWB_OS6/XA_HW^EO=5'P]>+J?@I\:`?9W%_ +MX:U/X?WB_N&)D^(?Z36[CNZGX>O%&^W7XW8?9W+0_GCY+9_FLFYZC\)^NQ_' +M]C]VV^U=OWN^V8/J)Y4O8SPV?]VVVU=_WNV$UOH5Q$VD3.J&6SOKJYD-16." +MXCNPL2&@^RTR`@;;>V(6OER[6*XAN@DBFUEMC4AA/(\AE25AQ'0_%\53R9NP +M!(V_G?8G?^:R#GJ-5'UZ.K_8'IMOWV_>[X[_`'*?\M:?\BF_ZJY'I=`U!VMN +M+**0:?"7Y#]RUG*TTI&Q)YA@!QIN!7;)1@D:Y&TC?F*4/]RG_+6G_(IO^JN- +MU`WR6")]9)EG:-2Z#A0-*$H.1?PZX)S7@#+8!A4&6"H.X_WHPQ))W\OO1+8) +M?8*ABOK5;]G@AXH).:%0LH=FEJJC]H'KFP='(QGN$VX*D#!0H`J3.#L![9LM +ML<%^=L*/%7P?_]"57(()JV!-1/F#ZG:W%I +MQG=7$TL85H6W**L7IFI*@,S&I!J![X+N[MM/@U:^1!*UM'ZRQD\>12+D%K1N +MM*=,*M:U;5XH;.:V*P^LDLJB&DH>GI>D@9T^-VYM2):<^SK3?3Q!)%`?'W.R +M)%'<_#WLIS9LV5LD+JTMI42>K`KL!R*1/,B32`4/V(V9 +MOHR.'6->H:J/ +MM;,HM/@'^D@W;';^ER:%KYCIN9J`CZ_\3?&? +MK2-6'XOB'H\S\%/A(7[0H+6V\Q\EJ9MVC^I58_`HO9W?UOBV_P!%,5>5=@5Z +MY0UC7N_+`_T;_2DBH/@V_=EOM+*#RV:,6HX`?6%:]G@9 +MC\/_`"SI&VW&@;ET&/J[H\UV_I19B&IR^JF,'E6O0;XQ=8UXJI8M1A$ +M;UBJCZLS3\&0'AM\-02W*BCGT./CU?73(@;E]N);92@'UB-KV:%W(X_\LZHY +MI2E:XGB[H\UV_IA*P=%55N7:[5U<@@>C\*\P2PX]ZXE%K.O,D9)[N2&65AQK46X +M#FA''Z>.`RE@LD=JU_(55 +M?JTLGJ>M%7A1:,JJ>0;B/B[Y)=&GNKG3;>:\!$[!JDKP+*&(1RNW$LH#4R.2 +MZWKGT90J]KY=5FMB]:R"V18,9HA.T8)<0^HOJE`I!)X^&^$21>9)98)&1X9B +M+3T0I/I)&K'ZP'')@"5K4,"35:'X30[UJYNK:*V-NWII).$N9A3X(^#MRJP8 +M*"X52Q&U:X0V^L>8':W]16$S?5?3@,87UHY&832L"M5/#XB*CC0`CXL87P[5 +M\5E5]?@U;VWF`"W,_K_5E6V&H(Q9G:58KD3LH5RS+ZK0EN!^(`TR[>U\T`VX +ME:070%OZ;LW)%C5#ZRS%6*EJUY;'D2I!-#2K?6-;<6XE=A!(ML;RX*JOHR/% +M67;ZQYB.$&J_#RIF@UCS&_H%XC]:;T>-F4"B1&M_4DD:HJO[RM?B'&@ +M'[6/JWVBNVWU-P6VNCT#*MQ]17T/K<3,QE,@AG$IVN-BUGS(R1,T1^N,(Z610`,C60F>0[5'[\LM> +M0IQ"_M8D2W^GDNVWU),X+WS(UY;I<6D<4;0Q-,@Y,/5:)FE42*"J\)`%%3T\:[%T6KZNSQ*\S +MBR9HQ+?<%!5FAD=X_P"[H*,J[<=F/"M<336O,QB1VA/UXJA^H\``0;`7#/TK +MMHLGJ1FX1(73TSZ,GJ+Q1U>9!*4` +MX,/YJD`Y([`3K8VJW087`BC$P=@[!^(Y;3'(J._Z1 +MXR?O@U(BIL&1`IKPK];XFG&NQ/0X=Z]>7EJ;86[F&%_5]:=5#$,J5C3=7^T: +M]MR`O?"236O,HCD=83]>"R'ZCP!`46#3HXVJ:W(5*\MZT[9*'%0KAY'FQE5] +M?@OFMM;+3&-;GZ@6E^KQ!F$P8$:?TU8RK]:]6`1AO1CCD5895`6I)C^("IY5-!\ +M)P^K;Z>H1M_267%KYB*7'H>MZ3)=#35!92DS+#Z#.&;DJ\Q(5YUXKL?#)F*T +M%>O?(9<:QKJ)<>BS&.-+IK&4*K?6)8UA,,50E&J[NHX@<@*]LF8K05Z]\KR7 +M0NNO)G&MZOXL>\Q0ZO++73_4H;69;8QD@+=DKZ+2484'>K5%`PZD5`36WF,R +M2^F9J\[@W)#$!XC=QO"L)+4Y?50P'&E.^^#_`#%J&J6* +MH_3\6)JSS626OF0H_IF;BRW`TX`L"DAE!B:4%JJM/B7G7BE5-&(&/>V\QF1N +M)FV>4WE&(YQF]A=!">5*_5!(!QI2H!WQDFL:\J.4+$*MP;)PJGZRZ2A8T)X4 +M.WPCCQY+\?08^35]=$C!>7VY5NE"`_5T6]A@1U''_EF>1]ZUXUR7JVVCS1M_ +M26M:^9.)XF:A]3]'T+#@QN"RF4%JJOI\2.=:("OVC3+:U\Q\C0S;-(;[XC\: +MF]A=/1^+?_1A+]FFQ5?M=*;6->"FG*B^I]3/!3]987!C52>&_P`%!5>-0>?0 +M9;:OKP8@_RMC_H?P#_`$G_`$IXJ'X-_P!TJ=..S<^@S?IC7O\`*W8B +M\^`?Z-_I<<6WP;?NF?KRV4/T./J_H\UV_IEM?,E!4S4'#](5+'FPN%9C$`U6'I\B>%*H0OVA3+76->) +M`/+9D%H.`_TE3>30L3\/^^$C;;CLW+H,I=8UX@5Y?%P^N'@H^K$W"QLH/#;X +M"V[MN\9LJL3PC%[,[B8\J5^J&('E6M".N3 +M#(>FKZZ74-R^W&MJ.`'UA&O9H&2TA74Y;\*;2-0]P&4NOI +MK'5^2`-44[4Q&;4K1%T];>T]6VEN%MXW9/26)N/P/&LB@L*?9*BGOFF`\K_L +M=E\:_M7VU[?2ZM-:,(7M8P_)HN58FJOIH[L:.[J2S*JCAMUJ#AIA/87FESZI +MM<(M8XZ$U/CQ6A:@WXC<]!A+!KVH3OI\2P`_6KNXMI)N!4&.W]3XUCDD5E+ +M<.Y--_EAOJEW%9632RQ>LKO%;B(THS7$B6Z*U:BA:05]L(7\P:6Y5GT^-VL* +MF0D*?1`E:"L!*;_W;-^SL/';)0%CZ;WYHD=^=(Q];OD7S!-]7!CT@LMNNU7* +MVT5S5F]3_BWIQ&WOMCVU345ET:`P+SORQN7XBBJB*?N*W$EM6#X- +M_BA9MN.P\=LEP_T?Q5?>CB_I(J77;Z*V\PW7U8%=(+K;IM\9CMTN*NWJ?Y?@ +M-O?%Y-3U".ZTFT]$DEN[;4V'CMC +MPG^;^*K[UXOZ2O/KU_#8>8K[ZL"-(]46R&GQF*$35=A)N/BKL!MXG!B/]+262Y01\KCX +M-J!@Y^UL?';'KKNEO+&WZ.0-9LD+N0G*%I+J2RXQ?#N!)"Q-"-L'#_1_%+Q? +MTE>;7K^+3M>O_JP_W%M*MK&0/B]).9+D2;]:G8;>)Q5]=GL]3%G?1?N3#:L9 +M$4!DEN9Y+8!QZK_"6"@<:T[[87IKFCR1>G^C(@NI+#,B%4X3+*QHT_P;%5^, +M[-UVWVQ6+7=+DFBD73D5K=H('D(3G"TMP]DB1T7<+(#6A&QVP\/]!;_I+V\T +M,]Q-:01CUA<11QEE)"Q2F:-6<=M:G<75M:B6SC]1_4C5S +MQ:3A&S`/)Z:$,_%=Z`X5Z?KM_>W.DPFW")>VLUU/)3_?3Q1J4#.I56$O+<-U +M'70VL,,8ES1ME6,GH<)D\Q:7/-#>&P7E%Z,+W# +M!3+$T[^F(T^$DJKTY48==J[XQ%Q^F_-2=^=*K:_J*Z1J.H_5ASM[F2VMXR!2 +MD_#N^_P!K^.%$ +M.LZ3+'':+I4*F_$,\FPF2XN`\M(S1E6V_$=M_L[^V^#_P!(WOZ:M=,]$")[9KB>4@5Y!E3BO[SX15M] +MF_CA1#J^E2)%8KI,*M>>C/';D)Z3"9+B97D(CH&7ZK)78[]\=%YCTAWAU`6* +MHB".(W)5?5C]2$3!%`6O%0ZJ:-WZ=KN_:K?I_4OT+<:E]6 +M42B]:SAC(%`HNS9_IJ'3?1`A^JFXFDH*\N7`*O[SX1 +M7V;^.%,6JZ7(L6G#28%>Y:*9+8A/2/JI-,'?I[_MY+QF`QY^GO/ZEXOZ7XZHB37[NVL;N^G]. +M2&.Y:WM7CC90RP@_6)'#2,-C'($'(9+F"*XCKPF19$KUHPY#]>$ +M"^8(`?T:MBHG=B#;!AZ11T:5B6X4J6JA''[7MOAW87,-Y8VMY;CC!<11RQ+2 +ME$=0RBGR.1D*'*DQ/G:"UG4[BP>VBMU3E.)F,DH)0").=-F7KUZ[`$X2R><+ +MM+=[WZH/3'J`6Q#>J&2Q;4*L:^*\*<>XWP[UF^@MC;V\MJMV\W-TCDH%`B%2 +M:LK;U8`>Y\,*G\U:4JOJ1LZP<77ZQ1?5;A:-?E>-*\?31A]KJ.F2B-OHM$CO +M]5.E\RW\Q_>UKR^R*T[8E+YONXX9+H6@]-3 +M*BVY#"16CM#>E10CCT937?%Y-:L8S)IYTR,S0,[M;CCZ8]-(Y"RMPIR) +ME5>G7O3?*D\T:6GJWYLPT)#QBX`7U',=NUWQ*D?9*HRBK=1TI3#P_P!"]N]% +M_P!)9/YFOX9+FW$1H%)IC9_-MW%'+<"U7 +MTP9T2%@1(IAA];E(:_9\?AV!7??%9=`WRP@_A>Z@]*(O:+A&7LH[F9V*L!*+=87X(.?PL?6XG=J,,E@-0#XY%9O,.FPQR1-I\9.GK//- +M&./!$@6.5FAJFY9)01L/?)4#45'?(3&P]-?I91//>TBUW7+G2Y&6")7$5I-> +MOS!)?T2H])*%:$\J5WW*[;X"E\TWD3G]Q&5DDGBC!##T_0NX[+G*>6ZGU.9V +M%!AAK>K6FGR`7%JMQ]7@EO79J52.&G(I56J]*FFW3KTP')YAT^.20FQ4FX:6 +M&-AQY3/%@G*T6=Y"58>K +MZ,HCX1CG\+;\3NU'H,<_FF\1@/0CXS22QQU#?NO3O8;#E*>6XI-S/3[)RW\Q +M::B%38(?J`EEF4<>,2Q-0M#\'Q%EJXV78;[[8]O,.GJ[_P"@*3=N\43?#69D +MNHK&DOP[`R3J=Z[9*OZ'7O1?])1;S5?*)OW"5M?4,M5;][PG-OQB'+X3M0_: +M^(@9;>:;T%/W"4N&D6+9OW7"\AL:R_%OM/R_9W5A[XX^8M-"T^H)_H/)I0.- +M(@LK1_Z4]I^Z^+X3^[_ROB8#WS?XJO?W?[A/ +M]))$6S?NJ7<=I^]^+XC^\_R?B4CWQ3_$6G;?Z`G^A'][]G]U^_>WK#\/Q;Q, +MW;8>.V;_`!%IV_\`H"?Z:3Z7V?WU)X[:LWP[;RJW?8^.V-?T.O>M_P!)8/-- +MZ2_[A*6[(LNS?O>=Y-8UB^+;^YK^UNRCWRE\U7I$7[A*W7`Q;-^ZYW"V_&7X +MOB/Q;?9^($8J/,.G$K_H"_Z$RK*?A_.V-'F+32M/J +M"?Z=Q:('C24-*L59O@VIS5_VMCX[8*_H=>];_I+4\TWC,1Z$=(7CCDH&_>^I +M>S6'*(\MA2'F.OVADKR,+YAT]G3_`$!0;1DBE/PUA9[J6QI%\.])(&/;;)/D +M)BOX>%E$^=NS7?2P_P",L'_41FS7?2P_XRP?]1&,.?R^]9\OG]RE%_O3=?\` +M&.W_`.)7&;-%_O3=?\8[?_B5QFRS_),?XW__TI;-%:S+J<-\0+210EP68HOI +MF.CU<%:"G>N![Z^TB"W@:0-P.^")[./ +M4$U2PE9ECND]%V2G(+)%P)7D&%:'PP+J=OI\"6,5U?/;+;@M$JB/BQ0*HGE4 +MQ,M(MOBH%4FIWXTTPJP-_7X+=A+HLFJ.]K&RW4GUCA(2W!O3D2.Y, +M2EBJ_O`O*BCD=]\.L*K+2M/M;]Y8'9IH1*1$2"(Q=R>M)2B@_$R5W)IAK@E5 +M[7\4Q\_L0>J/9)9,;]>-.`KR,C2*L06E#R]0K3WPD-UY8HM8&_=%C/]JL +M?^D$,;CXOC'KJ6WY="W3?#^^LHK^W-M,2%YQR*RT#*\3K-&PK7[+H#A)<:+H +M-K(D-Q.TAIN?[RB45?4DX`CC]KCWR4"*HDW?1$KOI\5AN?+%9*P +M-^]9O1^U^\/UE$;ZO\7P_P"DNIVX[D-THV2V_INP.W'J&Z;Y:W/EGE'Q@;]T4$I^*D;&ZDC3ZQ\7Q?Z2C]>6 +MX+>^5^C?+=)*71_T<@1;K^[_`-(#!8O@^/\`?((_VNG#VRUT[RYRBI=DFV.33O+@DAXW9)G,.!9ARW83\J5!HV,33?+:QLR71(M1"L+5 +M4F-%D98EC7A^\#M6/HW*G'MCH=/\N"2#TKHDRF&0KR!]1TN'FB:4E:JQGY;5 +M6I%.V.V_U+O_`$5L-SY8:-!#`]9A;O:*"P9T8NUNUNW/X%'Q-U6@W-` +MRDL(&T]>%KQ(C2A!6A*LI!WJ&!K7OA!%IWEJ-#Z=VQ-F(8H6V)C6)G@B2)>' +M[P$EH^C5^SA_I4=G%80)8/ZEM0E)":EBQ+,S=-RQ-??(SJMN+GU91N^G+HNO +MHK.2`-?%5BB82"1G,?!ALK!P5*G?QPG9_+5M=0QK$*1"V194),"\N7U7G1N+ +M'XCQ-#2HWW%3;4=.@U2V%M<%@H=)59:5#1L'4T8,IW'<84'1]!M[J*UDFXR? +MN"UO1$5VC9FA+B-%"EBAH!3EQZ;8QJMR?<%E=\A\5&"X\M%(D@MY!))Z#6D8 +M++(R,DS0-"Q<<%")+0:.L+I$'5DE*H?1=GX]75>6S#EQK3;)&M_J8[_T5L-QY:*110VT@ED]!K:* +MK"4HT)Y5)KCX=*\LB2WM +MXK@/&XB=(.8:.0B$I&Q>G5HDY4#?%QK3;$UO]2[[?2MAG\ME(H8K642N8FMX +M:N)BIBD,11B]541(XIR%-UI7;'1WGE0M%-'&!`!&%FH1`K&VYQJRUIR^KMU* +M[`@5W&,AL?+JQQW,5\[21F)8)P59Z+%)Z05?3HX:.5WKQ-?M5[XZ/2?+`>&U +M2<-$51D@Y@QN1;>BA+TZF!.5.6X7E3;';?ZEW_HKHFT%X*064[2(T16)>0F` +M>)A&W,R#@GI!EW<`;KUVQJ7OE,\+A8@+?BM)2K"$$VGJJK(30-]5/4KTVKVS +M"TT(V;A-1D].9XDE8<"TJ1QM)'$R>G\4;(3(?A^(5))6N/DT_P`O7-P5N+OU +MC/\`O95+($D/H_#3E_D4Y;9(;-[:6TMY+.GU5XT:WX[+Z94%./MQR.BR\O!!=B +M^?UA(`+BJ^I7T"0O#TZ4]+][7C_EUIODBLX;>WM+>WM*?5HHT2"AJ/350J4/ +M?;(SJAS^*8_#X(+6FTJ.&%]4`(+E(!S]-BS(W)0_)``4#/+ZLI!(7H"*X8:W#I\L5NU]5-\, +M:K?BZ\EE=]/BW)/Y;"20R6LIF5I#-#\9G`$*>HS-SJ5])E6G(UV6E=LN6\\J +MAIII(@82)`TU"8686W.144&G+ZNM*A=P"*['&R67EYDDNI+YQ*[R++<$J)/B +MB3FK)Z=%`C19*\=OMU[YG40/RIRV#K*8GC%.1KLM*[8^:\\K! +M[B6:(&)A,KRT)A=A$#,L:@TY&,4J%WH178XG-8^76CEN9;YU>4S+/.2JOQ:* +M(2AU].B*L<4;5XCC0-7'S:5Y9,EQ;RW'"-%E=X>85(BT065E>G58WY4+'CRK +M3?';^DN_]%;-<>6@DL.0J@^L+$BD_&57]E:M0TK0XA-8>7&CDGFO65YO72XE/%7 +M*O'`DRNGI_`JI!$2>(XT!KB_U/0;:XG:*]-M)`MQ("&0+`SH/6E1G0CD@?E1 +MB0O+<;X[?TD[_P!%3$WEN69;.Y@:":1YXY?K#D'GQA:6.:7U#SYH\>W)@>G: +MF&3:?H4EQ/$ZPM,R2&>$O4JDO$R-Z?+X.5%)8`=L*9]/T)K6**;4I4BC6YAW +M]-7X2JBW(EK%R'BSM\0+5)W&*2Z;Y;-QJ'JW(4313BZ1B@"J8XX9V25DYCBO +M'E1]JBO;`??+JOP#=]+Y6MX$D=1V +M1F]M=$NX$%YJ#DL9E>0B.-RK*D4XD58EX<:*"Y4,O\PKDFJ%%2:`=SD99Y=.23:W-HLM')>W003P20$QLI$ENY02-N/Q%9U7N>)V[Y*-4/J +M^#$W9Y-/=>6`@$D#5A]9KD'D6C42@S-<'G\:F2C;EJ_:&PKCGN?+/.7G`W[U +MI%C-&(D87,<<@@'+X2;EDZ4JU#[XQ]-\ME%+W1'UGUDG-5!D4RA95E7A^[". +M?3Z+QKQ[XY].\N%YN5V08&D=!R4")C?Q@S#EORK]KIOEM<^6.4E8&_>EQ%]K]XPND +M1_J_Q?#_`*2Z=..Y#=-\:=-\M\4K=$?6"ZR[J#)^_P#C64L?1^U^\/UE5K;_%\ +M/^D,IVX]0W2AROT;Y;_=_P"E'_2&_>[K^]/UAFI+\'P?OI&3]GKP]LWZ-\M_ +MO/\`2C_H['T]U_='ZRKTB^#X_P!_&J?M;CA[8[?TN:[_`-%L7/EBL=(&_=,H +ME^U^[)NG1/K'Q?%_I*.=^6X+=-\PN?+/I3RBW;@%$R'XOB19]G@//X%$Q#5^ +M$"H8[;Y0T[RY6*ET?](93)\2_O6%R\J^K\/P5GE=?V=SQ]LPT[RX(IXUNVXH +MJQ)0K6,>N"JQ#A^\K-&$H>5>/#?ICM_2YKO_`$>38NO+0-BPMG!G(]+K2J7' +M$<_C_>TG?D".?7ET-2RRCU0LGIEX8F +MIQ42,F[+]D#X1O4:<'EO7]CLCUVO^U$VVF1PZY-?QWC2,T;B>T;@2&E:-E;X +M0&`"Q<17#?"&PT>[MM6-1J_[U/](96Z_P"\_&\D +MO?@^'84WD,=U/J'[GX_&X<;UVH>V!QY8U$>G^]3_`$8@ +M[-_?TNUN^3?!L?A+?%R^-F[;Y:^6-05F_>)2=XWV/]P([Z>_HGP[_#,JCCQW +M0=L;_I]>Y:_HJH\L0*JGZ\O^X\(D)W`18W$Q$QY[$HJC;C3[7?'IY9A20#ZZ +M#];=)IEI0NT5U+J!]( +M$]!OCH/+&H1.E9$HSVTA(/\`HO/E\=:^.2+1[*3 +M3]-@LY64O&&J$KQ7DQ<(E:?"@/$;=!@F=OJO=E$;_36SM6T]M3LS:I*83SC< +MD"H8(P2+XB[&T8,/3+NQX[)6M:4]\.=3BO +M)K4)9/PD]2-I`&X%H@X,B*X^R66H!PC;R]J$EP)#,1ZC6LAFDD]2:+ZN[.8^ +M7!2U0Q4$$?;>ON($U]5+(;\K:B\N0P"&Z-^A?3UA@1S4(%MX[B"DAYU#%;MJ +MT(H:9&ZA,@J@7_`(^5X\EK1!7?&V_E3488X;?ZRH*F!_K2$\H_1M_J +M_",4#=:\:,!1VK[M\_WGV+7]!$Q^7TB:*_-_&9[3TXA*01'2%)H>+_O*ABUP +MQ^UML,:GE"TC1---V3!1)'BI25C';)8\A\5.-$0_9V.W?$[?RWJ$,EM<'TJ6 +MP@0V:L.#>C!/;EQ^[X_[N55JM>"COB<7E/4HX8K4W0!4Q/\`7%)YH8[(67%- +MN7V@6'Q`4=N_5OGZ^G'BW[RO+G*3]K +M_)I3$E\H621)I)O/W!56](_WIX6:Z;R'Q4IQ0-]GKE1>7-0CFANB(N,)C!L@ +MP]-A';R6Y;^[X_[L"#X:^F.M=L7M-#NX'L(9HTE6RMX8S=AOBEGBA:#U9:_% +MQ4,:*.M:DX.(_P`_HM?T6ET%/4.IK?QFXB:CR@'TE5(S&P;]Y4$,>9^*G[-* +M8?:?:QV-A:V4+%XK:&.&-SU*QJ$!V]AD6M_+6IP6D2$J3%/!(T2R%6<0VK6R +M\9`H"A9"CIM7X>M>DKM$N([6!+N02W*QHL\JCB&D"@.P'8$[Y&9_I6RC[J06 +MKZ<+LPW0G6W>U644>I9 +MOIW+[5./%V;[/7Y8::[87=]':FU.]O,96CY^F6_=2(E&HU"DCJ_T837/EC5K +MI)HY+I!-,997O%^$EY;!K'CQ"A@/48/]JE%7OAB=OKI$AO\`3:)DT!)7DU+Z +M_&)[AGC,H!,5)4CAXK^\KRYP@_:_R:8R3RC:R(^G"[(@`>5(J5E4RV[V7(_% +M0K\;G[(J=NV)S>7-0EEGN@(J3^JHLBPX*)((K<,?W?'_`'65-%KP/6NV)S>5 +M-2DBEMA=*2QE?ZXQ/-_5L_J?%]N7VJ$_$11%IOTD#_3K;N17]%%2^7HYFEOQ +M?H)KSU83*`3'2=((*)^\J6!ME/VM]QE2>4K:426*W?&)?4EBCI61&FC:$,WQ +M4*CDQ^R*].V(W'EO4)GNIQZ=+I;B,6C,.">O!;P!S^[*_P"Z.O%S3?*N/ +M*NHS)-;BY4\C +M"_027PFA:05,96XCMH*1_O*EA]32E2:[Y4_E:U=9K=KT1PQ":=%/VXVG!/.2 +MK4XJ>1Z"OCMB5SY:U&=[J<-'_I:W48MV8<8_K$-K")#1./6V8MQ7HYIC+WRK +MJ,]M>VPE21I8KX1S.?BD:[B]-%?X2PXGCRJQ^PE/9!Y>O[.2US]*(O?+D"?6 +M+BYOTMWOEG@F=]DXSQP0T3DX/)4M5ZDUWRY/*]M.[VRWH`C,\\$8%71[B3U@ +M[CE0JK\NPK7KMB\^F:K+:N&^*[2:233)3.W*U+1>DK.P4>J.3.2#^R:4Q]YI +M>HRWK75D(K69+>XCCN#0AIYDC"3%`H/(&,`\B=@!\AQ';U)H?S4)/Y9AE^LE +MKY4EOA/:W/6E+A(H^"5>O-8XA]HFM:Y([FVCN[66TDKZ)4I5^*M3E7K_DC%9/+,,LCK]=`^ +MK/+/$M*F-Y[E+^LHY=`\=.@J,7U_1;O4Y6:V=0);2>SJQH8FF*,)E^%NG'EM +M0\E7Z`,WEC4)7:DB41[B2I/]\)[R.\$4E%KQX1^FU:_=DA(D`F>_N8D#<"*H +M_EB"1';Z\O\`N166*9MR'68\P(3SW(CJ-^5?M=L>WEF%W/\`IH'U-WEA%*F- +MI+J'41ZOQ=`T"C:E1@:7RQJ4@G(E6MVMP@!8?N#/,)O46B4+$CU&XOKW+7]%4/EB!E)^ +MO+_N0#+,=R'5Y&G`A//>B,R[\J_:[8YO+,!;_>T?Z"SO"*;Q\[F&_P#WWQ_\ +MNZ#:FU3WP.WEC46$I]5:W7J#=A6`OI2! +MY&Z_[T<[V&^H_P`.WPQ,#RY?$[=L;_I]>Y:_HJW^&(#_`,?J_P"GG]]_Q8/6 +MDN_W/Q^$K+OR_F[9O\,0?\MJ_P"@$F';^[!GCN_WWQ^$2KMQV^+OB'^&-1_> +M?O4_TAJ_:_WG_P!+>\JGP[FC@_#Q^-5[;Y?^&-1^#]ZG^CL3]K_>BMXEY5_A +MV-$)^+E\;MVQO^GU[EK^BKCRS`#_`+VC_3F5YA3^\X7$U]^Y^/\`Y>'&]=J' +MMC1Y8@4`_7E_W'A5A.X"*DBW!$WQ[?`BKMQ_F[XDOEC4`7_>I^_9&Z_W'"]F +MOO@^'?X95`X\?B1>V4OEC45$1]5*VW#HP_?E+D7/-JIL10L.?+XV/;?&_P"G +MU[EK^@B%\LPHX_TT'ZXZ2S"E#(T=U-J)]+X^A:X8;UH*9)\B4?EC4$8UD2DS +MQ2;'^X$=]-?\$JO3A,J#CQW4=LEN5S/]+B91]U.S7?2P_P",L'_41FS7?2P_ +MXRP?]1&,.?R^]9\OG]RE%_O3=?\`&.W_`.)7&;-%_O3=?\8[?_B5QFRS_),? +MXW__U)5=R7<4&K26"\[Q(^5LE.591%\`I45JV`M5@O[C38^)EFOV!>!HU:(( +MQX'@0'^!NO%W#<=^O0C;N[>Q@U:]BC$LEO'ZJ1$DHD<3<_01S1ME)4#P]J;2.]DN(K2:2TB]>Y5#Z,50.3 +M_LU+%12O7(JVKZ[)%&R1RQNBF.!&4$SS173V[<^*D?$B*Q`H`&9JT6HE"ZVK +MGU\PB57U14D&H\?,[HUSZ\S,-.8)OP^K1(HA;CM^^#C_`(;O4J-;7/K:`B&X +M^KPEFN5],`WVN]<$26T_US1%C-Q]4A$C3KZ8 +M"\Z#TS*O`4WK\L+AJ?F#OSW(^O?#3ZN?K21T7X/A'I%_YOA`?O7+74_,!90> +M>S1BR'"GKJ;V>)RWP;_Z,L3'[-`Q;MLT?+N^REL>?X-JUQ;ZH=.\T&%KKZ[< +M>JNGD+1J>B$B$3<10>I4>W7;K@R:WF.IZ/Z1N/J4*2F0>F`O,E/2,B\!0_:\ +M*>V%:ZGY@*KRYT;TOKY*T^KLTX1U!X?".%03\7%`).]-:XT?+\"EL>?X-JDUOJ9TOS)Z377UVX:461X4W7;KB^K)JI6TMK%)?J:/9R!D7B[%+J-IUE`X<0L*UH!ON,!1Z +MGKQM)7,L5XU0<:5VR2Z-'>1:;;QWQ;ZP`U0[:--=SZ;;R +MWH(G8-4LO!BH8A&9:#B62A(H,$[K>N8Y)C5[7\5FMI>26(2S+@F:+US']L0^ +MHOJ\*$;\?\SA$EKYCDE@D=#!/2U]'@:111HQ^L(P#E5)2O)>+5++0_!M+LV1 +M$Z%4&1C9NRPVWL=>46YF$OU9%MAJ$3$NTDJQ7*S/Q$A+CU7A+<6'+B:9=O8> +M9U-N)7?ZV!;^G,[\UCC5")DE8,06K4-\+X(X!WEAMO8ZZO +MU:PL2O(WZ0`CI1( +MXFI*M^SM,\V/B'N"\`[RQ*+3]5:VRSRK%I]M$)>'*,W"^K]89#Q/Q&J'WZ;TH)# +MFP"6U+P[VQ!+34?\/64$C77UEKN)[[]V#(4]0-)S^#XEX[^_3VPT2*Y_Q%>S +MR-/]5%G`EL>`,8D#3F;A\!^+B8S[]-Z4!WFPF=WMSO[5$>7DQ!+34?\`#^F6 +M\ANOK!N(FU`>F"Y4&LG/X#R'WU]\-(XKD>8+^XD:?ZO]5A2V/`%`X,IE]/X# +MONGS]Z;'>;$SN]N=_:O#R\F(16FHC0-%MY3=>N)H6U(<`7-$_>^I\!Y#G3QK +M[X:117(U[4KB5IQ!]7B2V/`%`1S,GI?`=]UV[^],.\V)G=[<[^U1%B$%IJ(T +M/R_;S&Z$Z/"VJ+P#,2(6]7U/@/("6F^]>N_7!EJ-?@OM0C@CY12RW,D)N21$ +M"4C]`K(.;49^0*TV`Z#]J1YL3/GL-[^U'#YEADUIYGDM3$X?U(HKR"T9')/K +M\D%K<2-6/L">9!`WVWIDS%:"O7OFS8)2OH!5\O-(C25ZO)J:-$ECRCC=)><\ +M<8F=9@%]!3&Q4%&JW(U'0"HK7".:Q\Q&24QF6O.X-T0_'U8FNXY(4B;G3E]6 +M#*M`O'I7?)AFPB==`IC?4L,DL/,11^!DXLLXTX`E?1D:4&)G4O5%I\2\N7%* +MI0$\K&;V&1%B//<_55D44XTJ%ZY,,V'Q#W!'`.\L- +M:P\Q<3Q,E#ZGZ/H2/28W!96<<_@'I\2.7*B`I2IXFVL?,7(T,FS2&^^(_OE- +M[#(@C^/XO]&64;<:*RIU&TQS8^(>X+P#O+#?J/F+QDW/^X_XC^Y_TIWK)\?P +MCT2GVN7P!DZFAWU#S%XR;,?K_P`1_??Z7&_[OX_B'H!_L\?A*IU%!,LV/B'N +M"\`[RPY;'S%45,F[(;#XC^Y47DTC>I\?P_Z,T0^+E559.IW$7<'F1KF[1E4V +MLDD$P,3L]8Q.RO$`1&?[E%9T!W^("O*F2G-CXA[@O!YEB%S%YB%A#:\)>'JF +M52AY2-2*;]Y?FS9&4KZ`FZ_XQV__$KC +M-EG^28_QO__5F]K%*]U=E$9AR3<`G]@8+]"?_?3_`/`G(^/\5]O0^C+_`.=M +M_P"*,TU1ZG\?)V>__\`'R6SW)_Z$_\`OI_^ +M!.;T)_\`?3_\"<(/^=M_XHS?\[;_`,48*CW_`(^2V>Y/_0G_`-]/_P`"_P#'R6SW)_Z$_P#OI_\`@3F]"?\`WT__``)P@_YVW_BC +M-_SMO_%&"H]_X^2V>Y/_`$)_]]/_`,"A/\`[Z?_`($X0?\`.V_\49O^=M_XHQJ/ +M?^/DMGN3_P!"?_?3_P#`G-Z$_P#OI_\`@3A!_P`[;_Q1F_YVW_BC#4>_\?); +M/A/_OI_P#@3A!_SMO_`!1F_P"=M_XHQJ/?^/DMGN3_`-"?_?3_`/`G +M-Z$_^^G_`.!.$'_.V_\`%&;_`)VW_BC&H]_X^2V>Y/\`T)_]]/\`\"Y/_0G_P!]/_P)S>A/_OI_^!.$'_.V_P#%&;_G;?\` +MBC&H]_X^2V>Y/_0G_P!]/_P)S>A/_OI_^!.$'_.V_P#%&;_G;?\`BC#4>_\` +M'R6SW)_Z$_\`OI_^!.;T)_\`?3_\"<(/^=M_XHS?\[;_`,48U'O_`!\EL]R? +M^A/_`+Z?_@3F]"?_`'T__`G"#_G;?^*,W_.V_P#%&-1[_P`?);/A/_`+Z?_@3A!_SMO_%&;_G;?^*,:CW_`(^2V>Y/_0G_`-]/_P`"<#ZJQ@@M +M7?DG!X2:;,/W_;D#A1_SMO\`Q1AAI/Z:]:;])>CQX#T>-*^IZB4^U[5R4:O8 +MHE=;K[2.W9[Y(Y)#&&BB:=Y.3$`2U*GB*4Y??FP-'_BOZQ^^I]5]9N/+[7VF +MXT[?+-EW\/3FU]7_V0IE;F1S=')E86T*96YD;V)J"C$S-3`@,"!O8FH*/#P* +M+TQE;F=T:"`R,C@T"B]&:6QT97(@+TQ:5T1E8V]D90H^/@IS=')E86T-"H`, +M1`9P40BP(!>1RG`C.;ML,1P,AP*!G+Q272H2@41;%#*S'1M1I/2-O0ID9II4:$-QJ,!<.:Y6)-' +M?7[:Y7B%8.W:YW;OCZAJHX;A`NJ:H(P`IC6B@DB"%H;!H$`IC2-K7A0.HV.0 +M-XY!`*0RC,PK2C*D(W#&,JDC"YC8#J,(V)\H`F.JZZ)(XMB?(X^+UI^&JZ*P +MP#P!<&3;!D&0;AL%`J#1$@CN!$$50T,HSC2.8Z1`S04(U+-S_-TX!0.DCT`%`QCJ.40CI.T\#M133#8.HRT9-[=C?#M&SQ +M2%"4=!H6C$--,4;.,YSK4P4"X%`TC=*4]Q`+@4TD,CD##3,\LRPP43Y*0Y#F +M%E)#,-]*TD.E$UI858!0-E<#+9E:5Q25(V,/`PC(,HQA;%[L(NV\?0$(B_UN +M-L5-K-SOA1#<]RA9-0AL&04#O1#BR!>@QPPX@X.6,E<#/@+=B<,(J8#?E6CI +M?3=M;0E]RJSV%M-/5YMWA`YCA"P\C*,F(7[5PT8W:H98PSMQ83E<^L4.8UXW +M6PN!G(-SK&(RA3`!2N1FK@::*]L'!H&[V!Q-*L!0%04BH-6>R_`4PIW,:5/F +M&*6Z3I>FW=G,WU[D]I8W7&$#&Y&+MW2$H7EEM^39C>07-+@%)>&ZCZXER?HX +M*EVL!D0PCRVP9ARPZ0YR&8;W)B?#<0%$%08&G(<38K#V1*:7\C*+3P0-V%X[DN6'7+!0Y8V<+T]'TCV>===SSDM1V<]6-S5E==TO751R%#.. +M,>;!C#_3(WP&#?R]IY#D&)A34FJ$^A>\J&,2@:@T/8 +MD&'$-6F0[+Y$%Q8-@RAL9-$8%L.3GD<74W]=KKPS`@>)$:%L2"T0P:'#)O14 +M25)WAT@.'I0(@`*4F&9"4:`C-5C7$I&<2BU'@($50&DIX=^0Y026@7("DXG)+2=$5RAD>]`$$ +MI42)0!`H=1)D5^G!DT$8Q:E5"'K.D2\VL+"RQJ+2C(_:-2.`RB=%1'B/@7`S +M2`D)(B;`0!&>H_QT)P@4R2#>K@QR&W?F%2(E8U)L%!L\2],8B28B?)DF6#(G +MZ<)G/R52D1Q8-PWS:=$F](C!IP)V2)(Z4:=@;@HEE0)*JB%.!W5"3!VD]U)J +M54O0I3D14E!J(T*.>JQ5U"I\S[.2Z&A5`%A5!)(++H4'0 +M.Z'G7TS!2:5::;Z#LLH@MA+5+'V279,]U[ZMWRG0-*M\PX>("&E>$^8THO!5)HH!LA/2.D/H[P9(V#=J+4YUM`D`?NQ@-F]`P)39^P"`[)KN8M +M4\V-0W"0EJW`ZK<$8)U;?TZJW@.#2P:@Y;B#]N(10DJ*C!-U?CUDIC"NQ=T* +M'#&JA6C"-+0+,PRG>>P[Y/@\\55W4P9G-TTJVV=&EDM;N_QI8',ZK>\0EYJI/.;Q=7!WU,<`T( +M4&O+$\]KLUOI+/S'-;,C?^6U#7RX]6ZWS*IRC*H),G!51(US$KU\S#1@NDGY0G`+ +MN"(I^`F+Z=@XQ>_/00*`W'(R\^:M]'839!I//W0N1-%,<92&TST(\_NOJ3H7 +M&%;@4+_K;H5@8;0X!U63B22>F=.Z%JI597-6$X`VJUH5<=55X!L@(OS%(>80 +M5O7A"G0H8H#UO5P:=2B=%=:3@TSS/"Z\]F`4VL9$#LC2&'0L:XYRQTV[52R\ +MRV`*-HF'VFX;;X<];ZX)?M\-P=0V["65B;;[!@YJN#2IS<(*-M[?JCMRH+OG +M^;V2H9DTN/-OMSW2GBI@*%PZUJ]NC;FN]R&'2AQ%3M-J:O*--KSBC`U+..WA +MF=Z.^F.[<15P[;[:@V*40LW9&#WH\/D(<&0Y:)(42;1)O,-J%7[RQ?T&=.@; +M3:Q\+-$F0^#"X`X/:CFZP*,N2^**FZ4[IX9L86J'77I$+N!`%63Z39QK&G,EB=.5'E%`!P4)>8+C#%TC'TTD/ +M3RC2H,SV4G?566SO!`="0Y'_%WTOPTX/'8\+7P\4:2O17$A3SPAVQ),JTF3B +MD@E3N=4*@MW.T`H.("BJ%"D"CD]I+0L@@"(&\! +M04?5>LZ+'[TTGP/A?$("`IE;F1S=')E86T*96YD +M;V)J"C$S-3$@,"!O8FH*/#P*+U!R;V-3970@6R]01$8@+U1E>'0@+TEM86=E +M0R!="B]&;VYT(#P\"B]&,B`R-"`P(%(*+T8T(#(U(#`@4@HO1C@@.38@,"!2 +M"CX^"B]83V)J96-T(#P\"B]);3(Y(#$S-#@@,"!2"B]);3,P(#$S-#D@,"!2 +M"CX^"B]%>'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(*/CX*/CX*96YD;V)J"C$S +M-3,@,"!O8FH*/#P*+T0@6S$S-3(@,"!2("]865H@,C0R(#(X."!N=6QL70H^ +M/@IE;F1O8FH*,3,U-"`P(&]B:@H\/`HO1"!;,3,U,B`P(%(@+UA96B`R-#(@ +M,C@X(&YU;&Q="CX^"F5N9&]B:@HQ,S4U(#`@;V)J"CP\"B]$(%LQ,S4R(#`@ +M4B`O6%E:(#(R-R`W.38@;G5L;%T*/CX*96YD;V)J"C$S-38@,"!O8FH*/#P* +M+T0@6S$S-3(@,"!2("]865H@,C(W(#7!E("],:6YK"B]2 +M96-T(%LU-"`U,3D@.38@-3,P70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J +M"C$S-C$@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO +M4W5B='EP92`O3&EN:PHO4F5C="!;,CDY(#8P(#,T,2`W,5T*+T)O$S%F+P)'*"\25#-%.2HK)C<\(U1">3H[,V%U1D=,/2X@@F +M@PD*&!F$E$5&I+16TU4H&O+C\\34Y/1E=865I;7%U>7U9G:&EJ:VQM;F]C=' +M5V=WAY>GM\?7Y_(B8J+C(V.CX*3E)66EYB9FINGM\?7Y_(B8J+C(V.CX.4E9:7F)F:FYR=GI^2HZ2EIJ>HJ: +MJKK*VNKZ_]T`!``<_]H`#`,!``(1`Q$`/P":F?4);B:.*=8TB*@!D9R>2\NO +M-7=0 +MDT^SMX_W;I8-8GFX8PS$H?74_'5:KR^$AJJ@Z5XZ<;\Y4[(^ZV4?[E/^6M/^ +M13?]5[;9O4U#X +M/].B_>?8_=M\6U?A_>[[9&6\M:FS"CI^Y:1GJW^](>^@O0K?#M^[B93SK\3G +M]GK1\M:F>?[Q?WYK'\0_T;_2WNN0^'KQ8'X*?&H'V=Q.A_/'R86?YK)_4U#X +MO].B^#[?[MOAVK\7[W;;-ZFH?#_IT7Q_8_=M\6U=OWN^V1C_``UJ=5_>+^X8 +MF3XA_I-;R.[J?AZ\4;[=?C=A]G[;9O4U&JCZ['5_L#TV +MW[[?O=\C"^6M441UD7_1_3]0!A6Y*7(N.>ZTJ`"P]2OQL1]GXBZ/RWJ:O4NE +M)'BD0AMK98[Z:],:U6I'IRJ@XTW7PQH?SQ\EL_S62^IJ%'/UZ*D=>9],T6@K +M\7[W;;-SU&JK]=CJ_P!D>FU33P_>Y%XO+6J1K"3(O^C+;K*H85N6AE:5I-UI +M45]1?4K\9(-!\1?#Y;U*)TY.GQ/;R*P;:W6&[DNVA6J\B/3<1KQI[BF-#^>% +ML_S62>K?A68WT7%*ASZ9HI'7E^]VRR^HAE4WL?)JE1Z;5('6G[W(O;^6M4A6 +MV+.I^J1VL-:OZB^I7XZ@T%#CX/+6IPM$K2INUHXD5J^@M +MO<-#>FO$@$%J@;5:'\\?);/\UDAEOPK.;Z+BE0[>F:`CK7][MCB^ +MHA@AO8^35*KZ;5('6@]7(O;>6]3@%J[,I%HEK'+$K*3.UNDZ/,.2A:\IE=>= +M?B&].N:W\L:I#Z,;3("/JK"=&KZ`MV9FACJHHA@AO8^1!(7TVJ0.IIZN1>V\N:E";65N/ +M&U6VCEMU93ZS017432CDH3[5PC+S%?@WQ]CY;U*UDM!+*C^DUK(9E:OIK;IP +M>!.2\R.JK0@49JC8`M#^>%L_S61S37]O$\T]]%'$@J[M&P``\3ZN/!U,BHNT +MW_XJ;_JK@37;>:XL5]%?4:&>WN&C%*ND$R3.HKM4JIP;6-E2 +M4=5++0-VZ9&S0WZLJWY+%?47%4O8V`)!(C8[C8C^]S<]1Y/IM6GC +M3U<)M+T_4]*AN)HX(WE:*VACLQ($2L-4DDYK'0#BU%^&I5!7<[(ZCH&HW=[< +MR0S"$3S&>.Z!^*)?J?U/T@`.5?4JVS`49N_4]2.(5WHZ7#Z['SIRX^FU:>-/5R,IY>U!98[DQQ^DC)73^2\3QMVM +MR]>'#]KA]GEZ>]>7PXZQ\NZK:2VW*X622!XY6O&-2W"Q%F8RI'/>0<_M4I[X +M:'\\7#Z['SIRX^FU:=*T]7(Z^B^8;_2 +M6M+K49(;GU(7+*(BK<#&TF[I,>/)2R]-^H"[8G>>6=5N#C0ZS"V?YI9$]S>1JCOJ$021Q&C%&H7)H%KZO4 +MG;%?]RG_`"UI_P`BF_ZJY'YM)O1I^HP+&$?4IXA;P*5(AXK&AD)4(HX^F6%- +MZ`?M':3Y$FN1MD-^B'9]12A>]C6I`%8V%2=@/[W*YZB'$?UV/F1R">FU:>-/ +M5PL\P:5=:B8VMPLBBWN;#*VW+BQX[[&K33;FWU>\NIE +MEF22TM[=)Q(`7>$2>H>)?X2W,4]Z_2>E\6_FU:5I6GJY'8=$O(]$T.P>"0RV$D+72K,-_3C*.5;F +M*@L?A_A@J?2;N:^UN1(R/K]HMO;22R$Q2H_,+5QTWZ],.W\[\6OP3<3 +M7S*KK?Q%'-$8(:$^`/K98?42S*+V/DM"P]-J@'I7][D4;RSJ;P3*O']_'=0Q +MK(R\XVN%@5)I.">G53$W]VH-*=^1Q6X\M:G,9565*UNV,K-3UUN)EF2%Z*6" +M\%]-ZD@!5H#4T:'\\(L_S2R7U;\JK"^BXOLA],T8GI3][OE\]1JR_78ZK0L/ +M3:HKTK^]R+W/EK5)ENBCJ/K<=U%"C,H-NUP(@DWPKQK6,R-Z=/BH!45./G\M +MZE*\G&1``]S(S,VTZSW:72PM1>0'IIZ;/DMG^:R7U=0HC?7HJ +M2?8/IFC5%?A_>[YN>HU8?78ZI]L>FVW??][MD7E\M:I(LQ#K_I*7*1*66MLT +M\B2++LM*_#ZC>G3XP`*BK!\GEO4GBI)]@^FWQ5%?A_>[[9O4U#XA]>CJGV_P!VWP[5 +MW_>[;9&'\M:HPDI(O^D>J(P6%;8R7'KB39:5(H[>G3XU`%5^(6WEO4RPHZ?N +M6D9_B_WI#WL-Z`WP[?NXF4\Z_$Y_9ZM#^>/DMG^:R;U-0^#_`$Z+]Y]C]VWQ +M;5^'][OMF]34/C_TZ+X/M_NV^':OQ?O=MLC'^&M3^/\`>+^_-8_B'^C?Z6]U +MR'P]>+`_!3XU`^SN+_PUJ?P_O%_<,3)\0_TFMY'=U/P]>*-]NOQNP^SN6A_/ +M'R6S_-9.#J;`,MY&0=P1&U"/^1N,2>^DDDBCOHF>(@2J(V)4L.0#?O>M-\3T +M:SFL;'T)R.;2SRA0:A%FF>5(^@'P*P&VV)Z1!+:M?PS+1FNI9TDZATF/-#_L +M1\&_AX4R-\]^3+NVYHLMJ0(!O(P6V4&-M^^W[W,S:DBEFO8U514L8V``'C^] +MP+?Z>;C4]+OHT7E9RR-+(?M"-X)8^*_[-UVQ+4K;4-0A,?I+$+>[BEB42!C/ +M#'Q?E1DXJX:I56J*J*D5V0>6_O7OV1W/4:JOUV.K[J/3:IIX?O[9&X?+>I1.G)T^)[>16#;6ZP7-/<4QEOY: +MU2%;8LZGZI':Q2HK+6Y:W]3G-\2\:U<2+ZE?CJ#04.2H?SQ\F-G^:RK_`')_ +M\M:?\BF_ZJY3/J2*7>]C51N6,;`#Z?5PBM=,U^S>PA2X`M(57U(HZ$(3,[R( +M2_'D@B943X3]GHN)+Y349;U#?"[^KR"`H.1VS\MZE;26PDD1N!M']56J(5MF9GMTY*&*T/!*4!#-4"@!.M*@E2XU.YD +M7A'=W7J0H>O%(8KGMQ45J:X2-!=_H?2K=FO%N3"1-.JRUBD +M'`O(Z*.32`U$?+X34DUP[FF>W74YXRJO&H=2YHH(CJ*X4?IC4[?0]*O@K7C2 +M*DE[+'Q->15/2^%?A):2NR[<2.N^:B-]*YC[G8FNO*W%]J-K_B!O6#"TA66R]1554+1NW$$#XMP.M=\2.HWH;R_$+N,B\9C=R0V_UN]<;?6^J%M+^I_6&CCC7F1S0E_7A9@X/'@?3#_$X((J*;[NEU?4$A\S +MS+<1%]/+K8QU4A>-O&X-.-23(S#>OQ?#VQ2YO[E%TU(M119YE#-7TS&P#H9) +M))"!7X:HJ(`23[5!WVV'XBC;?G^"@5M?,E!R,M!P_2%2QYL+@,QB`:K+Z?(G +MA2J$+]H4QR6WF,2+R,V[QFSJQ/",7LSN)CRI7ZH8@>5:T(ZXU=8UX@5Y4;A] +MS0.Y''_EF2-]J +M4Y5R7J_H\T;?TN2R.U\QA$]0S<56`:B"6)>02DRM$`U66GQ-PIR2BBK`C'PV +MWF,2Q>J9J\[V^,CUC7F1"Y8!E@-ZY11]6=Y +M2LB`\*#^4\N7%?CZ''PZOKK2Q"3D"7MU@0Q@>O&]W)#+(1QK46ZJYH1Q^G$\ +M7=%=OZ2R"U\QB.#UC-P5+4:F"6)>9?4]=HP&Y,O(JS<*7+B/B[X^#5]?=X1(&#DVHAB,87UXY+AHYI6!6H(A',T(XT%1 +M\6)XM]HKM_266]KYA"6_K^MZ*I;#45)9F:94G$[(JMR9?4,9;A3DNPQUO:^9 +MPUOZK2_6`+7TG9^2I&K-ZZS%6*E^&S5!Y$K0GB:-M]8UQUM_69A'(ELU],55 +M?0ED2=IHJE*+1TC4\@>(-<=;ZQY@=K?U$;UF%KZ=N8POK1R,1+*P*U4\?B(J +M.-`"/BQ/%OM%=OZ35O;:^!;F;U_JRK;"_1BS.TJQ70G90KEF7U6@+<#1J&F* +M6-MYD6:S^N&4S!K8EB_)%A5/WZ2E6XEZUY;$L2I!V)"=OK&MN+<2R,()%MC> +M7)15]&1XKIY8ZE*+22.%34'CRQ2QU;7I9K-;E6221K8&`QA><4B5FF8%:J0: +MD[CB0!3XL!XM]H\E%;W:Z1036W69#."!U'IUJ/#%9TUIK +MCE9W%HEI\-$D@D>2E!7XUG1?E\.)Z_-+#IX,3M$LD]O%-*A*LL,DR1RL&'V? +M@8_%VQ6>XU:.X]*VL(YK8<0)VN.#4H*_!Z;=/];*Q=#EUY_#O;#5GGTY+[%- +M50O^DIK>4$#T_J\3Q$'OR]266N`IXO,!U^WE@FA&DB&42QF-BW(M!0,?5%7- +M'X-QHHJ#6N`-8U3S#;I9,MLEHS72JT</>)>)/`!2.^)6'F*\>V +MT>SN`SW-_;6QN+L\4D26XB=^?IE`IHRCH*5-#[R$9?5Z3;'B'+=6M'U2WACC +MMTE43:C=BX>6*61DMB)Y(&3GT&T:CYXIICZG=:K;76H++%RT^`R0>FZPI=-S +M,Z5.P(VZGVP&-1U&'3I]5%Y->1VM[/#+;QI&S-"LDL,03TXZU^*-J^`]\'IK +M5S97VGZ-=*+B:01175W4)^]:*20L$H/A)C`VVWIUPD'?8'G^U`(VW/1-KU=2 +M94_1TL$3`_&;B)Y01VXB.2*F!?2\Q\O]Z[+CQZ?5I:\N/6OUGIR[>'WX$TS4 +M=3GTXRVZ)J,JW=Y"SR2K#2..XD2'^[C93^["]AMOWP7];UWE3]&0\>-:_6OV +MN->-/1_FVK].0HC;T[7W?I96#OOO[T'JL6JG2IDO)(9[MI(OT?\`587C*S!P +M5;XY9>G4G:@K7;)!A!J=WJBZ3<7$\`LKF%XFM!#.9?4D+A1&P"1U#$\>.]:^ +M.'^,KHMSXD&U"PJGSZ=L$:Y+>06MO-9RF-A>6<<@55;G% +M+=10R*>0-!P<[C?`\=_>(6UM:PR11%@/C.$7P +MGEU_0@U?R_2E<,.I_H'1(I7NA<>K"VI?NY#)LA,GJ;5(#T^>";Z+5I+[6C:O +M/R-K$EBH#(M?B,HAD;B@?I0U&_?;8-#J^I/H.B7+WD8N;Z6$7CNP4<:ECQ`Z[5'CDCQ6=AU^]CM0 +MY]/N2RXMO,)6X]#UO09;D:92\_HF7 +MU:W7KLK<5>)IE,"PDL%Y^CLM`.)#5(Y"JFH:WJQ1I+4Q!%AN&@DM6]9)9T6% +MH8JM'U8NXXCK3KVQ.?5]?1YQ&K&0&Z$L(C#>C'',J0RJ`M23$>8J3RJ:#X<( +MXMMH_CO7;?8=EYUXKL:$TQ6>V +M\QF6;TC-RYW)N"&(#PM=(T"PDM3E]6Y`<:<36IWQ*XUC7DCG,)9ECCNFL)`J +MM]8EC$1ABKPHU69E'$+R'Q=L5GU?74EF$?(D/7T8?5MM%&V_P!2G+:^8RDGIF;@RW`TT`L"DK.OHM*"]57JR\Z\4JIH2!CY +M+;S&9'X&;[(X\>0^/H,?)J^NK(X7E]N9;E1&#]7C6]AA1U''_EG9W%:UI7'U +M;;1YKM_26-:^9.+<3+0^K^CZ%AP8SED,H+U5>%".=:)53\1ICFMO,?(T,VS2 +M?7OB/QJ;V!T]'XM_]%$OV:;$+UZ-;6->"L5Y47U?J3<%/UEEG**A/#?X:`%> +M-5//H,1M^50O+H'VZ_""OVC0[ZMYC\9MF/U_XC\?^EQL/1^+ +M<>@'^Q3X2J_:%!OTQKW^5L?]#^`?Z3_I3Q4/P;_NE3IQV;GT&;],:]O]K=B+ +MSX!_HW^EQQ;?!M^Z9^O+90_0X^KNCS7;^ER9%HJ7D=@%O>7J>K.8PYJPA,KF +M`-4DU$?'J<*'M[M[34E19/KJZE%/+Q)5WMDGBD'`BG)?JRE:#KN.M<-]%N+J +MYL!+=U+^K.J.10O$DKI%)0`?:0`],"6-S?LFI31I]9NTO)(1;R2F-$C0@1A? +MA?C6.C]-ZY6+!ERY_I9[4.?)+;:?S#9!U2%VA,CW"*\;R.4GU"2B%^1X\+5E +M/&E5I]&"Q?\`F!6GK`6$<\/2%J>@UP$FX[@EEAJWP\QMUWI@[ZYKWP?[BX=_ +MM_Z7]G<]/W.^V^(SZKJUJH>ZTZ**)G2,3"XYJO-PO*2D2\5`/7QV]\-D_P`, +M>?>$`%N@<>)V[X[3-:UR_L +M6NHD2=#Z8,T<9`4^NT\,3OR9*T,:\37I4';!&I^9]0E,UKIJ""XCG@%O(2&$JFZ^KO&Z.M5JHWZ$ +M5^DSX3_-CO7P8\0_G']::VEUKT]U:Q7"+;QM!ZL[>BS5=9:<.7+BA>+>G[)\ +M<0MYM?MM+F'&2XO4NG!,R4"P-JPNJE=Z&@]'XMM\K2)97N-5A+M)!!=E +M+=F)8T:&*61>1ZA97<>W3M@)V(H#W)',TS6YU&=$]1HE# +MA!05*QUIN1A0WF2Y@L=-N+J'B]U:R7]TZ("L<,/H\^*>M4_WX(HQ.WV:[9(( +MK1)9+KZQZ?I3%1PD!8,H0*:@*PI\\?\`HO3A'%"$MO2@/*&/T_A1AOR0<**? +MEFG%=1?Q\G9&^AI?FQ7TD_W\G_#_`/-.;TD_W\G_``__`#3D*/E\V5L/;S3> +M*R?N(Z3M(D6S?NN%[!8UE^+?:?E^S]DCWP7#K=]*VG5CB"7%]<6-P:-4^BD[ +M*\8Y46I@WJ3_`!P__1]E60T@K-_>G@?C_P!?X-_IQPLK15C4&$+">4("FB&A +M6J?!L:,1MEAX?YH^;'?O^Q)8K[5)KN[MX_J[1Q!PDJARL<@<".-V++ZK&,\F +M"\>)^&IKRPL3S3?$'E#'6`QB=:,"YDNYK(J@YD*R^CN*N.3`5(WR3_HC2P9" +M(K6LW+U3Z7V^3-.L5](*+<>C_@@>]CMIH +MR%8B(7'J$I(.?Q,.'$;K5ML=!YJO)BC?5T"*UK'(H#$R&YN&M?4B/+[(X\QL +M:@'PR4_HZQXR)QM^$IK*O`T8^+#AOCOJ%GS23]QSB'&-N!JH\%/#;&X_S1\U +MJ7?]C$[?S3?3_5(_0C#WL=M*CA6(C%PD\G!UY_$P]'B-UJQQUIYIN[IH&,"* +MC-:QR*.1+FY/C;\)#61>!HQ\6'#?'?4;3FD +MG[CG&.,;\#55\%/#88W'^:/FM2[_`+$B35KXVE]+,UO#):7?U?F5D9?3I&WP +MHIY22'GQ4"E33Y8YM2U6']&/=10Q"Z:.&ZBW)21PU?C#GCN!Q'%M]B1UPYDT +MVPE5DE6WD1W]1E9"07ZWN'CDB<493S^8((6H(.X(Q3T4I3UDI[\S_P`:Y&M@-OF$]4ETS4KF:.>; +M4&@6WC*!+J(E(F8_#(BF4_&J/\(DVY?RBF.NK^\MM5A@<(+"XX11.%Y.;@B5 +MV1SZ@XKQ1>)X'O7!Z:/I<<301PVJPOQ#Q+%13P-4JHCH>)Z>&*FPLS.+H^@; +M@#B)N!Y@;[^2VL[#[$;TQM-=U`PP(Z0K<2W=W:M)1O25;4R@&A<&I$=3 +MOTJ:=L4@UV[9K"ZNHU@T^_@BDCHA>19GADN)(W_>`K14%/@/?VP_;3[)T,3" +M!HRQD*%"5+D\BU.'4DUKF&GV0F%R!`)P.(FX'GQZ4Y<*TQV[A\PN_>?DQVY\ +MV!=+_25MIUVP+PJJR1<:I,4H]>70AZ"G?!GZ0OI=3M;6W5%BD@:YN(IHV66- +M*<(T+K(0&>0_RG96]L-H=/L;=62`01(YY,J(5!([D*G7;%!;0"0RAXA(RA&D +MHW(JI)52>%:`L<=N@'7JN_4_8QF34[R3R\^K2B/ZU97,U41*QN+:YDMN(]3F +MRET7J#4'VVR1XV33;*2-8G,7II)ZPC`<+Z@;U.955`)Y_%OWWZXOZ2?[^3_A +M_P#FG`=^5#<]0D>?<$HUF\O+.W1[+TC*[%424,[2.5;TXXD0I4LW4E@%6I/L +M377FJ]M1/(ULA$;7$0B!)96@B]7F[UW2HW^$;%3WR53Z?970470@F"&J>HA> +MA.U1R0TS+I]DK%U$`8KP+!""5`IQKPZ>V$4!N`?B@WT-?!BMQYGOX'NH/2B+ +MVBW,C2E6".+>*UFX*.?PD_6J'XC3B[;"@*^.2K]&V'!8N-OZ:'DB>F>(/B!PV..^HVG-Y?W/J2#C(_`\F7P8\-QA +MN.WI'S14N_[&)W'FB^@-W%Z,9>R2YE=RK!9!;QV\O!5Y_"Q^L<3N:$9<_FJ[ +MAYO]70H6NHXT(8-&;:9;?U)37[!KR;84!7QR4_HVPX)'QM^$9Y1IP-%/BHX; +M8[ZC9\WD_<2YBC!#`QFWNDL_4E/+=3SYG84&2C +M]'6/%$XV_"(UC7@:*?%1PVQWU"SY2/\`N.4HI*W`U8>#'AOC:KU1-^X2MJ)6EJK#U?3G,'&,!^/_`%O@W^G&X_S1\UJ7>?DD$&MWTK:;6.()<7UQ8W!H +MU3Z*3LKQCE1:F#>I/\<$17VJ37=Y;Q_5VCB#A)5#E8Y`X$<;DLOJL8SR8+QX +MGX:FO+#D65HJQJIA"PGE"`IHAH5JGP;&C$;8B-(TL&0B*UK-R]4^E]ODW-N? +M[O>K;FO?!MW#[$[]Y0NCWLM_8K<3JJRB26*15!`!BE>(U!+4/P[@,17H3UP) +M9W\G#4+]X7F*W3VR06Z*7"0-Z0)/PEJFK;G8&@]SR*U@AC6*%XHXU%%1%95` +M\``F-BL;:&2:6)XU>=@\Q'.C,`%Y$<:5H`*X._8;^:>[]203>8VCNX(3:RV\ +M15'N&G1>:B29;>,!1(#NQW(K3PPVN)3+!,EF\3S(?38-\2JQI56567?BVRDC +MYC!,EC:321RRF&22(UB=E)9">ZDIMT[8TZ=8LLJ,MN5G;U)E*$AW%*,XX?$? +MA&Y\,=MJ%?%=]_U,>TO4IU31K>&"W@M;HSPRQ1*RE'A$IHBUXIO'\0^+>H!- +M*D/%YFU&?3;J[CAB65-.34X@P;BG,.QBD`:K$<*?L[@^&2Q;*T01!#"H@VA` +M4C@*_[$KDUR&* +M[M[!H)Y9Y8XI9'AC+QQ+,S1QF0UV!9#\N^V![_7;N/2M1O+6QE@FL[>2Y0WL +M?&-O34OQ_=O4G;Q&'DFGV4KQR2B!WA_NG9"2FX/P$IMT'3%)+:"6-XI9(GC< +M%71@Q5E(H58%*$$8-MMOM7???[$IO+R\CO["TM6B/UHEI4=&)6&(KL":[_ +M`'-K_K)_Q%L,/23_`'\G_#_\TXC>Q3326AM4%QZ,B%QMQH`U:\Z8Q&Z)%`Q? +M\(A'PD['A7COOWS996_V,;_6__](VS9YI +MS9J78/I;-GFG-BKZ6S9YIS8J^ELV>::::::::7!E("]83V)J96-T"B]3=6)T +M>7!E("]);6%G90HO3F%M92`O26TS,@HO5VED=&@@-#,Y"B](96EG:'0@,S,Q +M"B]":71S4&5R0V]M<&]N96YT(#@*+T-O;&]R4W!A8V4@+T1E=FEC95)'0@HO +M3&5N9W1H(#4X,3$R"B]&:6QT97(@+T1#5$1E8V]D90H^/@IS=')E86T-"O_8 +M_^X`#D%D;V)E`&2``````?_;`(0`"`8&!@8&"`8&"`P(!P@,#@H("`H.$`T- +M#@T-$!$,#@T-#@P1#Q(3%!,2#Q@8&AH8&",B(B(C)R7I[?'U^?W.$A8:'B(F*BXR-CH^"DY25EI>8F9J;G)V>GY*CI*6FIZBIJJ +MNLK:ZOH1``("`0(#!04$!08$"`,#;0$``A$#!"$2,4$%41-A(@9Q@9$RH;'P +M%,'1X2-"%5)B)$@Q=4DP@)"A@9)C9%&B=D +M=%4W\J.SPR@IT^/SA)2DM,34Y/1E=865I;7%U>7U1E9F=H:6IK;&UN;V1U=G +M=X>7I[?'U^?W.$A8:'B(F*BXR-CH^#E)66EYB9FIN2>:.%856+B*NI)/(WLE])(MNLS+914AX-"5C(8E`9*JP:E2-CO7#/ +M`21UM(`[D'Z-[_R[_P#`-_S5F]&]_P"7?_@&_P":LC3:'K19B.S2&Y/-?])5 +MKV"X5?M?[XCD3XJ?:X],K]!ZW_P1/U7XU_T7_2GFK]K_`'VR_8K]GCT.3K^F +M&-_T2R;T;W_EW_X!O^:LWHWO_+O_`,`W_-61G]!ZW7Y,3=?&O^E5NXYQ^U_O +MI7'Q4^UQZ#+70];#`GNR&U/-?]&"WDT[#[7^^7C7X:_9X]#C7],+?]$LE]&] +M_P"7?_@&_P":LWHWO_+O_P``W_-61D:%K8`KT7A];'-3]:(N%E+?:W^`$_'2 +MM>/08Y-$UH.I;^>-K=N:GZLBWLUPR=:_[SNB?#6O&G3&OZ86_P"B62>C>_\` +M+O\`\`W_`#5F]&]_Y=_^`;_FK(Q'H6MJB!A4(L`O$Y*?K3I*7>2A:A_F^.G+ +M[)V&/AT36DDB9]R'MVA?F#]7CCNY)Y(JDU-8&6/X:U[XU_3"W_1+)/1O?^7? +M_@&_YJS>C>_\N_\`P#?\U9'FT>^DDEFCM)+=6G5GMC)&ZRPH\CI(S2 +M5=^@P5_3"W_19 +M'Z-[_P`N_P#P#?\`-6;T;W_EW_X!O^:L`:)92V]S=SR6LEH):*D3.CJ55G;U +M'99'9Y7YU9CVHN]*E:\2]&M64\,3O:)%-'<2#T>*%RO$CF1)^SO3;!9NN+HG +MI=(GT;W_`)=_^`;_`)JS>C>_\N__``#?\U9'M-N/-%[I*W`DD]22.W*NR6_J +M^H"_U@!*QH$IP'Q?$/BVZ##.T779;V#ZTTL%J+:%Y%K;O6X#/ZD;NJ`T*\:E +M5`\",)!%^H;>:@@UL=T=Z-[_`,N__`-_S5F]&]_Y=_\`@&_YJP/K=IHABD11\9531V5J$]L(8="\P((%>7_25$5+WF&]-4MO1>/<\C +M^\J>E#RJ=U&(W%F0"G8_3;)O1O?^7?\`X!O^:LWHWO\`R[_\`W_-61J'1-60 +MP,\-;5##ZUCS0\V2&9'DW;B:LZ=34\>77!<>C:HALG,A^MQZ//97%V7K2Y;Z +MMZ;4)KU1S4#$_P!<(O\`HIUZ-[_R[_\``-_S5F]&]_Y=_P#@&_YJR-QZ)JJO +M&[0$VBNA?3^:?$1`\;2?:X_:('6O[?VL2&@>8A"(S/\`Z9P`_2',=!8?5BG7 +ME_O1\?2G?KAK^F%O^B64^C>_\N__``#?\U9O1O?^7?\`X!O^:LC9T35>9<0? +MZ&9"1I_--CZ`C]3[7'[6W6O[?VL3?0/,1B>-9_\`3"CC](_\N__``#?\U9O1O?^7?\`X!O^:LC\VD7KVT\! +MLF:*XN.4$0>.EM$;=87D$9D5&C>_\`+O\`\`W_`#5D?M;7S%`; +MQT6>,75UZSO6T:X(^IPPJ0I/HT$T;5&QZ=JX<64>K'4+MKR606D;)]46D'&1 +M3$@?EP!?:3D1T^D8FQ_$#M:BC_"41Z-[_P`N_P#P#?\`-6;T;W_EW_X!O^:L +M&9$+K1-;EEN6A/%G-V7FYA?6CEF62&&H/(4C'"I`XTV^T<8DGG*E.W(6R/T; +MW_EW_P"`;_FK-Z-[_P`N_P#P#?\`-61>XT+6Y([@1+Q65+I;*+D@^K22B(12 +MT#<11D9_@)XUH.N*SZ)K3R3-&:$O.2Z2:**H-12$&/>G'MUR5?TP +MB_Z)9'Z-[_R[_P#`-_S5F]&]_P"7?_@&_P":LC$VA:VZ2!!19$N5LX^2CZK) +M(Z&.2@:@Z17"1]:_W",GQ4I6G3&OZ +M86_Z)9)Z-[_R[_\``-_S5F]&]_Y=_P#@&_YJR,/H6ME6"C9Q,+1>2CZJSS^H +MKT#4'PT-$K2G`;''/H>M%V([-(;D\U'UE6O8+A5^U_OB.1/BI3E3IC7],+?] +M$LE]&]_Y=_\`@&_YJS>C>_\`+O\`\`W_`#5D9.AZWV_:)^JCFO\`HO\`I+RU +M^U_OME^Q7[/'H:_P"B@7DL[?M?[Y=% +M^&OV>/0X8:'IFI6=X9;O91$Z3/R!]:5I>:R[$G9:_:H?BIT`P'8'U@J/ZJ:^ +MC>_\N_\`P#?\U9O1O?\`EW_X!O\`FK!F;(<1[V5!!^C>_P#+O_P#?\U9O1O? +M^7?_`(!O^:L&9L>(]ZT$'Z-[_P`N_P#P#?\`-6;T;W_EW_X!O^:L&9L>(]ZT +M$'Z-[_R[_P#`-_S5F]&]_P"7?_@&_P":L&9L>(]ZT$'Z-[_R[_\``-_S5EW0 +MN[73Y)59$GDHB-$G0%U'[?+?!>-O@#:0`[@R("/^>J9*))/X[T2``2^SM)5E +MN[7ZSSEC0.K\8_[R4[M6G[+US8/C2);N6%(8DC:*K*D2*&_>*/BXJ*BG8YLE +M8N^E?I8T:KK?Z'__T)AR9)+]E-&'`@\6;]@?LI\1^C"JWU#6SI.ERPVY-Q<1 +M)#<)/%+SBN&5:22\F1O37XN9ZUIAL',4M](*57@14@#[`[G;"J+S"7T[0KUG +M2FHM$L[$H*%XBQ%*[?%3ITS3@>5\ON=D??7/[T1;ZIJ,FMM826K"RXR\;@PR +M)\<7I`?&>2%7YOQ^6'6$^GZ\M_?RV'H<&1KA`P<.1]6D6%O44`<.?(%?'?PP +MXR,A1&U;)C[[8=J":TC:DD1NPMH0;>5&E83_`%J>.47^CHK(?8XG:IKU +MSJ9@,MS#^\NF,S_6%A7A=(8^"L"C`Q!@JL:4PQU#S--%;ZJ+6&/ZU8P7,\*O +M(6#_`%=N!9@BTZG[/*O8TKB^I^98-+A@DE6.5I`S2+%+R"HCI&Q5B@#&KC8T +MRRY4!PC?E\F'IYV=E&WN+?3-1U";4[V6VM(6B2WFO9G2!BT?Q\6G(C8\@?LY +MK^XM]3N=*GTN]EN+6>Y:"YEL)7>%8UM[@U=KC>C)%Z%YB.?<$[5--3U8VU_@@]3XQ\ +M?1=\.\V/$.X+1[TFT5_,#7%\-:1%@#CZD4X5*<16O!F[UZXRYU?4(]<;3+>% +M98E2TD($;EN-Q)/'(S2`\$$8AY;_`&N@WP\PIN+R*VU^SMN$:M=PR\I?@#L4 +M*<5K]JGZ_HQ!LG8WX*'UMKQ19_5_4]`SD7AAY%:80PR^:R("ZR? +M7:1<58$0E#;5D]6@XS^IK"PC2XG,4TY`/IJ(I)01S^ +M'XF0+OXX10^9=8D6&5K<&9O1`LE6AD62U^L-(M:N/CJ!U`"D'<@B4`>'8`^] +M$JOF?@Z&3728!+]:^HDP_66*R";F89C)2B\^//TZ\13E4#X<9'+YM].,NLGZ +M0I'12#Z/#ZBK/SH.%?K7+O7[--JXI#YAU*1H(FE3T)O1,E\%4!#)#-,T8JQ0 +M?%&I%37BU#\6^,C\S:R\4DITI12#N=I5+?T +MQY,;'>5\WV,3$OF[T02LGZ1X# +MX:'T*?4.1[<*_6_>OT8K'Y@U%I(X#*@MW=.6H<5HI:!YC'3EPZJ&ZUX?#]KX +ML2'F?6C`+@VP^L<1_N/X[[V'UWE_/_??!TIVZXU+^;'DMCO/-4,FN@"/V>?'GOTISV^QMB;R^;O2O +M7MBI\P:B)#!ZJ?5PY`U#BO&HMQ/Z=.7#J>76O#X?M?%B3^9]:6%[@6P^L!7_ +M`-Q_'<<;`WH;^?>8!.E*&G7&I?S8\EL=YYJDLFNNOJCZB5J4 +M"69NED:GQG]X`IZ"C`#<&J!+^;'DMCO/-T\FO#UQ%]:^ICU_JC`2&;U!#`8J +MU7F5]0RTY"G*@/PY);JZN+/1YKV54^LV]L\SJ31/42,N02/V:C(Y/YAU*(W$ +M:2+Z,`G:*]*J1(T4,$J1FA"'XI7KQ-2JT'Q;Y*DE9[19I8^#M&'>)C2A*U*$ +MM3ITR$[]-@?!E'K1+%CYHU0B.-(4-T3/R@]"?U/@B2:%3&&/$ORZU8#8^V&= +MO>ZG#=ZHUZDC0Q@2VEO'`[$J($=D213P8\^2TZD_=A9^DE;2M)N;2.UCEFNS +M;O)2-#&:N',=$D52WIBNW3#J+65DU>32FC5"I(1^=6;BBN?A52!]KH6KWI3# +M(=T>^_@5![SW?:WH=_?WT5Q^D8/0EAF$:$1R1JZ&*.3FHEW^T[+L>V$EU+YD +M$MQ]7$W.MWZE%)40B9?JY@Y#CS]'[/'J>7(;#)?D1NO,6JP27'IHK%3=J8BM +M?12"98HYVXD,1P/-J['D*$4-1#@+CTPET=-H'+&8 +M"+T!+R'(KSY@>I2J]=Z8I/+YD$LWI"?ESN?7HI*B$72"`P5''G]6J1QZFM>V +M-N/,>JQ)B)JCEQZA?4I5*D_%3'RR^9/4DX"?[JQK-Q`(@2Y>WGU:A%`",?+YBU5)'"JOQ/,DJE:_5 +MECO(K19&H:T]*1I#RZTVVQJ6WIBMC?+<1/0";]'T#U+B>B">HKQXT +M`]2GP5)^+'/+YDYM03_:D^N4#4"?78%3T-J?[R^K]BO8_:RG\QZJJO11^Y$Q +M@8JI-T8Y_16/8TK3X3Z?5B&%%VQS>8M5#$!5^-I%F'$?Z,$O8+-6._\`OJ5W +M//NA/V<:E_-CS6QWGDM,OF7L)]B?J&S[GZTX_?[=/2X?WE/AJ?M9C+YDJ=I] +MV;Z]LVP^MQ@>AM_OCU/L5^'B?M99\QZJ.7PK^Z)]#X1_I5+I[?CUZ\%4?!^T +MP;[.V6?,>JU'PK^\9A-\(_T6EY':[[_[[=OM_M(3]G;&I?S8\UL=YY-"7S)4 +M5$^S)]1V;=?KDH;U]O\`EG]+[=-N1^UAAH;ZPUX1?"7AZ+FY]0,%$_J_`(N0 +M`IPY?9VIQ[UP`/,>JD_97]VR+".(_P!*#7DMJ:;_`.^XU/P?M.#]G;##0]7O +MK^[]*X`XO"\LB``&!UE],1&AKN*CXMZJ3T(`C(&CM%((L;ED&;-FREL=FS9L +M5=FS9L5=FS9L5=E7O^\L'_&1/^3J9>5>_P"\L'_&1/\`DZF3AS^7WHER^?W- +M)_QT)/\`C%_S-7-F3_CH2?\`&+_F:N;#T_S?]\Q_7^A__]&9(P6:^9E+@<"5 +M`+$_`-J`$X`36['ZAIUW-#M?0B=."C@M0E1REX;DN.*_:/8;8-K$)+\SD"(< +M.9)XBG`?M5%,+D_0+V.E+]6C^KWP$=I"60A4E02%`.=&3X%!"U'3MFF%=0>G +M+W.R-]*_!1>FS6`NKRUL8)5*3R?6I6#I;N)$J5Y#I4>'B/?!('G1^ +M*1\/@QMO-!5U/U1?]+9TMSN".%W!85E/'X@3<*_P]*%>U?O(FDV[+R^U0990_F'FPL_S@U_BE +MAP`M%'UTD6_VMJ7,=I6;X?BVF5_A[U3MR-KYI;XP+4`6;(MP/BWYW4UC6+X? +MAIZ#/\7B%[U&_3.@_O?]#7_2V/IFB?O2+A(B6W_=_O95D^+LW+[51EC6=!K% +M_H:CZJRK)LG[IFN9(%X[_O*30.^W9>76F-#^8>:V?YP:'FR1A#_HU#>!6M?M +M'@K3+!^\%/B(5PWP=35.W(VGFN1V327DVGUB/&@`:`O\74$ +M#;KC1K6@%7I9J/K95HJA`)*S!0S&O[OB[B7?H&Y?:J,%SMTIR&/"/YAYK9_G!;'YLDD$`^K`->K#):GXCP65^)$B +M@5L:$TL'"R"F`PPL2J`P +MN]P]K&@6OQ<)E;<=.HZX\(_F%;/\X+(?-DLPM1]6"O?QV\]L?C8(EP'>DB@5 +M=D1/V/M,>.U*ET/FQYB'^J\8XWMX;@6W4XF(_F%;/\X(W1-)%#\)Z5]\$7/Z.?5K6&:-7O3'(\+\@&15*U^'D&^*O +M4"FV^0('$=B-N7P9`FAO>Z!T_P`QV=UIZW5W!Z,Y@MYY8J+1A.'%A=V]_9PWEK_<3*'2HH:'Q&1V2^\L6\LD"6?.*!;&%984+BD]Q)!` +MJ<=Z1R!C4>/PU)IAU!=:38F'3(&2!N"M%:*"K*DC$*>%*J"P(WPR`Z1(W^Q8 +MGO(+M4OFM#:01QAY+V8PJ7!95XQ23EF5=VVBH`,)8O.`DBCOC:%8`8XY5!+2 +M!I;=;JJ-0*0.2K0T+;G]FA.=7N+2%+>&ZA$[7$OIP(U%'-8WE+%V^S1$;?Z, +M*8M>\O%X+Q+8)&JQHLY108BT'JHOICXJ+'(%)4&G.G0FAB!7TDHD=_JIT7F. +M>66&P^JQK<7/I2*WQF)5ECFFH1Q#,0T!6M*$$/\`Y.))YR5[==1^ID6_P(Z5 +M)E#26::C56IQH`ZI0]=SVH7Q:GH;I'91Z>JRS-&\5O\`NP*/'(4)<'BI58GC +MXUV/P_9WRT\P>72T=^ML%A"HHN."@H6M1=*/3^U002!:@;>/3OJT8N965@_P`9B"O&TVXX\B0R<:]./[S_`"<0'G-3;#4_J9^K +M<0.%?WM39#4NM.-*'A3QW]L534M$94L%TY1,\BE+;]V!5HFXMZG+B#Q4P\:] +M?A^SOE#S#Y<--0%L/0X`?6>"UWM/KE/3^U3ZN>-:?Y/3&A_,/);/\X+SYBG$ +MYT[ZM']9#%N?Q^EQ$0FZ<>5>9XUZIRXUX_N>-:U^#[.^9O,/EP +M%]0:V!@X,#<<%)/&T-VP]/[5/00K6G;CTQX1_,)V6S_."Z3S%/'-+I_U6,W, +M!D#+05(V;]J@=)J6B(CV+ZKR0&62:W_=D42.)I"'8\7++.B<:[D\3MDE1XKF!70\H +MID#*=Q56%1X'HFF43SWM*%U>$Z997I@4"ZN([#FT=%+IZPIRZ[_5GI\L&?H?3/JZVOU9?01_56.IX +MAP0X<;]>0K\]\N/1]+AG%U':QK.K%Q*!\08^I5J^/[Y_^"."X;['K7Z%J6W+ +MS1N1BX\TM;/(_P!4#(SW$$.Y5O4MIOJP,C<2.+MR.VZBFQY;2?`QT^P9Y9&M +MHV>=624E0>2O3F#7^;B.7C05Z8(F(^H6D@]#3'I_-3VZW*?559M.CN)YS1E# +MI;+')2-:$HS)+^U]EAQWK7'S>:6A=F^JAEEDN((-RIYV]RMC65N)'%F;EMNH +M\:['ATS3V1$:VC*QEF4%0=W(9JUZ\B`37KCCIU@S2NUM&6G#+*2H/(-0L#_K +M4%?')<4/YJ*EWL>E\U/$LZ_503IZ3S7!HRAE@*T$2D51F1B?C^RWP;UY!\GF +MEHW_`-Y01N6=.L"TK&VC)F!$I*CX@QY-7YG<^^/%#^:M2[V/-YJ9!*/J@)L +M%D>XV8:65E_P!%'^ELZ6^Y%#'=P:?64\?B +M!-PK_#TH5[5P^_1NGTC4VT9$))CJHV+-ZC'Z7'(^+;]V_=#C\)XQLWQ=Z)W +MY#'S4U4_T4?Z:2+?[6P%S%9_O?A^+:97^'W3MR)_^C=/_=?Z-'^Y-8OA&QY> +MI7_@QR_UM^N;]&Z?^]_T:/\`?&LOPCXCR]2O_!_%_K;]<>*'\U:EWI"/-+$O +M_HH_T-E6X^UORNIK&L7P_#3T&?XO9.]0-TC7&U&Y6-H!&MQ"]S"16H5'$7&2 +MH`)(935=JU7]FI,?T;85B_T:/]R:Q?"/A(;U!_P_Q?/?KCX;.UMW>6"%(WEW +MD90`34EO^),3\R3B3"C45`EU*OFS9LK9.S9LV*NS9LV*NS9LV*NRKW_>6#_C +M(G_)U,O*O?\`>6#_`(R)_P`G4R<.?R^]$N7S^YI/^.A)_P`8O^9JYLR?\="3 +M_C%_S-7-AZ?YO^^8_K_0_P#_TIE&"T]Z`Q0DI\2T+#X!N*@_JPK2VT=+72+$ +M7DD4:!9=-C\C^QV1]WXM&R:7IMTNH6W +MJL4U%9%NH4DZ\T6&0@=B54#V[4PS12J*I8L5`')J5-.YI09&M.\LV.EZQ%<+ +M=K]9;U9DMPJHS*6D+D#D3Q5KG_B.2;!+H`;'R3'S%,:9?+'*3DS;%_J_]Y0- +M]:C,GU7_`*.N'V?VN-/AIE%?+'PU9JL3]:^WO_I)K];]OK->NW4?8KE-HFBE +MI*WR@VC.\8Y)6%FN8KMO4_GI+`B_%V''K4Y7Z#T2B?ZWUGCTVZ?L4S! +M?+%4HS;E?K/V]S]:D +MO\_[R)8_B_97C]JI.&B:+6/_`$Y3]<96E')/WQ6YDN1Z?\E99W3X?V3QZT.. +MW\Z7-=^X+E7RQ0\6>JE/JGVZC_2/@^J?Y/K^&W0'X*9:+Y8Y1^F6W,?K?WE" +M_P!:D,?UK_*^M<_M?M5KMB8T/1`K?ZFU-F^"F.B7RQSA]$M0F$N!ZG$O]8"2C_=G.GI&O4"@HU6Q\>B:,DL(6^5 +MC<-%,ZED+3/'MRIRWY?:_9Q* +M+0]$CC5DOD;ZBL$$#$H5C2+G'&DH_P!V7=@NQXBE-ZMC^=)=^Z*-T0:,&;]&%B1!"(^?+:U!?T +M!%S_`-U_:I_M8*N;:WEU.TFDDE6XC20P*H_=\:KZG(\3NU1U/R[X$T/3M.LV +M8V5RMR8H8;1>)7X(8>7IAN'5C4U8]:?/%[JRCDUFRO1/%'/#'(J1%*R2(Q7U +M/BYJ:+M3;8GWR)KB.YY=>?)D+H;#FA(M%T8),4:2.-###\;%1&;.8W4`C]0= +M(W:HZ@CQ&&*6EI#?+=B9OK$D*P!7<'FB%I`=]R07.^$]QY;N1$$M7MVKJ$>H +M<7C,:(57BP509.70;;=]\5/E=`]@4NY.%@(!&K"M?0I-' +MG,[J+_FICJOZ/6."74)?0X3(+:8,5999*PKQ(_F$A7PH<0CT/14:)(XU],!6 +M2VYDQOZ5K>5[691'#%5)(3R^KJZVO +M"C?L\Q:C_@??$KC2/+^H6ETVIW4%S'V^JG@1N$]'XN/COTPV.LI+OW15$@T"2&6X+RK+% +M(BRS.TBW`,L:PQI4_%Q:)E`]_B^V"O+TN#>H4_F^+!8WWER*_`_)F$AF< +MMSN/4;U6#H(60N#7B8U`_P"&^UOF;R]I+\U:W!A?E_H]2(@SQ?5G=4'V28OA +MV]^Y)(HZGIPB]8FG]1A*ZRHL4B,X(-&2-1MX`C??#-$5%5$4*B +M@!5`H`!T``P/^D+'T/K7UF/T.002\AQ+$T"@^-<$$A068T`W)/2F`D];2*Z- +MYLI65U5T(96`*L#4$'H0Y;"(S8&_2%A2-OK,5)B1$>:_$0>!`W[-M\]LOZ_8UE'UF*L/]Z.:_#0\3 +MRWVWV^>-'N6PB,V!OTA8_NO])B_?&D7QK\1KP^'?^;;Y[9OTA8_O?])B_<[2 +M_&OPFO#XM]OBV^>V-'N6PB."9)'C-)%1@2NY&X'N",:*VK9LV;`KLV;-BKLV;-BKLV;-BKLJ]_P!Y8/\` +MC(G_`"=3+RKW_>6#_C(G_)U,G#G\OO1+E\_N:3_CH2?\8O\`F:N;,G_'0D_X +MQ?\`,UE`"U4X@F@)X"E30T^["J'1]2M]-T +M6TC>/UM,,8F(FD1'6-/3XT5/BY=?B&V&5&,E^%Y%CPH$X\OL#[/J?!7Y[856 +MEMKPL]%M&,EH(H&AU)HA;5#+&JHR@\UIR!IQ'S'3-./>!RY^YV1]Q^'O5X-' +MO8]<&IRS++$HN5')GY\;AH610GV`(_2X[=>O7#S([=6.M7B:@DLLGI_68VM+ +M07])?"GU<)\/B6[TRO\ +M*3GU?])7_2R?K'VO@'UA[K]U_,:2%?B[T;M3`[>7]7+DBFS2-<'D/]*5KV"Y +M53_SQC=/C_GITRO\/:O[?$2;;XE_T7_2GGK_`,BV7['=>/V37++/\\<^YC7] +M$\D3_A2?]W_I*_Z*2;?[7QUNH[O][_+_`'07X>Y+=Z9AY4G!D_TE:73(UQ]K +MX.%W->TB\:^N5^+P#=J8&_P_J]3T^%B;GXE_TJMW'<;_`//-&^WW;C]D5RU\ +MOZN"":?$R&V/)?\`10MY--H +M&Y`_5D2]FNF0=_[B1$^'KQITQL_SQS[EK^B5:/RG<1B`_606LEACMP"P]187 +M+DR']EBO3CT:K;UICHO*LT3?[TJ5ED@FG-&'%H+N2^XQ#IQ8R<-^@\<"1^7M +M75$#4(C6`72%K^B5:#RI<0BU/UA6>QCMX8!5@)%MPZ\I&ZJS*^W' +M[+?%O6F.A\J30E4^LAD=[::=@""KVUP;OC&M2.+$A17[(KUKL$@\O:O&D(D` +M*Q):I=Q\E/UJ2'U/5EH?A-2P?X^I^$[`8^#R_K$;PEV!96M6CF#@_5TAN&FE +MA%?B-8CZ?P]:[]!B2?YX^2U_1*;:'HDNE,&EE$GIVL%E'QKNMOSI(W+H6Y]! +MT^G!%U9WDFK6E["1]7ACDCG1I9%Y>I3<1A2E5IUZG`/ES2K_`$YR;NB@6MO! +M)1@?5GBY^K/\/\W(;G?QP9=17OZ;L;B*)GM4BECG;]S13(4XD%B)?V?BIMTR +M!^H[@[<_@R'TC8C?D@7T"_6WECBNV,GKVYMV,LJ<;6"=9S&[#D2[KR1F[BE> +MF'\,201+#'7@@HO)BQI_K,23A`L7F0:87,TQU!KF,&,BVH+=;GDY78+5K20`B3E%;BUXH +M-U`/$,">GQ#]JH-];LI[P69B3U8X)S)<6Y*_O$,4D8'Q_">+NK;^&$,/EW6T +M$"-,!<((J7P:IC5+7T'C%?C/[RI\#RJ=P,,3M]0")#?Z;1` +M>O;<=ZA*'0-30PN\*FVC,/K6'-"'9(9HWDW^`U:1.NY"\C\6V,C\N:ZL<<;3 +MCZTHC_W(M&;B, +MH!%\?I%4B>&M?M5J]:=./P?Y6(#R8XM1I_UL_5Z#]]OZO(6(TZE/L]N=?H]\ +M9'H&I*\(R?R?:8#QI\7VML3'EO71"(C<#ZWP`_2/+>@ +ML/JG#^?^_P#C\._7&S_/'+N6OZ)1Q\M79N#?>M']8+$>C\?I<3"(:U^U7D*T +MZAY?:VQLOEW7'6:-9Q]9825O^5"ZO9FV6,T^,?O2&\!QJ-R +M<;VKC')?\T\T:GEVZ31M-TWC"TEC-'*Y]60*XCZT/"H+?+;)#=0"YMIK9C02 +MHR$^'(4[4R)3^7]3D]=DA'U>7UQ!8ED`C>2&"-)-OA%&B?[.XY]LH]=J8S<:+JZ6VE6%K\(AAFAFFBF +MD6-"8DCCE?XE9B'')1QVZ>^'%EIMQ#J%W=W4S3+(R-;?O9**!$D4@,6R#DRE +MN_7"^UMM=2PTNT426ICGE2^:,6M?JY27TV4#DE0[1_9'8['N*-OJDDVJ"Z:: +M:T"\;*W1H8_65H%5U]1.,B-ZG*AJM*]?`DGE8Z_>@`YFA-"Q+W,PN.,BU`X*:@TW84Z<=S/0K-[*TD22'ZL\LIE:!>`B0E5'& +M!(F8*@I\R:L>N$EUH&KRRW!B(5G-VSS%P/7CFF62*`D?$*1C@:_9IMU.".Q- +M2`\TRW`L6JW'E2XG%VWUA5>_CN8)UJQ$:W"Q1\HVV+LJQ;\OM,:[4ICIO*LT +MS-_I*JB27$T!H26:XNEO>,B[#BI7CM]H>%,"7'E[5Y([@1@*LR726D7)!]6D +MF$0BFH/A%&1G^#I6@Q2?0-7DEF,9`)>Y:23F!]8CENDGBA)'Q"D*F/XNG;J< +MG9V]88US])59?*EQ*+@_6%#7R7$5P*L1&LY6C1MU9E5=^7VFHVU*%TGE6>1@ +M?K"A89)98*ACR:6\BO\`C*.@4&+AMU!KM@2;R]J[I($H%E2Y6TCY*/JKRNAC +MEH/A'V>?P=#\(V)./ET#5VDD*T^W,T[

17*1FF_P#75J-M3CCF\JSLR'ZPM+9I +M'M_M?&7O(+^DOA3ZN$^'K4GVP(_E[5V5@M*.)A:KR4?56>?U%>@V'P_%\'0C +MB/A-<P72J?^>,;I\?\`/3IC9_GCGW+7]$H@^5)S +MZO\`I(_TNOUC[7P`W#W/[K^8TD*_%WHW:F;_``I/6/\`TE?]%8FW^U\=;J*\ +M_>_R_P!R%^'N2W>F!CY>U?M3XB?JPY+_`*+6Z>;E_P``R_8[KQ^R:Y9\OZO4 +M]/A9C<_$O^E`W<=P*_\`/)&'Q]VX_9%<;/\`/'/N6OZ)Y(@>5)P9/])7_2F5 +MKC[7P<;N:]I%_-_?E?B[@-VI@[2-#ETVY6628.D,+V\(%:LKR"3F]=@1Q`H. +M_(]Z`I'E_5P1T^)D-L>2_P"BA;R6X-/^>4B#X/Y>/V3AAH>DW]C>&6YH%$+Q +MS."#Z\C2\UEVWV6OVM_BIT`P2)H^L%(&X])#(_[RP?\`&1/^3J9>5>_[RP?\9$_Y.IDX<_E]Z)08Q>HWID"6L@''H')/T4RK75+BXU*;3FM0AMN332>H316IZ#`&-0?4 +M'+O\/$]<,\$CM55=%([[8']Y^S7]K+;S!JX<@4W:1;@<1_HJK>P6RL?^>, +MCO\`'_)7IE?XAU?V^$D6WPK_`*5_I3P4_P"1:K]CNW+[(IEM2[H\VNQWGD[_ +M`)V6I_O_`+1^O?;Z?6XZ?5_;T/4_N_V>/[66O^)*BOK_`&D^I?:^S]7H +M4WIZ?*OI_LT_:QR?XD]1>7K_`&X_JE>5/3^NS<_K%-J_5?2KS]Z;XU?,.KD" +MM*/P^M'BH^JEKA8BN^WV"1\?0CE]DTQR>8-7:10:;/&L"\0/K*/>S6K.._\` +M<1I)\/3E7IC4NZ/-;'>>2R/_`!+P3GZ_'C!^D*\Z^IZI]7T*?%QI]KT_V*4^ +M*N/A_P`2>I%ZGKUYV_U>O*GI?6Y/6]>GP\OJW&O+OTWQD?F'5V1"U`)%@-T_ +M%1]5:24H\=3L-OA^/H1R.QICX=?U=Y(E<`$O;K$G`#ZPDEW);R2BN^T*B3X> +MG?;$B7='FMCO*R#_`!+PA];ZQPX6OZ1KZG+UOWGK^C3XN/+C7T_V*4WKCX/\ +M2\X?5]?U.5KZ%:\?2^L-Z_K\?AY_5^O+O3CWQD'F'5Y(X3(0%E2U>[DXJ/JL +MDWJ>K%4_"*%0GQ]#\1V(Q\'F#6)'A#J`S-:K'"$`^L)-<-#+,*_$*1#U/AZ4 +MWZC$B6^T5L=Y3#RY^E^9_2/JT^JV_K>MR_WK^/U_3Y?L]/L_#X8)O+W5HM7@ +MM;>W0V#+&9)G65F8N[*ZJT2LJ>F`K?'LU>HH3@;RYJM_J+D7=&!M;>>2B@>E +M/+S]6#X?Y>(V._CC]1\R#3M1DL&@5_3C@E!]4!V%PTR?#'QW6/T:N:[+OVR! +M!XSL#LR!'"-RA+C4]?FTG4W:T:*YCM^=LD<,_(SGU*VR\'#/QXI^]2BGEDF1 +MQ(BNH(#"H#*5/TJP!&1.R\[_`%M'E:R6.*%$GN']?EZ<+XM(9[F'ZO-(@=X.7+A7?B257<=]L$P1SC6Z8D'D;06M_7*6?U;U/0 +M]<_7/1Y<_3]*3C3T_CIZO"M,(8?\5T@Y^K]=I%QY5]'A]6_>>K3X.7K05^,?O*CP'&AW(R4`>'8#XHE5\S\&X/T]6'U?K?U&L/UFOJ>OS] +M&;U*4^/CS].O'X>5:?#C(_\`%OIQ\_4^OTCI6OH'PTZG)5+?:/)C8[RJ1_ISG'S^M_H_FGJ_WGK\O0?E3] +MOCSX]/AY_P"1B0_Q=Z0KZGZ1X#Q]"GU#?_(K];^GZ,5CU_4F>.-IU%JSH'U# +M@E%+0/*8_P"3[2@^-/A^UOB8\R:Z81*;?T<_\`(Q-_\7>D_'U/TCP? +MQ]"GU`\:?L5^M\??KVQ0Z]J0G7&I=T>2V.\\U\OZ=Y2^G];^HC'PK7X^//GU^'E_DXV7_%G&;AZGUZDE:5]'A]3/#TZ_!R^L<:=Z\J[ +M4QTNOZDC2QI.IM4:01ZAP0ARL,2V.\\VY_P!/_P"D>E]:^I_O_JM/4];U +M/1@]*M?CX\_5IR^&M*_#DN@];T(OK%/6X+ZO'ISI\5/IR(S^8-3C]=4F'U>+ +MUS!?%4(D>.&"1(]OA-6E?[.YX\1ODI>Z>'3FO9H7,D<)FDMXQR>H3F8U'=NP +MR$P:CL/@SB19YHG-D3N?.;6SPQ_5K>;U_L/#>*Z;O:1#D1%4?%=[U'12>^"[ +M/S+-J*@V5I&9&B$L=O-<+%,Q:!+A:)P:J'U`O+QR/ARJZV]Z\<>5LAS8!TK4 +M6U2V-VL7IP,Q%NU22ZC8L59$*_%44]JY'KK7]7BEN%B`9D-VKPE`?0CAF6.* +M<@?$:QGF:_:KMT.(@22.Y)D`+9?FR&7'F'5XTN#&0RPI=/:2\4/UF2$1&*&H +M^$U9V3X.M*C%)]?U>.681@$A[E98^`/U>.*Z2"*8@?$:PL9/BZ]NAP^%+RW1 +MQCS9?FR&3>8=71)"E"L27+6DG%3]:>)T$<51\)^UP^#J?B&P(Q\NOZNLD@6G +MVYDG7@#]61+R*V20TW_N7:3XNM-ML?"EY+QCS9AFR&/YAU=58K2B"8VK<5/U +MIDG]-4J-C\/P_!U)Y#X13'-Y@U<.P%-VD6X'$?Z*JWL%JK'_`)XR._Q_R5Z8 +M^%+R7C'FS'-D-/F'5^U/A)^K'BO^E4NGAX_\`J_8[MR^R*99\P:O4]/B9A<_ +M"O\`HH%W';BO_/)V/Q]UY?9-,?"EY+QCS9CFR'#S!JY(Z?"R"V'%?]*#7DMN +M:?\`/*-#\'\W+[(PPT/5K^^O#%"Q;;[K7[6_PUZ$8#C(! +M.VRB8.S(6# +M_C(G_)U,G#G\OO1+E\_N:3_CH2?\8O\`F:N;,G_'0D_XQ?\`,UFZ?"+<16T2"TY"U"H!Z0;[0C_EK[9I; +M'4=WW.SWZ?C=+[OS`D2W(M[>1WMKB.T>1P%B$LLD,:U:O(C]^&V'0'!>DW[Z +MA;R22)PDAFE@>@(#&-BO(!MQ4=0>AVWZXN+&R43@6\=+EN=P.(I(U*0 +M6%9?&OU@/\/@5[5RO\5SCU?]&7_1"?K'VOC'UA[7]U_*:1EOB[T7O7)#]0L: +MRGZM%6;^]/!?BJ>1Y;;[[_/*_1]C^Z_T:+]R:Q?`OPFO/X=MOBW^>^2XH?S4 +M5+O8_P#XKG_=_P"C+_I1(M_M?!2ZCM/WO\W]Z&^'N"O:N8>:YR9/]&6EJR+< +M?:^/G=S658O"GH%OB\0O>N2#]'V/[W_1HOWV\OP+\1KS^+;?XM_GOF_1]C6( +M_5HOW/\`=?`OPT/+X=MOBW^>/%#^:M2[V/KYKG80_P"C"MWP-O\`:/`-.L'[ +MP?M&C@_#U:J]N66GFJ=V8?5U`MWCBN-V/,R7DVG\HCV`,!?XNM0/?#_]'V%) +M!]6BI,:R_`OQ$'F"VW\V_P`]\OZA8@Q,+:*L-/2/!?AH>0X[;;[X\4/YJU+O +M8['YLN)!`/JP#7JPR6Y`8^FLSE")!^TP7IQZM5=J5QT7FJ:5O]YE"Q200SBK +M'DT]W)8\HCTXJ8^>_4>&'_Z/L.,BBVBXS$&4<%^(J>:D[=F-1[Y8L+(-&XMH +M@T(`B(1?A`W`7;:F/%#^:M2[V.P>:[B86H^KJKWT=O-`:,1&MP';C(O5F54V +MX_:;X=J5QT/FN:8J_P!6"HCVT,Z@DEGN;@VG*-J`<5(#"OVA7I3<_&G6`61! +M:Q!92#(."_$5/)2=NQ-1EBQL@\<@MXP\("Q,$6JJM>(7;:E33'BA_-6I=Z6Z +M'K.ZDB1IX01%*0"RANO +M$]JX+%FA0(Y)HT+.Z7+YBM#:&^]"X%OZT=NKE!\4DD_U0!5#H'X]*\OBKXXNT,32I.R*98PRQR$#DH>G(`]J\17!<>@[_V+1[^Y!:I?RV36 +M<,*AI+R8PJ[`E4XQ23EB%W.T5/IPDB\X2211W9M*05B22,$F3E+;BZY(=E(' +M(*`>OQ']FAD\]O!QIC\/F:[EF@L_0C%Q<")UE^,QJLL4TU"-F)!AI7H00WMB4? +MG)WMEOOJA%N>"M$*F3D]DNH54_9H.82G?<]J&1#3-.$1@%I$(B0W`(M*@<0: +M4[#;Y8\65F)%F%O&)5'%7X"H%.-`:?R[?+#Q0_FHJ7>D">9;M[B.Q]&,7$A0 +MB7X_2"O$\U*?:K5*5Z1L1J-:_9[\*?3[9( +M_P!&:<(O0%K%Z7+GPX+3E3A6E.O';Y;8_P"I6?J^M]7C]6G'GP%:4XTK3^7; +MY8\4/YJU+^A]4B]+ESX<%X\N/#E2G7C\ +M/RVQ_P!2LS*9C;Q^J1Q+\!4BG&E:?R[?+'BA_-6I=Z02^9;N.>:Q]&,W$)D8 +MR_&(F6.*.:@'V@29*5Z<1S_R<1D\XO'`]Z+2MN#(B1&HDY1VC7M6/V:'@5H. +MGPGO02(Z9IQB]`VL1BY<^'!:U6:1I#S$;K#%!-Q`W92WU@"N]`"V_3)) +M!*+B"*=05$J*X5NH##E0XB=,TXQ"$VL1B!+<"BTJ1Q)I3N-L%9&1B:H4D`]3 +M;LV;-D4NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV*NS9LV +M*NS9LV*NRKW_`'E@_P",B?\`)U,O*O?]Y8/^,B?\G4R<.?R^]$N7S^YI/^.A +M)_QB_P"9JYLR?\="3_C%_P`S5S8>G^;_`+YC^O\`0__6F<3*ES>NY"JI0LQV +M``05).*F[M54LT\84$@L76@*_:'7MWP%!*D*_H.(IN#'KP<@'!N%-CH]C:7[30REI81,4B^&J"[D]>3D0*FK)\->@PV +MQE5[)%]5&[NH;*$SW#<4#*@H"27D81HB@=2S,`,`_P"(-,VK(U0:3#B?W/[W +MZO\`OOY1Z@*_>?L@G%]5M[6YLF2[D]&)'BF$M0.+Q2++&?BV/QJ-N_3"3]#: +M!2/_`$Q?]+-)=T_>_OVDXKM^[_>2M'MV;C]JAPQ$2-[Y]&))O:DT_P`0:9N/ +M4;JR?03 +MT!.%7Z&T'][_`*8O^B,?3%4_=$W"2D-M^\_>Q+'OV7C]JIRQHV@UB_TQ3]:9 +M6DW3]ZRW,EPO';]W6:=TV[-QZTR7##^E\D7+R3,>8-,/21B6IZ`XG]]RD]!3 +M#_,/4VK_`++[)!RUU_3&*A9":E5D/%J1%Y6ME67;X2949/F#7;"D:+H`5Z7B +MGZH56*I0B.DP8*PI^\Y.@BWZA>/VJG'+H^A"2*EZ";IDD<%D)F9;F2[5@:?! +MRGF<;=:\1CPP_I+CZ$LL'"]#&@Z8\,/Z +M2W+R3)/,.F2!3&[,THC:V0*:S+,66-X:_:5BAW[#*WU-8(8"2C!$C+Q1(ZT_>\P3' +M4_:`H/B!.*1:-H*2VZ1W@?UO0F*ED8S-%,US%(&`^'G**D+LW';H<>&']);E +MY)DGF#390GINS/,(VMH^!#3+-S,3Q`TJK"-C7L!4T&#K:[M[NVCO('#02+S5 +MR"NW^4&H5([@],C<.CZ#'&DD=ZKFS$$,#'@P5(UEBB1D`_>-339EB<[]`IK3+3S!I4IC,<]8Y!'^^XD1J95+QI(S`<6 +M8#H>FP-"14IATG04CCGCOE=K7T8H)#P8!8TGAC1D44DYI<25/[5=NF.AT+R^ +MLEO;1W0D2189!$71C,43]V_-0#\83D0M`W&HV!K+AAO]2+EY)FGF#3I`@C+F +M67TS#!P822+*KRQNJFGPLD3G?^4UWVRT\PZ3(4*3UB?C^_H1&K21^NB.Q`XL +M8QRW]@=R`2F'2M"2..ZCOU=[?T8X)_W9'&..9(U**.+\UN)&)I\1-1MCHM!\ +MO!X+-+D/&RQNL!=292L'I(WJ#XJ-'&&(4BO"O0&KPP_I+'ZTJL_8F+X +M]^U.Y&%46F:&B1WL>H*TL+1I%7_`"Z& +MCL%N0T)5&%OS4ERMJ+53ZGVJ&",-0'?CRZ5QX8?TEN7DF@U_3VHJF0S,0%M_ +M3;U2&C,X<)2O'TU)K_L?M?#F'F+2".8N!Z!%?K-#Z53#];X\^E?1^/Y>^%:: +M;HBJE^NHJ9DD4)<_NR*K$W%?3X\2>+&;E3K\7V=LH>7O+@IIXN1Z'`'ZMS6N +MUI]3KZGVJ?5QRI7_`"NF/##^E\EN7DFOZ?T\`K63U@:&V]-O5H(_7Y\*5X^G +MO7Q^'[7PYCYBTA07-P!``2;FA]*JP_6V4/TJ(?C^7OA6=-T0H;\ZBOK&0J;G +M]W2IA'P^GQXUX_ON5*U^/[.V9O+WEPE]/:Y`@X,3;\U!'*T-HQ]3[5/0%9!$TB"0] +M$+#ETY=/EO@'2+>SC%S<6MP+F2XD#7$B\0.2HJ@<4``JM&]ZUZ$9AHT`O;Z^ +M/%GO413RC4E."&*H;J:ACD"!996:"K=:M96L7JES*N]1`/4("H96)X]`$%?? +MMU&"XY$EC66,ADG&Y2&WM^$;@QKQN."\521%(+5X +MU('VJ;[;8>*"%4,W)@`"W2I\=L2!6RB^K>%LNOZ7`THFE*+%Z@,A5BK-"`98 +MT(!Y.M?LC!.(GF=`Z*T+2`/++S(_P!U\^0#5"\M +M]B*,0#SOX+(GI7Q3&3S!IL0?U&=9(?4-Q%P)>)80C2O(%K15$B&HZ@BE3*S`4&Y/2M#0IFTC09(WFEO51KL30SN."@ +MI(D,,B*C#]WP2!%!_9[]7@'13"9)%GED+L*GTW;D`VR +M\M^HI/AA_28W+R3*3S#ID0:FO<&HJ-\M]?TN +M-G#RE0AD57XL5=H76&5(Z#XF61@M!U/2N^%$VC:!)$SR7JK]<6>&=AP4.D@C +MBE15(_=\%14J/LUWW.*2Z/H3RW`DO`IA,\P`9`86DG6ZED+$?%PFH0&V6M#U +M&/##^DMR\DR?S!ID8)=V4QB0W"\36%8F"2--3[(5F&_\5?K@GBF(*`2([*DJ(M/W7#:+ +M;[(:A^(@XH^CZ$TDW*]"FV:25`&0&%WN8[MV)I\7&:->O3[)QX8?TODMR\DR +M/F#3%'Q2,"G+UUXFL(C?T7,W\H#[5[CXA503EGS!IBE@9"-V$1XM^]*RK:L( +MMOBI,ZI\R.QKA2VBZ`40F\4?6_426A0"0-+\:(*?N^#-Z6VX!XGXJ''-H^@E +MY:WH!M6=X_B0>DS7,5TQ8T^.DT"+OTIQZX\,/Z2W+R3/_$&F#K(U5)$XXG]S +M23ZO^^_E'J#C7YG[()Q>UU6RO)C!`Y+4=HR5($BQ/Z,CQD_:"OM]QZ$$DGZ& +MT"D?^F*/K9(EW0>K^_9^*BG[NDDC1[=FX_:H<':5IVEVUZ[6=P)9(%FB2(%: +MQK+*'E!XBK4>,)4]`O'K6H(A1JT@ROHC;K5;*SG$$[D,`C2$*2L:ROZ,;2$? +M9#/L/I/0$X@/,&F'I(Q+4]`<3^^Y2>@##_,/4VK_`++[)!Q'5=.TNYOD>[N! +M%+.((WB)6KK#*SQ`%A5*O*R5'4-QZTP`-&T#C)_IBGZH56*I0B.DP8*PI^\Y +M.@BW[+Q^U4X@0H7:DROHFRZ_IC%0LA.ZK(>+4B+RM:J)=OA)F1D^8/;*7S!I +MCBJNQ+\#;KQ-9A(YB1H?Y@7'7L/B-%H<+%T?0@\5+T$W+)(X+(3,RW,EVI!I +M\'*>9QMUKQQJZ+H"HQ6\5OJ?I1Q$E"(U60A$=:?O.;#TM^H'$?%4X>&']+Y( +MN7DFRZ_ICE`DI(8HKMQ:D;2R-;QK+4?"S2H4IV(WRD\PZ9(%,;LS2B-K9`IK +M,LQ98WAK]I6*'?L-S1:'"V/1]"66#A>AC<&*9@60F9TN'NHW#4^'G,[=.O0= +M,3BT;0$CY)>*WU-8(8"2C!$C+QQ(ZT_>\P3'4_:`H/B!./##^DMR\DW37]+D +M*!)2ROZ89^+!4:9S%$DA('%F=2M#T/6E16H_,&FRA/3=F>41M;1\"&F6;EZ3 +MQ`TJK>FQKV`J:#"V+1M!26W6.\#>MZ$Q4LA,S13-8-*D,?I +MS%DD$=9>+!$,Q(B20L!Q9BI'$[@]:5%:C\P:;*$$;.TDWIFWBX$/*LRN\;QA +MJ?"RQ.=^@!K3"V'1-`22WBCNPXE6"7@71C,8V:6*7FH!'J,O(A:!N.W0U9#I +M&@QQI/'?*[6OHQ02'@P"QI-#&C(HI)S2XD!/[7;ICPP_I?);EY)O%KVF3O$L +M,I=9O3"R!6"!I@6BC-*JK7EU:A6N],, +M+?\`WKN_]9/^(#!6:7B(Y?C9V=`I5;Z1+;:Q+J0NI)(IT<20/QIS9H^)'%5V +M5(^(KOAKFS8"2>:0*06J6)U&T^KJ_INLL,Z,14C@CW,7'E.11#_I-39A5M?M#F%F6?\`>&OPDJ@7X.AJ +M_?B+3RI(C.?K((N7CEN=F'%H[R;4*1#E0@M.4^+H`#OTR3YL?$EWKP1[F+1^ +M4Y(Q`?K(+62PQVH^(5.+-)Q^+[('>N2;-CXDN]>"/$A/K7*.1[>:X/$J0]M<&\I&O(KQ=B%^+=17<\M +MI/FQ\27>O!'N8O!Y4F@^JR?60TEA';P0+\:ATMTFBY.U2R,ZSG[/V2*[],.M +M/TX6.F1:_6$:YMQ$BI\8C98HIHJD\BZEC.6I6@`"?Y6))Y,"6 +MRV'ULFU^!GDH1)R2S73Z`5X4(C5ZG<;CO42O-CXDN]>"/O7H.UY+],T^6SEN[ +MF=PTUY(LC*G+BH1%C`!07BC5!XT+`C<<= +MY/FP^)+;?DC@CW5'F8CZR%2.2XGMSQ+$O<7*WM)%Y`<49>/P[L/"F\FS8^)+OY+P1[F+2^ +M4Y91<'ZR%:^CGAN1\;!%G*T,;$U=E1:'G]IOCVIQ+Y/*DDC`_60%@DEFMMB: +MM+=Q7])1RI16A"?#U!KMDFS8^)+O7@CW,7?RG(XG/UFAO5D2Z'Q'@LDAD'ID +MFKE5)4E_M-1]J<3;>5)&9#]9`%LSO;;,>1>\@U"DHY;4-NJ?#UJ6[TR3YL?$ +MEWKP1[F+GRG(?5_TD?Z97ZU]H\`9WN?W1Y?$:2%/C[T?MQ([2]"?3[M)VF]1 +M((YX8`*U*W$J3$O4D`J(U7X=B:MMRH#K-B9R.Q*>$)+JFA/J%V\ZS<$G2WBG +M!K55MIGG!2A`);U&7XMALV]*$"/*<@$/^D@FSXBU^T.8699_WAK\)*H%^#H: +MOWXB49L1.0VM3$'HQA/*DBLY^L@BY=)+G9AQ*7DVH4B'+<%KAD^+I0'?IC4\ +MIRH(#]9!:R6*.U'Q#FL3\SZA!JA9:*.'V6J^]>(E.;'Q)=Z."/PCMX+8?&H=+?FM9 +M&!JC.CT^#[+#EO7B)3FQ\27?S7@CW,8A\J/"0OUH,DCV\UP>)4A[:Y-Y2->1 +M7B[$+\6ZBNYY;5!Y4F@^JR?60TEA';P6Z_&H=+=)8N3M4E&=9OV?LD5WZ9*, +MV/B2[^:\$>YB\/E)H0L1NN43M;RW#!2K>I;N93Z:\BH5VI3E4J*[GEM<'E6> +M!K6?ZPKS6*00PK\:JZ017,%6:I9&9;IC\/V2!UR3YL?$EW\UX(]S&;/RH]FT +M""ZYQ(]O/*W$JQDMP-D7D5"N57K4J*C?E426]_WE@_XR)_R=3+RKW_>6#_C( +MG_)U,(D92W\OO4@`;>?W-)_QT)/^,7_,UG^;_`+Y' +MZ_T/_]"1ZM?3:99:O?VY02VZ*Z>H"RU"#8@,OZ\+WO==;4+2Y6&4P>G=QR2) +M')Z9C]>U,,QMRWV^`D`%>5*D=>)--1OOT;;:K?\`I"<6ZI(8F;@&`0;O3EFHB#6T0>>Y]SL +M21U-?VHFYFUVZCOQ&#''!I7GZ)<^GRYU;ITY;TI7?`\>M75P=3%K:)*-/9XEXS%GDD"))'2,1[ +M*W,@GEM3:N"M$OI-0T]9I0PDCDFMW9QQ+FWE>W,I7BO'GZ?+C3:M.V"5\/(# +MKZL!?TS1_1$R&?A3>OI']Y7X:C[62+6KFYM+`S6NS^K`C/3EPC>9(Y9*&H^!&9LCOZ9.: +M\C/]N/ZG5FH(_KLS/Z]#2OU7TJ\Z]Z;XU==UL@5.SM%U#?SQK;KP4?64:]FMV?I7_`'G1'^&E.5>F-2[H\UV[SR61 +MQ>9>"=O]6JQ($0 +MNY#,)Z'CR^K<:\J[]-\9'KNMLB%C0.L!O'XJ/JKO*4>.I6@_E^.O'[1V./AU +MO6GDB5]B7MUA3@!]8CDNY()):$5%(%63X:4[XD2WVCS7;O*R"+S($A]8S\`E +MJ-2J7+&8>IZYAH>17EQ)].E4H!O7'P1>90\/JF;U.5KZ%6)41"X8SB>AX\_J +M^QY=32G?&0:[K;I"9#19$M6O9.*#ZM)+ZGJQ5*\11E"?'7C]H[''P:WK;O") +M!1V:U$47`#UXY;AHI9J$5EO%YC"6_KFX]();#4: +MF0N9@D_KF/B>97U/3)]/8KTR1Z4M^ND0+>$_7?3W]0@L#OP]0BM6I3E[Y'+? +M7=:D2W]5N,+S"!;^L;GZL%MOKX)D,AE$5S +MZQ3BW,KZI@KP-"*TRX(O-(-N)3+]:I;\"S$Q",1_O1-Q/`O6O*H))XTZ'*M] +M/]^PM^-IP +M"^JDD?*27<35O%KX^KF7ZS]4`M_KBDR&7U1%<^ +MMQHW,KZA@KP-":TVS0Q>:P(`[2?7:1<68DPA!;4D]6AXL\FXY#]Y4=:#C0[L,:EOM%=MMY-PQZZ#`9?K7U$&'ZRI:3UN?HS"2E& +MY\>?IUXFG*I'PXV.+S;Z<8=I/TA2.C$GT>'U%5?G0\*_6N7:OV:;5QT.MZLY +MA5YJ6KF'UK[@@X,\,SO'NO$49$ZBHY<>N,CU[S"T<;M#_I9$?^@<`.2M8KN`^*I]"GU#B>_"OUOVK]&*1ZWJK/&C3D6C.@?4."?"3 +M`\C1_9X_:`/2O['VL2&O^8C")#!_IG`']'\!T-A]9+].7^]'P=:=NN-2[H\E +MV[Y>W6G/?[&^)O%YN])PK2?I'@_P`5 +M3Z%/J!5*;\*_6^/:O7MBAUO5>903_P"AB0@:AP3<^@)/3^SQ^UOTK^Q]K$WU +M_P`Q")Y%@_TP(Y_1_`;`6!N5?IRWN`$ZTWIU&-2[H\EV[Y)]HBW@:]]?U1;& +M5?J8G+&3CZ:<_P"\):G.O7O6FU,*KW5=7N;C6=.M%]1;8RP`P(ZR1JUBEQ'( +M)5YH!S4QH[?8"@T8^&W3J,+=1\QR +MPRZK9P0K%-;":-+B-P\@9+-;U)Y(FCH(ZOPJ6/Q4'?(`'B.P)K\%D:X1N1NJ +MQ7^N&WL8_1,<\MQZ-R9;>1Q%"879).2L`WQA*DTZT-,7B6Y.O5,ER$C%)699 +M/0E+1#X(EIZ2(I'+D3RY?#6F(1>99'M[$I#&\]YP`.S`BO3%;?5[Q]>DT^XCXH&]...-@Q`$$F79HPX:E0!Q\$@[[ +M`;%;&VY.X3[(A>Q>9#-=_53-ZA-UT8A#"?[@0\CP]2E.-*$'E7J,E^1"]UO6 +MX9KM8%YO&;H>AP#>E'%_=3T`Y-44:E?BK0?9.#'=FJ^*9U6]_!3N8O,16X]` +MW'H%;G]'@&0.)3';^@9.3?TC-ZO^E>L58A#$95]`0< +MCQY^E]GC2AYD]8HEN6M+CBC>O)'';O%%4+Q:KR2+\('+CMC +MY]="3RKM]DY94MMHL-M]RIW$7F0QW +M'H&X],I=#3:%PPF(B]`R\CR"\^9'J5HO7>F*SQ>9#+-Z1GY<[GUZ,0IA-TA@ +M$%3QY_5J@<>AK7MB=QKNMQQW!B;DL27364O%#]9DB$1BBJ%XFK.R?`!RI4=, +M4GUO6DDF6,5(>Y66/@#Z$<=TD,4M`*FL),F]>7;IC4MMHKMON5.:+S)PD](S +M\2ES^CJ%P1*73T3-4\N/4KZE:)4'XJ8^6+S)ZDG`S_;F^M49J&(WD1C$%33E +M]5YTXT]]\9-KNMHDA0U6-+EK.3BI^M21N@CCJ%H>O'X*+S+Q;B9Z$3?H^A>H< +MSU0SU->/&A'J5^"H/Q8YXO,G-J&?[4GURA:A3Z[`R>AO3_>7U?L4[#[6-?7= +M;"L5.R"8VC<5/UIDG]-4J%H?AH*I2M>8V&.?7-:#L!W:07(X*?JRK>P6ZM]G +M_?$DC_%6O&O3&I=T>:[=\N31B\R]C/N3]0W?8_67/[_?IZ7#^\K\-1]K#'14 +MUA;\F],O#AGS^SM3B#O7"XZYK?;]DGZJ>"_P"E?Z2\ +M5/L_[[5?L4^URZ##'1=3U*[OS#=;H4N&GCX@>A)'.L<4>P!^)"WVJUX\NAR, +MN*CM%(JQN7:RFL-J%;(R^GPMOJWIDA!()W-QZM"!3T^'VNW(#>F%PB\RT%3/ +M06=XYDW!/ +MP(J_9I3ER.PPN&NZV0*_MFMZT74-_/&MNO!1]91KV>W9^E?]YXXW^&E.5>F,CUW +M6V1"QH'$!NWXJ/JK/*4>.I6@V^'XZ\:H9Z\X/ +MJU68@1"[D,HGH>/+ZKPKRK[;XR"+S($A]8S\`EM^D:ERQF!?US#0\BO*A/IT +MJE`-ZX^'6]:>2(/M5X%A3@!]8CDNY()):$5V@59/AI2N^,@UW6W2$R&BR);- +M>2<4'U:24OZL52O$4*A/CKQ^T=CC4M]HKMMN5\$7F420^J9N?*U]"K$J(AN8N)YE?4],GT^J],? +M!K>MO)")!1BUJL47`#UXY;EH99J$IL1Q[]1C+?7=:D2W]5N*2I;->3< +M47ZO)*LS2Q5*\11T1/C!XUJ<:EOM'\=R[;;E=!%YG#0>J9O7_P!%](LQ*",. +MWKB?B>'/T_M5K4\>/0Y5O%YA`M_6-Q]7"VWU\$R&0RB*Y]8IQ;F5]4PUX;$5 +MIEP:YKKM!ZB4E;ZKZ=OP"^NDKLLLU".0^`6*I7BM'BB7X@>/+?&I;[1_'0VJFWX!?4C +ME6LL]".2TW/7X:4/VADMO?\`>6#_`(R)_P`G4R)OB%T.7+WI%5M?Q]S2?\=" +M3_C%_P`S5S9D_P".A)_QB_YFKFR/3_-_WR?U_H?_T9-J,MG!;:K-?PFXM$5& +MFA4`EE"KM1BH_'`S>98HM1M;%8B$E6XB,+<1,+B"6VB6,,TGID%;CE]K\=L$ +MZDEB]KJJ:FYCLF5!<.*U"%17H&/X8&-WH"W-M9"SBDC>"Y`D]`%E,!_:KW>OB*WU.2WMI"VG>HCR2<1$955'5!Q8 +MNW(2"E![$C!>D7TU_:O)<*J2Q32P.JBG]TY0)1SZ0SWUI96Z +M33DNMY!'$%$CA5#)*[*L9)5Q]H[C`L.LQP:/IU_::?PM;R&.X]&,JO#U^#B* +M-5'QR,9"0`!6AWP58H1WLR4PU:^?3[/ZQ&@=VE@@4-7B#/,D')J=EYU. +M$9\U70]7_1U_T4GUMF_>#ZR]K^ZW^$TCKO7XB%[UP]U6Z@M+-I+B(3H[Q0"( +MT(9YY%A0'EM3DXKA)^G])HO^@)_H1K+LG[G]^\%8?A^+XHV?:GPCQH,8#;Z; +MWYK([_56RW_%5U6/_1U_TDD0;-^[I=1VG[W?XO[VNU-P5[5S#S5=$O\`Z.G^ +MC,BS;-^\YWTDE/]`3_0V5931/W):YEM1Z.WQ?'`[;4^$5Z[9*A_,ZL;_I*:^: +M[IA#_HZUN^!AH&/IAYUMZ2BOQ&C;4I\0*]JXY/--T[,/JZ4@>..:G(^H9+V: +MPY1&NP_<^8:_I!4CZ@@^N\6B!"4E#2K'RF^'X:%P^]=C_`#;8Y=>T +MIGCI8*#:,D4A*I6%GNI;("+;>DL#DTIMOC0_F=5O^DIQ^:[N00#ZNH:\6!X2 +M`Q],32&,K(*_$P'2E*M5>U<=#YIN97'^CH%CD@BF`Y'F9[N2RYQ&NRCT^8K6 +MHS)K^D.G$6$8^O"*2)2$XRK(_P`+3?#\/$?O#6NQVJVV/CU[2I)8BMBH-NT4 +M+L53E"\MP]FJ1[;A94-:4VW%<>$?S%O^DI0>:[N86H^KH'OH[::$T8B(7',\ +M)!7XF4)04(JVVU*XZ#S5![@TV]L(X==TF6..)-/ +MC4WZP3PQL$".DRRRH\Q"GB56%F.Q]JG#[3[VWN=-AO84,,!2OI$`%.'PLE%V +M^$K3;(S']&MV43_2M(;?S1>3O:0>A&)+U+>6.0!BL:W$5S/Q9>0+,/JO$4(J +M6&5!YNN)DCN#:@15@22):L[-.G/E&VPXCM4;@,=J8Z'6]*E6*V73HU:]$,T4 +M3!!&RRQSS*\I"D*52VDKL?:N.B\QZ/(T%V+,(B"*(S%4]2(RIR5%50257D%/ +M$_M;5%:2H;^AC?\`26P>9[R:2VMO1C$MVMO*LH#&-%GBN9N)'(%B/JM`:BH8 +M'&0^;YY(H[HVH]$F)'A%3(6EMA=9=&_5/W)]-6@%3*6>R74*J>E/CX4IV)[8K%K&F2".P73(EEN#'(EL1 +M'Z9$D(8>BR'8_%[;Y2>9M%8)J`M`(0J)]9*KZB\[5;T*%IRXB*10: +M'J:=*X>$?S.BW_2;3S+>O/'9>E$)I"A$]&](*\+S4I6M:IUK]GXO;$1YRG-J +M+_ZG^Y('^C[^KR-C^D:UZ=^%*>^+IJ^F/PTX:9$)Y'5EM:1^G\4;.'+<>/+X +M3'T^U_D_%C!YGT0J-2^J#T.`'UGBOJ;VGU[CQIRX^B:=>NU,'"/YG3O6_P"D +MO/F2]$YLO2B]8,3Z]&]+B(!/2E:UJ>M?L?%[8@_G*=;9K_ZI^Y`<"#?U>26) +MU&I/3]GA2G@<7.KZ8*Z=^C(O7$A8VO[OT]HP_/EQX\M_3Z?:_P`GXL:WF?15 +M5M2-H#!P9?K/%?4/&T-\5XTY27D$ZKSM)% +MC]2,$(X>-9=@Q/3EX[BA[X7W6M66G2:K]5MFCO%:17F<#TI;F*S%XJGB_/\` +MN`-Z#I2O3##2;JWE^LVT-LMJ]K(%FBCX\.3(K@@H`#L:';J/#?"VXE\OV=QK +M%R46ZO7$ANH94%&:.V1V@61TX_%`B$K4["M.N0`'$=CRY!D>0W'/FBXO,4$E +MK9W"P2S?796MH/1]-@\B1R2M3]YLO[IA\5/?;?$[[7+NQFU`/`ABM;);R%*G +MF68LI60BJBA7M7YXX7/EY8K:YDMXHR\H%O\`Z.2?7CB8CTJ1_$RQH5!7PH/# +M%UOK634KFWFM@@2U29KN0+\<+%OA(/Q!5(.S?=C0_FGX^];/>J:5?RWIO(YU +M426)WZC">\\U7%HUPWU=7C1[F*-=PP:VVYR-N.#= +M30;`KUKASI%S9W5IZEE$L"!BKPJO#BVS490!\7$@G"FYU_2K::YEEL@U?7@, +MJJADE>'X7C8&FSE2JEC3X36@I5B/4?3?DI.P]5*5QYIO(&NXO01I+)+B61RK +M!9%MX[>;@J\B58_6.)J30@]O"L@5.H4L:?":TVK*AMZ/MYL;Y^I2N/-=W`+M?JZ,]C' +M$E1R++(&&P]Z';%)=>TJ.6 +M9FL58SM/`KA4Y3/#<+9ND@(V#2G8DTVJ:8T-O1^U;Y^I2E\UW<0N!]70M9)< +M2S$A@)1`R@+&*_"Q#4-2:-1=ZUQTGFFYC>GU="LTDT4->0X&*\BL>4IKNI]7 +MF:4I3*DU_2(XRK6$9^H+--,H"%8EB*LS0_#\193S%`-AO0T&*/KVE))+6P4F +MY:2&-@JJUNJZY/87CP1Q*\<*6TLE:\G%S,\'%*& +M@*^G7>M25'>N`!YKNB(O]'6MUQ,.S'TPUPMO245^(T?:E/B!7M7#'5-4L+2^ +M5+BU69[=8)7F8+RC6XE:*,Q\A4D&-F-.P\:#``U_2"K?Z`G^F\6B!"4E!F6+ +ME-\/PT+J^]?A/\VV(&P]%J3O]5.3S3=,S#ZNE('CCFIR_>&2]FT_E$:[#]QS +MWK6H'OC8_-=VX@'U=0UXL+PD!CZ8EE]/C(*_$P'2E*M5>U<477M*9XZ6"@VC +M)'(2J5A9[J6R`BVWI+`Y-*;;^V-37](=.(L(Q]>$4D2D)QE61Z!IOA^'C7U# +M6NQVJVV&A_,ZHO\`I.B\TW,K#_1T"Q2013`^CMIH2`Q$0N.9X2"OQ,`E!0BK57:E<5CU[2GDB*V*@V[10NQ5.4 +M+RW#V:K'MN%EC-:4VW&)Q:_I$L:HNGQCZ^L$\*$(%D2;DZ/-\/PE57F:@[': +MIVQH;^A;_I-P>:KF8JWU=0B/;12J.1+M@BO?1VTT3`,1&+A)I.#KR!9AZ-!0BK&FV*Q:_I,DD+K8JOH&"%G*ISA>>B&:*)@@C998YYE>4A2%*I;/78^U<: +M&_H_8M\O4W9>:;B[:W;ZNJ1R/;0R+N6+7"UYQML.`KM4;@,=J9)[W_>6#_C( +MG_)U,C=KK^E7,]K+%9!=X(!,RH)(GF'P1J`#\*\@I*FGQ;5%:22]_P!Y8/\` +MC(G_`"=3&JD/3P\OO3>W._[&D_XZ$G_&+_F:N;,G_'0D_P",7_,UV(U.'5-/,GI"X"1F0"I`*"M!491\N:4[Q32Q%KB+U"LWJ2!@ +M\S(\D@;F6Y%HEH:U`%*TP9;_`.]=W_K)_P`0&7%J-C/X7U.42FK#T +MBBR?\"9%!^>::Y<@3\/<[.AU;M;&WLWN)(`P:ZD]:;D[-5^(3D.1--E'3`PT +M33UBLH461$T^+T+0)+(O!`HCZAMSQ6G([_><'3316\333NL<2"K.QH!E03PW +M,0F@<21DE>0[,I*,I\&5@00=P=L%RYV4T.35S;07D)@N%YQDJU*D$,C!U8$4 +M((8`C`?Z"TOX?W'V34_$WQ_O/7_>?%\?[SXOBK@V:>*WB::=Q'&OVG8T&YH/ +MO.(?I33OW7^DQ_OC2/?J>8BH?Y?WAX;_`+7P]=L1Q=+^"FNM*/Z"TOXOW'VC +M4?$WP$R>O^[W^#]X.7PTWS#0]+!0B#[)!/Q-\160W`]3?X_WC%OBKOBWZ4T[ +M][_I,?[@TDWZ'GZ5!X_O!PV_:^'KMF_2FG5B'UF/]_01_$-R6](`^%7^#?\` +M:^'KC<_-'I\E$:%I8#4@I4@J>3_!QD]8>G\7P4?XOAIEC0]+4H1!3AQ/VFHQ +M60SJ9-_C(D8M\5=SBOZ5TZDI%S&?1($E#W9_24#^:L@*"G[7P]=LPU33B8E% +MS&3/3TJ,-^3<%^56^$5ZG;KAN?FOI\E%="TM00L%/L<"'>J>FYE01'E\`#FO +MPTRUT/2T:-E@`]/A0!FH3&YF0N*_$5=BU6[XH-5TXK(PN8R(BJO0U-7J"(LT8C/*J!2QH%RTT/2T:-DMPOI>GQ4,W$F)C)&76M&*LQ(+;UQ +M0:KIS*[K! +MJ-OCXGCXT-.F-S\U]/DHIH6EQJ%2`KQX>FP=^2"+EZ8C;E50O-J`>.#(+:"U +MMTM8$"01J$2/J`H^?7$!JVFLC2).1"&5E85#*1L01B>+K?Q2*Z4@$T+2XU4)"5*)(0\:D8]=7TQXO62ZC:.JJ"IKR+CDG$#=@R_$I'4;C;'KJ5@\L<"7,;23` +M-$%8$,&4R+Q(V/)%+#Q`)Z`X;GYKZ?)#KH.EHJJD)!4J4D]1^:\$,2A7Y<@` +MC$4KWQRZ%I2E2MLH50`(ZGT_AC^KJ2E>)(C^&M.F/&L:8T/KK=1M'4*&!K4L +MOJ+Q`W-4^($=5^+ICQJ5@TJP+E2@+`?RBO3&Y^:^GR4! +MH6F*H40D$$,)/4?U!1#"`'YJ*#J?W?Q_ZOQ?9WQ_Z2L/5$'UF/U".0'(4 +MIQ]3KTKP^*G\N_3&Y^:^GR4/T%IG'CZ)KRY>IZC^I_=^C3U.7*GI_#2M,QT+ +M2223;*58$&.I]/>+ZN3PKQJ8O@K3IBGZ8TST?7^M1^GR].M?VN'K4IU_N_WG +M^I\7V=\?^DK`2F$W,8D4!Y4_EWZ8W/S7T^2ZULK:R$@MU(, +MK!Y&9F=F(4(*LY)V50,+SY=LYKJ_N;LF=;US((ZN@C+6ZV3\>+TJ8DIRH&W. +M]#AE;7=M>(9+:19%4\6X]0:!J,.HJK`CV(/0XV[O[.Q"M>3I"'Y\2YI7TT:5 +M_P#@40DX`9`FKL_-:%=*0L6A:;"+=88V1+243VZ+)(%20(T50O*FZNU1T-:] +M<%M96KW#W+QAI98A;R%JD-&"S<2I^'JQ[8LC*ZJZ&JL`5([@X@+^S-T;(3*; +MD=8Z[UH&X^'+B0:=:;XW(]24T/)JST^ST]94LH5A6:0S2*FP+L`I-.VRCIB$ +MFB:7,\KRVX?UA()%+-Q_>@"1E6M%9N(J1OAA@5M3T]))8I+F-&@5GFY,%"K& +M`TA8G;X`REO"HKU&(,KVM:'6D.^A:7(I$D)8OS]1B[\G$H42"1N56#!%!!\, +M<^AZ7(TC/;AO5$@92S<1ZI#2%%K12Q4$D;XHVK::B+(]RB*Q9?B/$@I3GS!W +M7A46-[F-6@5GFY,`%6.GJ$D[?!R7E_+45ZC&Y^:/3Y(=]!TN +M12KP57##$!J]"0#EG4]/5I4:YC5H`S2U8`*$(# +MFIV^$L`WA45ZXW/S7T^2BVA:6XHT%?M\R7>KB5A)()3R^,,R@T;+;0]+8R,T +M%?4Y$CDU%+R"9R@K\!,BAOA[C%#JNG!8V:Y0"4L$J:&J,(WY`[KP=@K5Z,0# +MN)IT.W7#<_-?3Y*)T+2V`#05IR+'D]7YO +MZS>J>7QU??XJYCH>EDN3!7G4_:;X2T@N&]/?X*R*'^&FXQ7]*ZF?G1_A-/VMNN"Y^:^ +MGR4?T%I9XU@^R26^)OCK)Z_[S?X_WGQ?%7%K;3+*TF:>WBX2,&`-6(42/ZKJ +M@)(4,^Y`S?I33OW7^DQ_OCQCW[A_2(/\O[PA-_VOAZ[8I#?6EQ+)#!,DDD1( +M=5-2.+&-OGQ=2IIT8$=1B>+K:^GR4[G3+*[F$\\7*0<`35@&$;^J@<`@,%?< +M5Q$:%I8Y4@I4@J>3?!QD]8>G\7P?'\7PTP5-?6EO*D$\R1R2$!%8T)Y,$7Y< +MF(45ZDTZXE^E=.I*1E1AOR;@ORJ_P`(KU.W7*&JZ<1*PN8R(BJO0U-7GP(`9J,8W,R%Q7XBKL6JW?*70M+1>*0<:EHT;);A?2]/B`S4)B8R1E +MQ6C%68L"V]/#TV#OR01)J27)5.(&[*-+F-FG59(>+`AEDJ8V!&WQ\6X_S4-.AQJZMIKQM* +MERC*"J_":DEZ\.`&[^G/WH-5MY_G^;_OD?K_`$/_TY9<6TEXFIVL4S6\DRA%F7JA:,#D*$81_P"%9VG+ +MQW<,+DW?`1!N47UAK1N47Q;-%]7V[;CIAY<)=R)J:6#B.[90()&Z!_3'$G8_ +MJR.IH.MPWC7EHOH3,;WTI&D4LIN7LWA:6@/-1Z#\Q^NN:B!/\X#W^YV,AY$_ +MVIM)Y=:9KZ264>K/=1W5K(2[>F(GAF6,JS4XE[<$T\<,-*L/T?;.AD]1II9+ +MAV%2*R-R"@L2304%2=^N!$LM6E;4_4NY(&E=TL'/!TCB=$`8(A0\E96(J>^" +M=%M;RST];:]9&>.281>F**(/5?ZNH%33C%Q%.W3WP2)KZ@>6R0!?+XK]5LA? +MV?H^IZ126&X1ST#6\J7"\MQL3'0X1_X74\S]<'^G_P"]'7<>M)=?NOB^+X96 +M7XJ]F[4PZUFSFOK$P0$/EK4SS_>+^_),? +MQ#_1O]*>ZY#X>O%@?@I\:@?9W!@=OJK?DB0W^F]D1_A=?A_TP?Z"2;?KL#<1 +M7E)?B^':%5^&G=N],P\KJ"W^F#_3F5[CKOPN9K[]U\6_^]#K\5>S=L0_PUJ= +M5_>+^X8F3XA_I-;R.[J?AZ\4;[=?C=A]G6M3!/QK^^9&C^(?Z,$O9KPA? +MA_DE4?!3XD`^SN)7_3'/N17]'HK#RLBA#]<'^X\*MO\`:%%659SZIY?"2B*O +MPTI]KO3')Y75'/\`I@/UQTFN!0CDT=W-J)](I7XV(^S\1I=*2O$Z$-M;+'?37I1:K4 +M_NY50<:;KX8W_3'/N6OZ*HGE=8UB;ZX"=.6**W-6`"PMR/JD-52T=%^&E#\6 +M]:8I'Y76*0#ZX"+B2&><4(+/!=/?_NARIQ+R4WK08$C\M:HBPDR+_HRVZRJ& +M%;DPRF5I-UI45]1?4K\9(-%^(OA\MZE&Z1'IN( +MUXT]Q3$G^F/DM?T52+RNL*0/]<4G38X+>`U8#A;JR'U6#51FC>GPTH?BWK3' +MQ>5DA9(C>`K,\$\XH0S26UQ]$U95X6Z30GU&YU1F2<_9 +MIQ.^'FGZG&0R!497D`X\BY+.P&]!5C0;Y'+;RWJ<`M79E(M$M8Y8E9 +M29VMUG1YAR7C7E,KKSK\0WIUR0:58SV6D06$L@$T)*I7B-A +ML.@R,S_2O=,1_1I)H?+7H&WNC>HTNGK##&:LJ%;>*YM_C;GR5F6[;[)^$@9H +MO*442I9M=\HG,4LPIQ=G@4(2B\BH5B%.X)7<5^+9"V\N:G`;65BO&T6VCEMU +M93ZS017432CDH3[5PC+S%?@WS6_EC5(5@A:X4.OU=OK2,281#&4:*.H#D;D+ +M0J"&:H%`#(GGZQ\D5_01$7EPPO!>F]1I[(0PHWQ",K!'996;ZVQH#\. +MPQL?E"&.-+!KLM`?3EE6E)&:*!;7X1R*@'@K5()&X_:V2M_+FI0M:S,$X6RV +MT5]5B2&`W*B1?1;ZZI),0BM?JQC0$ +M!S\5>/Q`4=J[@`M\_6/DM?T$5%Y>:*2+4/KJ&XM?3C5OB$9$22P_$>?($M.3 +M2M!LOOB:>3H$A73/KA-M1'<=)28[--.V%>-*1JU:;&H[XG!Y=U&)[>=DC].# +MT5>Q5EXN8H)H&<$H$ZRJHJM>"U/Q;8R+RKJR0QVQNAZJ^FWU\$\EX6*V)101 +MS_O`7'Q`49J[]6_Z8Y=RU_11B>7W29-3^NQFYB94#?%Z5$1H:$\^5>;\J5I^ +MQTWQ$>38!;C2OKA^K<0U/]V[60TVM*\:<1RK3KMC8_+VH)+''#]H)]GEZ>]>7PXD/*NKBW%I];'K!1_N0J>6VG_`%#C2G.OJ_'] +MJE/?&_Z8Y=RU_01I\ON9CJ?UV/ZRS%>7Q>EQ*"&E>?*OJ#E2M*?!3OB+>38& +MMVTKZX1;%68#_=H+V3:;6E>-.+EJTZ[=L:?+VH&5KGTX_2+G_]>7PXD_E75FMWM!=CUBKG]($GD>5@;`*13G7U2'^U2@'?$'^F! +MMW+7]!D6EV)MWN[N299I;R0.Y2I0<$$5%+,QZJ3[=.V%>K^7IKZ[>Y-VBH[2 +M,GJ@ED#V4MF8D^*G`%S+TZEL,='L9[1[V691$ES*KQ6ZD$($B2(_855W*[4' +M0"N_0IU[1M6U.[8@++`K3?5P64*D&*Z$\D"F18VB^K&U:-:-^VS>HU=B?G7!R:>Z:LMQ( +MT)A0?Z+%N'0>F(W>G[3G[/,]%V'4U`0V.OK':PM-(D*W(]54>,R"V^K&)AS9 +M=_W_`,8IN%]Z#%[;3=2M]O2A]\23O:`4+,LES+]8!D7 +MD!Q5N70`L.XX[AKGRWJ<_P!:D4K2[2ZCB@=E'HM/';QK*>*E*\H&=N`ZMM7+ +MN/+.IS&5%E2M;MC,S4]=;B594@>BE@O%>#U)`"K0&II9?+UCY5U +MG2XD^N*&U..>WG-69>%RDXA%"2L +MEQ3C(@H]U(79MIUN+I+I(6HO(+Z:^FW*HZ4!%<;Y>L?+DM< +M_2J2>5UE69_KB@ZDDT$YJQ!2>E/28M5F6-2/BKR/Q;4ICW\L+(Y'UP#ZJ\DT +M`H25:6[BU`>J"U*!H0NU*C?`LWEK5)%G*NH^M):1B6VN%EO8KQ8FHM0/3C,;L?):Y^E5 +M;RLKK(?K@_W(+)'<&K$%9',H](EJL0A*_%6I^/M3'-Y75F'^F#_0V=[<;GB9 +M+N#4/WHY;`&V5?AI45/?`S^6M482D2+_`*0)A&"PK;&6?UQ)LM*G[;>G3XP` +M*K\66_EO4V:H=/W32,Y+?[TA[Z"]"M\.W[N%D/.N[G]GJW_3'/N6OZ*M_A=3 +MS/UP?Z?47'7<&9[FD7Q?%\,C+\5>S=J8.TK1!878E^L"46L?[Q?WY)CJP_T:MT]UR'P]>+`_!3XU`^SN##1M&O +M;&^$T[+PCCN(V<&IF:>=9TD-`#\(!)Y5/)VIMN1(['UVD#<>FE75-$6^O&E^ +ML"(7200RH:\BMK+)./3HPJ2)6!K6FS=L`CRNH"'ZX/\`0`JV_44594N#ZIY? +M">**OPTI]KO3!6L:/>WU^9X&7A(EK&CDT,+6\[3NXJ"?B#"G&AY(M=MP7+Y: +MU,!/WB_Z/P]2C#_22MRMSSW6E:`L/4K\;$?9^(L3L/72D;_3:)7RNJN?],!^ +MN.DMP*$6]35ZETI*\3H0W^\PCOI[THM5J?WUC7E3BSD#>I4=]\9#Y86!;>;ZXK-IJ06\)JRKPMTEB_>,&JC,D_ +M[-.)WQ.W\M:G$T0:1-VM'$BM7T%M[E[EX4JH8KP;TUXT%"U0-JLMO+6IP"U= +MF4BT2UCEB5E)N&MUF5YAR7C7E*LB^I7XAO3KC?/UCY+7+THF+RHD/"W-YR24 +MP33BA5FDMY/6)C7D5XLW'J"5'<\MJA\M"#ZO=&]5I-/6&",U94XV\5Q`>;<^ +M2,RW;?9/PD#$;?RSJ2A*\KA'7F/V-\;Y^L?+FM"XE4@JS26P7=5Y4XLRJ=P2NXK\6TDO?]Y8/^,B?\G4R)V/EO4K62T6 +M25&])K60S*U?36W4J\"JK0@49J@4`,LO?\`>6#_`(R)_P`G4P7ZAZN+ +ME]X3TY5_8TG_`!T)/^,7_,U]-;I]H7-_:QK'!':2M;^NK\Y.7%'5Q&4XT^)AN>H[X4C5+]M&T*5[X07]W:12RB +M1$56D*1/)),6&RBI'!`&).U*8*)'#L-Q]RV`;W*=ZTEW)8%;+EZGJP&0(:,8 +M1,AG5=QN8N7?([]5\Q]C-N3]0^)O@_TIVK-\7PCT>!^.OP@K]HT,BUJ>ZMK` +MRVE1)ZL"NX'(I$\R)-)2A^Q&6;ID=_3&O?Y6Q/U/X!_I/^E/%0_!O^Z5>G'8 +M\^@QA?#M7/JLJO>^71WU;S'4[S;,?K_Q'XQ];C<>C\6X]`2?8I\)5?M"@M;; +MS'45,V[)]1^(_`HO)G;UOBV_T8Q?;K\(9?M'>CK&O5/VMV(O/@'^C`7<<0I\ +M'^^6<[\ME#]#EKJ^O$BO+9D%H.`_TE3>30L3\/\`OA(VVX[,6Z#)^K^CS8[? +MTN32VOF2@J9:#A^D*ECS87"LQB`:K#T^1/"E4(7[0ICDMO,8=>1FW>,V=6)X +M1B]F=Q,>5*_5#$#RK6A'7&KK&O$"O*C*K! +M^D02Q+R"4F5H@&JRT^)N%*I115@1CX;;S&)(O4,U>=N;8EB0D0NY'F68AJ%!M\)Y-[N2&61AQKM;JKFA''Z<3Q=T>:[?TED%KYC"0^L9N"I:C4@2Q+ +MS+ZGKM&`W)EY%6;A3DE%%2",?!;>9`\/JF7U.5J8&+55(EN&:X68AN//ZOLU +M0>1XT.QHR#6->>.$RE@KI:M?R%57ZM+)ZGK15X46C*%/+EQ'Q=\?!J^O.\(D +M#!RUJ(8C&%]>.2X:.:5@5J"(1S-"..U1\6)XM]HJ*_I++>V\PA+?U_6]%4MA +MJ2DLS/,J3^NR*K$B]$=#ZA#,#OP$C#D"P%. +M1WW\+?:+';;ZFK>VUX?5S,+CZFHMQ>QL +M6:0RK%+?:/)=MOJ;AMM@V?#J^L,85DF86CF'U[THH*.T,SR1_W=%HZ)L5V)X5KC(]9\RM'& +M[0GZZ1'2Q*`!E:Q6=W.U1_I!9*\J"@7OCZM]H\EV_I*D=MK8>-G6Y_1P=/5A +MY,9BP@=6-/4Y4Y\17E3G\=..^)"T\W>D%+O^DN`_?'^]>].-> +M_3%8]6U)L"B4->'^]?$TXUZGIBAU;5^ +M903O]2$A`O\`@M:^@']/^[I]O?[/VOW=:XF^M>9A$[K"?KP1S]1X`@`6!N%? +MI7>Y`2O*F].V/J[H\NJ[?TD^T2.[1KTS"1;9I5-FDQ/,+Z:!]G9F'QUZGHP71M+,FV])ID+45GE_T":YCD571 +MAP$H50:[LI%,A&^,[#DR-<(Y\U>&[\P^E:0^GP#W*P/.\#,PA-L6,C(&^'C< +M42IV(WZ;X_4+75_K.I-9/*SRZ>JP-S*I]8#.#Z09N*,5I_7&0^8KMHK1/J\; +MRSW*V?JM*5B)-L;CU`WI[T<>FPI]K;VP8+G4(M7NHW+30K91SQVJ!:"7DZLB +M.0I);C^T?NQW!Y`;?/==B.9*IHD=VBWGUCF(&GK9+)7D(O2B#;.68`RAR`3T +MPDO;;S(TUW]4,HE)NB6#\5:%O]YTB9FXAZ4"[#B0Q)%02=Z%?75[:R_78V2X +MMYFAD+"G(@*Y91046K4'RPDO=6UZ*:[%N&:1#=#T!&&].*/^YF4!:L2*$"IY +M5(`^'&-\1Y?%37".?P4[FV\P%;@P>M]79;D:>JEE99FCMQ`S*SAE7U%F*\R> +M(.^/GM?,Q>?TC+ZW^E>LROQ5XFE4P+"68+S]+9:`<2&J1R%67.L:XBW'HNQA +MC6Y-E.%5O7DCCMVBBJ$HU9))5%`.7''SZOKZ//Z:L9%^M"6$1AO1CCE5(95` +M6I)C/("IY5-!\.3]6VT?QWL=M_J67%KYC,=QZ!F]-DNAIH!92DS"+T&D!;DJ +M\P[+SKQ78[FF/GMO,9EF]$S7U:H'&G$UJ=QC+C6- +M=2.X,+,R1I=-8RA5;ZQ+&(C#%4)1JNS*.('(?%VQ\^KZ\DLPC#%@]RLT8C#> +MA%'=)%#*HXU),!+BI/+PVQ]6VT5VW^I9-:^8RDOI&;@R7(TT`L"DK.GHM*"W +M)5ZLO.O%*J:$@8^2V\QF23@9J\YC=T8CG$;R)XEA):G+ZJ'`XTIT.^,FUC7E +M20QEBJ)/(?'T&/EU?75DD"=: +M)531C3'-;>8^;<3-LTAO:,1S0WL#H(?BW_T42@<:4!"]<:^L:\%8J6HHE-DP +M53]999^"(3PW'&@!7CR4\^@QSZOKH=@.6[2"Z'`'ZNJWL$"L/A_Y9WD??E7C +MRZ8^KNCS7;^ER:-KYC[&6A)_1_Q-\!^LNU9OB^$>CP/QU^`%?M&F&.BPZO'? +MEKWU.`2X%T7)*M*9U,!CJQ!'I\_LTHI53N"`7'6->IMRV)^IG@#]9_TEXJ'X +M-_W87[/'8\^@PQT74-4N;\Q7=2A2X:X0J`(9$G5(8Q10?B0MU)J%#=&R,N*C +M]*15CF[68=7?4.5GZG`I;"U*$A%D6=VN#)1@`#'P^U6JAE&YW+A:^8Z"IEH. +M'Z0J6/,_6%9C$`U6'I%*H0OVA3#'6=0U2VU#TK6H0);-;QA01,\D[I.AJ +MI/PH%Z$4#%N@PN&L:\0*\J-P^N'@H^K$W"QE0>&WP%MVY4`Y]#C'BH?3\5-6 +M>:Y+;S&'7D9MWC-G5B>$8O9G<3?%0'ZH8@>5:T(ZXR.U\QA$YF7BH@_2()8E +MW$I,C1`/5EX_$W"E4HHJPICTU?72ZAN7VXQ:C@!]81KV>!G/P_\`+,D;[4IR +MKC(]8UXHAO&]W)#)(PXUVMU5S2G'KC(- +M8UYTA,I8*Z6S7TA55^K2R%_6CKPHM"`IYU\Q!+?U_6])4MAJ2DLS/,JS> +MNR!6Y,O,QEN%.2[#PQ\&KZ\\D(D#!RUJ(8C&%]>*2Y:*:5@5J"(!S-"..VWQ +M8RWUC772W]5F6.1+9KZ8JJ_5Y9%F,T52E%HZ(IY`\0:X^K?Z?QW+MM]2ZWM? +M,P:#U6E]?_1?19GY*D2NQG68JQ4OZ>S5!Y$K0GB:5;VWF`"W,_K_`%95MAJ" +M,69VE6*Y$[*%' +MQ$5'&@J/BRK?6-;<6XE=A!(ML;RX**OHR/%6/JW^G\=R +M[;?4J65MYD6:T^MF4RAK8\B_)5A5?WZ2E6XE^H;8EB5(.Q(EM[_O+!_QD3_D +MZF1*QU;7I9K1;E6220VH]`QA?4BD6LTS`K52-R=QQ(`I\62V]_WE@_XR)_R= +M3(F^(773E[TBJ-7\?0O^QV=@;8"(_P#1S6XXFT^+9E:58:R?#\%.:MWV/CMCE\UP,Q7ZNP$+ +MI'=?%NC/=2V%$V^.DD#'MMCX./>R'-D<3S=`ZQ4MR&N5BDM`7V9)6XUD +M/'X.*T<]=CX[8Z/S7!(X`MV`1XHK@EA5))KE[(!13X@)$W.VV/AR[EXX][(< +MV1R+S=!*L'&W(:[2&:T!?9HYPS@R'C\!5$Y$4/W[8Z+S9;RE2+=@BM!%<$L* +MI)<3FT55`'Q!9*5-1UVKOCX./>R'-DZ?'J`4QHZEF0[E2M0R[=:$'`8R',*)`\BB\V1V' +MS7',8(A;%9KI89+=2_P\)H[B<%V"GB56U>H`/;*B\WVDBI-Z#+;DQ),Y(Y(\ +MJAN/$`\@O)037OMWP^'+N7CCWLCS9'HO-22O!`+4BXN5ADAC+_#PF2>4%W"[ +M$?57!`!WQL?G"SDC2X]%UM3Z:R2$_$KR0"Y`X`;@!U!->I^>/AR[EXX][(\V +M1Z/S0))(K86M+J?TS'&9/AXR)+("S\=B/192*=?;?$T\Y63PK=^BXM#P#2$_ +M&&>U6_`X4W`2116O4X^'+N7CCWLES9'T\SAYDLQ:_P"F2,H6+U/@XM&T@)?C +MUJA2E.OMOB0\YV1MQ>^B_P!3*@^I7XZFT_2'V*=/3-*UZX^'+N7CCWLES9'S +MYG`F-G]5_P!,#$&+U/@XB,25Y\>M3PI3K_D[XDWG.R6!KTPO]3`8B2OQDK:- +MJ!'"G3TU(K7KCX./>R7-@'3M1^O/=0O%Z4UHZQRJ&YK\2+("&HO\U#MU +M&)7NLI:27T0CYR6=H;SB2R\PO*J@E./[(W!/7IM@X3=4FQ5IGFPK3S!IAABE +M>1D:5Q"(O2E+B4Q&X]/@$Y5,8J-M^V.75)#J4=B;9A',"TU>;G;LT:-/%$RL.3RP?"5XD#B&96`-> +MV]-L1$GD$D@/QED/("@V&^^V. +M?S7`C\?J[$2/)%;$,*N\=S'8D,*?!6244.^V/AR[EXX][(:X%91]78^LSI:_%]LI=0V/Q[?!5[A#WV +M^['PY=R\<>]D.;([_BV#X_\`1S_H]?K?Q?8`F>WJGP_'_=LW;8>.V"].UV+4 +M;E;=8B@E2:6!RU>202+$W(4'$GU%8==CXU&)A(;D+Q#O3?-A3J.NQ:?=-;M$ +M7$2P23ORIQ6XD>%.(H>1'IL3N-AX[8"'FV`A/]'/^D<3:?%]H-*L-9/A^"G- +M6[['QVQ$)'(=[(\V1Y?-<#,1]78"%TCNOBW1GNI;#X-OCI)`Y[;8U/-T# +MB(BW(-RL;V@+[,DK\:R'C\'%:.>NWOMCX./>R/-D>C\UP2,%%NP"/%%< +MDL*H\MR]D`HI\5)(S4[;8V+S=!*L'&W(:[2&:T!?9HYPS`R'C\!5%Y$4/7;? +M;'PY=R\<>]D>;(]%YLMY66ENP17@BN"6%4DN)S:*J@#X@LE*FHV.U<;#YMAF +M%N%MR)+M(9K4%_A,8%V"GB56U +M>H`/MCX./>R+*O?]Y8/^,B?\G4P@M?-=O=/#P@812-#%(S,.223@47B` +M>04LH)KWV[X?WO\`O+!_QD3_`).IAC$@[BN7WH)!&WG]S2?\="3_`(Q?\S5S +M9D_XZ$G_`!B_YFKFQZ?YO^^1^O\`0__6F(X>K?>JQ5/@Y,&*$#@.C*01]^$Z +M0^6&&E63HR136DAL!+,_`V[-;![=B93SY$Q_`:@T^\Y5>D3PZ=IHOII%2PFAMTK&&ELI#;"3D1$/Y(Q5:'?[M/'WD>[W. +MR/N!]_O3$PZ$OUV%I(B9V:YO8VF+$-$$Y2<2YX<*+TI3;!6F?4S9QO8KQAD+ +M.5))82,Q,@D)+'F'J&J:UP*VF:=9PZG-=R$V]Z[7%V9"JA1P5&"M&%:G%!U) +MQ71H+*WLC'82O+"9[B1C*Q9Q)+,\LB-SHPXNY%#OX[[X#RYD[CW)'/D%357L +MDLF-^O.`O$H05Y&1I%6(+0@\O4*TWZX2?6O+'P5@;]T3Z_VOW9^L%:W'Q?'^ +M_4G?ET+=-\.M5AM)K)EOI/2A5XY!("`5>.19(B*@[\U6@IOA+^C?+?[O_2C_ +M`*02)=U_>GZP6XR_!\'[Z0Q_L]>'MAA5;\7/HB5WTY=6_K/EBLG[AOWK'T?M +M?O#]953]7^+X?](93MQZANE#F%SY9K'2!OW3*)OM?NV-TZ+]8^+XO])1SORW +M!;IOE?HWRW67_2C_`*.Q]/=?W1^LJY$7P?'^_C5/VMQP]LPTWRY6*ET?](93 +M)\2_O6%R\J^K\'P5GE=?V=SQ]LEM_2YL=_Z+A=>6*-Q@:LI0V_V@9/W_`,!M +MSS^`>L>6W&GVNF^6ESY9YQ<(&_=M&LAHP$;&ZDCC$XY?$?K*OUK1JGWQHTWR +MWQ>ET3]7*+%NI]/]_P#"L0X?O*RIZ?[5:<>V.33O+@>'C=DF=HW< +MBD)JI,8$I6)8EX?O`[CT^CV.CT[RXLD'IW1)F,,A')2)66X>>)Y&X_"6 +MG9NXY';MCM_27?\`HK8;GRP440P/686[VB@L&=&9VMVMVY_`H/)NJT&YH#CX +M;KRP9+=H82`GU=.0#!(V:5H[=9E+;N)>0%0>).]*C$XM-\MK&#%=L?JP@BMR +M"K,B(7C@2)>'[P/\2#9N5./;'PZ;Y<62W6*ZY>K]7E"AE99625IX)';CL7E! +M(W'(K[8[;_4N_P#16P7/EEDC6"W<-*+=[1`65V1A*UNT#%QP4!9"-UXBM:8> +M:=)8OIL$EB`EEZ8]-:%>*`4XL&W!'>N$4.G>7$C1X;MF-N(([9AQ9E1!+'"D +M:F.AN_*Q>WDABI$JP +M*DE&6)"4;T5D4D#F%)&Z[5H:5&,AT_RXL<NSP^BEO,"K/Q6.9851?3HZ +MLDTC5XGE4M7'Q:3Y9$D%M'75CCNH[YVDC:-8;@%3)18I/3"KZ=&! +MCD=Z\37[5>^.32/+`:.T2<&$JC+!S!C8BU]!#SI6IMT!IRW"\J;8[;_5R7?^ +MBY)O+A58$M9?7+J8X?C]?>!N+!N=0OH@K3E_DTY;9A>^4]IQ&OU;@`)J'T/] +MY/5`XUIR^J]^/V=J]LI++R\$6[6^D3)7C_EU[YAH +M_E>HLQ./0X"EOS'I_P"\GU<'G2M?JPK3ET^*F.W]+DN_]%LS>7.)@-K+Z_J$ +MF'X_7_N!5N7.O'T?AIR_R*G2GI?O:\?\`+K3?,VD>5R7LVG`@X,6M +M^8$8K:?5V/.E:_5FK3ET/*F.W]+DN_\`13;2'L"+F.SC>&1)`+E):F3D8T*% +MF9GK\'&F^W3M@?4%T87-_/=)))-#9,UTJRO0VY#K(WIGFRP?54##TPO'TC^R`:[UQHM]&BU>YNS=\9[:M[(N)94+JJQ +M,X#3R*_$?$G+D:L>/+IO@AS-W\%ERVKXK)[GRTJ2)/;N7B]=KM"6:1458FG: +M9@YYJ4>,GXFY"E*X^:Z\KB2X::$E7%PA>C-'(RNB7"0J&/QE^(V`+$;5H<3G +MT[RXT6VDN$ENN(B6X +MD*%U58BSK+/(C<=RCL":D\>73?)[;?4QW_HK9KGRPL;B>!ZPBX>[4EBZ(OIM +M<-.W,\U-4)W:HW%0,?-<^61)<&:$GF9TY$,5D=9DCG6$4#?O2XB/Q4D874<;_5_B^$_673IQJ2#[XUM-\ME5Y71'UCU4FW4& +M0&:DBRCA^[XR-Z?1:5X]\7"TM;H@P%V3XE`B8W4<[^D>/Q4N(D'[5"./ +MMCM_2YKO_1:-SY8^"L#?NB3/]K]W_I!!-Q\7QCUU+;\NA;IO@W2YM%>]<6$1 +M29UF:-S7BZ+-28PU8T7U6J:`5J#T(.`?T;Y;I'6Z/^D$B7=1ZA^L%BLOP?!2 +M9S'^SUX>V#M*L]'AO7:QG,LT0FC2,D$(KRUF"44<@)(PI-33CQ[8#5'ZOBD7 +M8Y-ZI-HJ7RB^C+S(L#2.*\41IB(#*`PY+ZJDC8TH3T!.`1<^6*-2!OWI4P?: +M!D_TBBFW//X!ZQY;^`1IOENCTNB?JY58MU/I_OP56(?P*)*ML5I]H[&N6NG>7`\/&[),[([CDI$K"YDG0R'C\)-Q*X_9J3Q]L:FF^ +M6PC<+HGZMZ*0FJDQ@2E8EB7A^\#N/3Z-RIQ[8=OZ7-&_]%?'<^63)!Z4!'IF +M%6(#!8W-P\<*SCENPN`W4&C;XR*Y\L,BB&!ZS"W>T4%@SHS.T#6[<_@4'DW5 +M:#G>7!)!Z=T29C#(1R4B5EN'GB:0\?A+3LW<K]7E"AE99629IX'=N.Q>4$C<!P[J-FY=.V.V_U+O\`T52&Z\KE[=X8:(BVZAZ,L<9) +M9;=)5)'QAB1N"5)WI48R"X\M%(D@MY!)+Z#6D8++(R,DS0-"Q<<%")+0KLI(H1RX]-L9#I_EQ8XY8;QF:# +MT([:0<6<*J31PK&GI_O%=)I!7B>6^.V^\EW_`**K:W/EEYK1K6&@'U=(G4,L +M:.RGZNDBDCXP#057X:@&E1DCO?\`>6#_`(R)_P`G4R.6NG>78I[1+:ZY5$$L +M48=621D4F"1GX_:<)R`##EQK3;)'>_[RP?\`&1/^3J8-N(5?3G[T[UO77E[F +MD_XZ$G_&+_F:N;,G_'0D_P",7_,U6II;?2[9K^/U;*REM$F5#ZC*[6Q^L1'U/A=/1%#ONPP[XLTE^J5 +M+'@`%(!^P.G,$??A`-%UP0:2\12&]LK":RDF5P`)7:U:.3BJT>,>BQ*;9J(G +M^D!_8[&7NO\`M3!_+HE35A)*OJ:BTGI2\23$DB(C1T9C4$QU-*8,TN"'3;18 +MFN$<7$LDL3`@*3,YE"1\F8MU\37$[2PN7N;]M3=I[>65A;0.P>+T&5!Q:.E/ +MM*>M=CA:-#NUTC1M-EMXY3:V<=M>2*]&_=K%6*)F&RN\>[=:#;6X"=:K9+?V9A:3TN$D-PLAW`:WE2X7EN-JQ[[X2?X8@()^NK_I_]]_Q8/6D +MNJ0_'_+(R[\OYNV'.L64M_8^A"0'$L$W%M@PAF29HSL?MA./3(^?+&HGU/WJ +M?Z22=S_<5NWN^2_!N?B!^'C\:KVWPP.WU5OR60W^F]E<^6(*_P"]J_Z`28?^ +M*P9XKS]]\?A"B[<=OB[Y8\LP`_[VC_3F5YA3^\X7$U]^Y^/_`)>'&]=J'MB' +M^&-1JG[U/]'8MU_WHK>1WM7^'8T1C\7+XW;MF'EC407_`'J?OV1NO]QPO9K[ +MX/AW^&5?L\?B1>V2O^GU[F-?T>BJ/+$"J#]=7_<>%6$]`BI(MP1-\>WP(HVX +M_P`W?'+Y9A1Q_IH/UQTEF%*&1H[J;43Z7Q="UPPWK04P.OEC45$1]5:VW#H1 +M^_*7(N>;538BA8<^7QL>V^.C\LZ@C']XE)GBDV/]P([Z:_X)5>G"8(./'[([ +M8W_3Z]RU_15$\L01HC?7E_W'+'%"VX"+">9$QY[$QT&W&GVN^/C\LPQ2(OUP +M'ZR\4\JTH9'@N7OZQ#ET+R4.QH,#1>6-2C$!,JUM%MT(##]^8)C-ZC52G($^ +MHO/E^\)Z#?'0^6=0B=:R)1Y+>2H/]R(+R2\,4=5KQX2>FM*?*F-_T_L6OZ*^ +M+RS!#'%)]>4_HQ(;>%C4*B6RLM)CSV8QO0T(I]KOBD7E>"%XXC>`B=H)Y4(H +MSO;3_7.48Y4XERM=C0=]\"V_EC4H1:L95+6<=K$5##]^;8R$RFJ4Y/%O36A`H6J,2?Z?V+7]!4A\M +M06Z0S_7D)TU(;>)S4(J6Z2Q4E/.H8I.:T(IUP\L-/2RTV/3^9D"H5>2E"QE2QID=MO+.I0?5)#(E;*.UB,:L/WQMEG0R[IQKRF#KR!^(;X?Z582V.D +M0:?(X$D6M1@:TF+)_H:6T9@5A24V\5U"9-TXUKA&8S'$"H:@J0M&`HS5'C*^?K^Q%?T%>+R]'"8KTWZ&6R$4*R$$1 +M@6Z7$-)/WE0Q-V]?BVV&5'Y2M8UCT\W9,)"2R1=)&,4"VO)?BH%/%#]DTZ=\ +M2M_+>HPO:SDQTM%MHS:JPXOZ$-S`7'P!?^/A>-5KQ05WQL'E348HX;8W*@J8 +M7^MJ3SC]*U^J\(]N76O'X@*.U?=O^G]BU_01,?E](GCU#Z_&9[4QQ"4@B*D2 +M2P\6_>5#%IV/VO\`)QB>4+1(UTSZV3!1)&BZ2GT[1-.Y#XJ<>**?L]=N^,@\ +MN:A%);W)$5+<0H;-6'!O2@FMRP_=\?\`=H456O!?'$XO*>I)!':&[')?3;ZZ +M">:F.P%AQ7;E]L%A\0%&;OC?]/IW+7]!%IH*I(FI_7X_K$3J@EH?2HB-#Q/[ +MRO+U'K]K_)I3$AY.M!"-*^MGZOP#>G_NW:S&F\OM4IQ%?L]^-_T^GK0^E0H(./]Y7EZ@Y?:_R:4Q)O)]H +MT+:5];/UG0VPMN=? +M3X]!Z?V:^GWKMB+^4M2:V>S%V.1#GZZ2>9+Z>=/H=N7VR'^U2@'?&_Z=;=RU +M_09#I5D+=KJ[,ZW$EY('=X_L#@HBHM6?NI[^W;`M_I,MS=WT_P!9CBAN;)[6 +M1"&)4,&I*:OQV^73%](L)[.2]FF"QBZE1T@0@J@2)(OV50?L4&WV0,":EIM_ +M=WFH^FBM;WE@]HII +M=1B)F'[HW$=O&)=DXUK`SMQ`W;;-<>5]0F]5!,E*W;B1B?WPN94F$,E%Y<2J +M\'J2**M!X2OEZ_LY(KGZ52;RS!<1S2_7E!U-)[>5Q4JR7*1QTB)?=@D6U2:] +M<4E\L0S22+]<`]!YIXE`JT;W-R+ZL@Y4XAU--A4?+`MSY8U*<7;B50;V.ZB5 +M&8?N#6-0F>0"5**]U(&8_WPN;I+L0R46O'@GI +MM4G8"@QOEZ_LY+7/TKY/+,$J2/\`7E'Z22:&9A4JZSTH(27W(C4C?E7[7;%' +M\LPR2,/KH'U5Y)H5I4QM+=1ZA^]'+H&A`[5&!IO+&I2BX82K6\2ZC`+"L!N' +M1Q(M$I4E/4;AQ^,#J-\=+Y9U"1S21*1O/)4G^_$U[%>B.2BUIPB*-RKU\,;Y +M>O[%KGZ51O+$#JS?7E_W(ATF.Y#K(YE`A//)2%Y'W/]^)+Z"_XO\`#_+"RGERW<]L;_I]>Y:_HJW^&("" +M?KJ_Z?M-_E@RO=4A^/\`ED9=^7\W;!VE:+%8WGJ+^%1\L:B?4/JI_I))Z_W%;MKODOP;GX@WP\?C5>V^&&CZ+=V%ZL +MTSJ4BCN(N2FIE,\XN%=OA&XH2>1)Y.V].HD=CZ[^"0-QZ:5=4T6.^O?5:Y$7 +MUI((9(C]IEM9))QZ?Q#W0O7RQJ(](^JE +M;;AT/]_QN1=Y%?T43'Y9ABD0?7`?K+Q3RK2AD>"Y>_K$.70 +MO+3O08G%Y9@ACBD^O*?T8D,$+&H5$MPRD3$/LQC<`TXT^UWQD/EG4(W6LB4= +M[>2H/]P(+R6],4=5KQX2<%I3[L9!Y8U*$6K&52;..UB*AA^_-LTC&4U2G*K^ +MHO/E\=?GC?/U_8M.X@I(>=0Q6Z:M"*&F)6_E;4(!%&9D`_P!$;U4)K"+9 +MV$7G)0T-P\9%'=[8+\2CE0*6"D[&G2N^22]_P!Y +M8/\`C(G_`"=3(I8^6+^T>U1Y498FM9&E4G]V+92IAC!7EQW*KN!Q9JCQE=[_ +M`+RP?\9$_P"3J8+]0]7%R^\)Z8)Q*E?2=W'R'7<`TT2>[N+-WNZDB:58' +M/5XE0I]EJ?$*-WK@,"!92)`FDRS87ZU-=06!DLZ^IZL"NRCD5B:9%F +M<"A^S&6/3([^D_,';GL3]1^&OUC_`$IXZ-\'Q#T@F_P_"2_:N&,"1=CG2F0! +MIF6;(;^D_,%3]O=B+[X/]YQ];CC''X-OW+/_`#?"H?O4VNI^8"PKSV9!9#A_ +MO0IO)HF+?!O_`*.L9_9^%B_;8^&>\(XQW%F.;(:NI^8*"O.AX?7R5I]78W"H +MRJ>'PCT^53\5$`D[UQR:GKY=0W/[<8LP4IZ\9O9HG=QP_P"658W/V:/6F^/AGO"\8[BS#-D,@U3S`T<)EYA' +M2U;47*\?J\S^IZ\8;A\`#!5;[7%:/M6N/@U+S"SPB57$A:U$$;1\?6B>X:.> +M5UX_:$'QMNO#;;XL?#/>%XQW%F&;(9;ZGKSI;^L7$3I;'4)67CZ$KI.9H^7# +MX`'6-6V/$&O>N2/2IKZ;2()[I#]<:.I5UX,QWX%T^'B6%"1M3VP2@1U"1('O +M3#-D-M]3UUA;B9G%LZVQOIV7@8I7BNFFCY>G\`$J0JWPGCRRX-3\RL;.LLDB\1Q-:\OB7@0HI\6Y\,]X1QCN+,9V$!>)OKI$7&T9.*NC6WJ2.XX +MCC^^Y`GD.)"K^UN^&>\+QCN+,LV0Z'4M98P+)+(+)C#]9NRG%D=H9FD0_N_A +MHZQU''9CPKVQD>J>:#'&SPM]?(CI9E**R&Q69W8<=O\`22RD\A0@+^UN^&>\ +M+QCN+-,V0^/4M8+QJ\LHT\N@EO.%'#&!W9/[K;XPIIQ^W^[KVQ(:KYJ]$.86 +M_2/`'ZEP^&GU#UBU*?\`+5\%>77X%XQW%FN;(>=2UCD5$LOZ/\`4(%[ +MP^/EZ`<)_=?S[TX_;_=5[8F^J^:1$[K"WZ1"N?J7"JA18&96`I_RU42O+J2O +M;'PSWA>,=Q9IFPIT2XNIVO1*[2VT6 +M<^I0PV:3FQ=XU17;D>-K'>+(]$("EI!'M^T1@$"20.B>(`663YLBL'FF^F]1 +M'M(X>,C(+EV?T5`$W'F>-1S,(I_K#Z1L%YA*B\/B +M8BA7=N9+"GPT`C$RY5\5)IE^;(9<:GKJ+<>BSF!%N383*O/UI4CMVACY55V',+CY]3\Q*\_I*YF'UH31+'S]*))56"5%XFK&+XEW;F2VQX[2\,]X1Q +MCN+,,V0NXU37TCN#"7,:)=-IT@7EZ\R"(P1\N'Q@NSJNR\E^+M7%9]2\P++, +M(@Y8/O.872A*^A$MY%%&Z#A +MU^K,[C[7*E%XQW%F&;(8^I^8`K%>=%$WU!@M?K#K/Q12>'Q#C0*?AY( +M3)VKCFU/S`'8#G]J07@"5]!1>P1(5'#;_1GE8?:J%#=]WPSWA>,=Q9CFR&G4 +M_,';GL3]1^&OU@_67CHWP?$/2"[_``_"2_:N&.BWNJSWYCO.7`I<&Y1EH(I4 +MG5(47X5IRC+4W-5"M7XMP<9`NPHF#T+(= +MTN$/PM7C&$KN**Q:OP[%PU/S!05YT/#Z^2M/JY-PJ,JGA\(],M4_%1`).]<1 +MC)%V%,P.A9EFR'IJ?F`NH;G]N,68*4]=#>SPNSCA_P`LJQN?LT#'PBFS?:XI23:M/6F^,@U3S`R0F7F$=+8ZBY7C]7E,=Q9GFR'P:EYA:2$2JXHM +M_C;=>&VWQ8RWU/7W2W]8N(G2V.H2LO'T)768S1\N'P`.L:ML>(->]-E +MXQW%F>;(=!J?F-F@]5'$Y^J^E"T?#U8W=A-*Z\11N'Q,*KP(44'+>K?4]=86 +M_K,XMW6V-_.R\#%*\5RTT?+T_@`D2%6^$\.6/AGO&R\8[BS+*O?]Y8/^,B?\ +MG4R)66I>89)K072NLKM;#T6CX&73IR]Z";'S^YI/^.A)_P`8O^9JYLR?\="3_C%_S-7-CT_S?]\OZ_T/ +M_]&3:E/:VMKJMS?6XNK6)4>:`JK!E"C;C(0I^G`%SYRLK%S;FRG)BYJZIZ7% +M3&64J#S%=EKM^O;!^I?4/JVJ_I3E]1XI]8XAS41`(WB9>[W.Q)/>![T6GF&.6.>>"UFD@A +M68AQQJSP\:QA`2]6+T!I3;PI45H^H#4[!+D_;5Y8)2`54R02-!(R`DD*60E: +M[TZX"FUC2+:.ZO;2$2S0PR,9$C**XA"AH_7*<=JJ*5)\`2*8-TB\6^M&F6`6 +M_&::-HU.W))&5FW5&!8[GDH-?OR,AZ;X:WYI!WYVWJ][+I]E]8A4,YE@A!;= +M5$TR0EVW&RA^77"`^:;\>H/13_1B0VQ_?4NGM*1_'L?@`VY?$P&2#5;R.QLS +M+)%ZP>2*!8CL&:>5($#;';DXKMA)_B6S`_W@7_03^^W'[H>L]M6'X-_[MF_9 +MVVZY*`V^F]^:R._U5LI?XHOZI^Y3_2&(78_N:7<=G^\^+S6/[OXMMH@=N7Q,O;%3YDL]_]`7_321#N/WM)X[2LWP;? +MWRM^UM[Y8\R69(_T!?\`0F59C4?NB]Q-9?N?@WW@<_L[>^2K^AU[V-_TE!?- +M-^PB_:+YV(]&.D+Q1M0']]ZE]-8!C^SMC7]#KWK?])0C\TZA((!Z*/Q@C'0^:+Z5UK#'Q22WB<`'][Z]W)9&2(\MEXQ\QL<>GF6R= +M%7]'J/T@L4L*DCC*LK<:S?N]B$HQV;PZX^/S):221D6('U=XH)7)'*)YKE[' +MC'\&X#Q[[C;$C^A]JW_20\'FG4)A:J84#7L=K*"%/[GZR9*QN"^[53@M2OQU +MQT'FF^F*,84XJUK&R*#67ZS<-;&6(\OLT7FNQV#;XZ+S)931QH-/0?I%()X4 +M)'&1+@,_*;]WL51*F@;PZXI%YELY7CD^H@"%H())"1RB>XG-IQC^#:-0G^J(8D#7L=K*'"DB+ZPD[F-ASW:L(1:D?$+$5W2M?A:E5]L)(?,=G.D4(T]`=02&>*,D<'2X267E+^[^T +M$@)-`V'MA?Q7FFQ7ZH8D9"S1]2I2JLNW6A4Y&8_HUNF)_I6Q^V\S:A.UI"8X +M^5XEM()E4E8_K$5U,4(YT)K;!5JP^T,JW\UWTR0S_5E*GZNC0("6D,\9D]2( +MUKQ[K\)V5M\5B\PVDXBM?T<@>_$,T<1(X,L\=Q/RE(C^T%M7K\)[9<7FFQE, +M5V;+C&GI123&ADC:90W!0%W454'XAUZ;9*N?H^U%_P!/[%.W\RZA,]K`4BY7 +M2V\GUA5)1!/#I0G_1A3XALXQD/FR^EBBN3:J58PH;90?4O6\ICL/T;&)KDQR+`6'ID2I++R9O3^T#"P^SUWK3?&)YMT]T34OJ= +M(.*(9]O57G:)?\0O'[/!U'VNO;&OZ'3O6_Z;4?F2_>>.TI"#(R'ZWQ/I`-`] +MQQIZE/V.7VOL;TKB(\WWYMA>_5!0@#ZI0^I4V'Z0K6M?M?!]G!2:[;NZ::-- +MC]>5U80;M.,0U3ZG_H_`+Z^WJ[V8U'CQX_ +M9X&GVNO;&OZ'3O6_Z?V./F._$YM*0U#'_2^)]*@MQ<<:>I2N_/[7]WO2N(OY +MOOTMGO?J@H`X%I0^H"E@=0J36OVAP^SW&"SKEN&.F_HV/UPY;ZOR'I4""7GR +M]/[7,\?L]=ZTWQ-O-VGK&VI_4ZV_!E$^WJGA9MJ/'CQ^SP4C[77MC7]"]N]; +M_IIOI-_/>27L$_!C:2(BS1BBN'B27IR?^;QZ4PNNO,6F:3<:D_U!UDBD9+F6 +M)8@TTL=JMYO\08_N3LS>%,,M*O$G-U:BW6UDM)`DD<9JA+H).2GBG\U#MA?- +M>>5["ZU.>Y7]\SD7[RQ2R*7CMXY2B\E93^X56XIU`KVR``XC<2=N09$[#<<^ +M9;M_-MO1Y<^/6!ABUKKKW&K-921&*+GZ$=0K%I1 +M;QW;#57968,`>1Z=-\$!N08VF1VY +MTA[GS/J$!NXA%'RLTN93(RD"3ZO';RB,#GLU;@JU"=US7'FF^A]1_03B3=(L +M;`@Q?5I5A$LIY?8HW-MAL5WQ2;S%9P++;G3D+6"S3R1@C@JP1P3WE^K\)/AV5GY4-3T]\G7+T?;S8WS]2A< +M^:-0@%VHA0M91W4I8J?WWU81,(U`?9JR\&H6^+'3^:+Z%GI#&59[J)`0?W7U +M>Z2T$LAY;KQ?FVPVIOCIO,EE!'+&=/0_HY)[B:,$<42W6.0M#^[W8I+45"^& +M*2^9+2*25C8@^N\T$;@CE*]O<+9%9/@V!D;;<[8UR]'V\UOGZD/-YIU"(7"B +M%"UFES(Q*G]]]7=$$:#GLWQ\&H6^.@QTOFB^C?\`N8^,LDT:U!_<^E>16/.7 +MXMQQEYGITQTGF6RB1T.GH?T>LTTR`CC&L%/BA_=[ED8L-E\.N*/YDM$D?_05 +M)NGDAB:HK*T5U'84E^#8%Y13=ML:Y>C[5O\`I(=_-.H()AZ*5M1,S54_OO2G +M]#@GQ[-^RU.7QD#'-YHOE9?W*4G>1%J#^Y].^@L*R?%OM,6/V=U./;S+9*I' +MU!?]`#O*H(I$L;F.L/[O>J@MT7PZXYO,EH'/^@J?KC.D1J*RE+J&P_>_!M\5 +MPA_:VQK^AU[UO^DHGS1?CU/W*?Z,3RV/[ZET]K2/X]C\`&W+XV`P?I&MW5_> +M+!-&JI+'<2J%!#1^A.L`1SR-2W(]A\2M@7_$MF!3Z@O^@U,VX_=`3/;UA^#? +M:-F_9VVZX.TK6+>]O#'':B$W*331R@CE(L$B0L9/A6A_>*1N>OM@D-CZ*^*0 +M=QZK4]7UNZL+UH(8U:.)+:1@P):3ZS.UN50\A0KP'8_$RX7KYIOR(OW*5N>' +M&BG]SRN5MN,GQ[GXJ"O'XU(PTU36+>RO?2DM1,;98)9)B1R1;F1X5,?PM4_N +MV)W&WSP`/,MF13Z@O^G<6B%124-*L%9O@VV=6_:VVZXQ&P]%_%2=_JI8GFB^ +M9C^YCI"\<;4!_?>I?3V'*+XMAQA#C[7VAC8_-.H.(!Z*ZFT_\`=?!N`]NQ_9VQJ>9;)T"_ +M4%_W(+')"I(I*LK<*S?N]B$HW1O#KAKGZ.O>B_Z2R'S1?2N/W,?&.2"-P`?W +MOK7DEEZD1Y;+QCYC8XV#S3J$PM5,*!KR.UE!"G]S]8,@,;@ONU4X+4K\=<$1 +M^9+221#]1`^K/%#*Q(K$\UR]CQB^#@_2*0SPH2.,B +M3AFY3?N]BJ+4[-X=<:Y^C[5OEZEL'FB^F*,84XJ]K&R@&LOUFY:U,L1Y?9HO +M-=CL#OC;;S1J$_U1#$@:]CM90X4D1?6%F[5AX+4K\1P1%YEM)9(I/J( +M`A:""1R1RB>XG-F%C^#<"0"NXVQ.'S'9SI%$-/0'4$AGBC)'!TN$EEY2TC^T +MJ0DF@;&N?H^WDM\O4LM_-5],(I#`G&MJC1J"3+]9=HS+$>7V*+R78[*V^:V\ +MS:A.UI"8X^5XEM()54E8_K$5S,8R.=":VP5:D;L,6B\SV0Z]-L;%YAM)EBMOT<@>_6&:.(D<&6>.XGY2D1_:"VKUH +MI[8US]'V\EOEZEMCYHO;M[9FA14E>UB>,`U?ZPO(RQGE]GNNQV5M\E5[_O+! +M_P`9$_Y.ID;M?,MI=S6\JV0`+0V[2L1SC>X`^!:+NH+*">0Z]-LDE[_O+!_Q +MD3_DZF"JD/3P\OO3TYW_`&-)_P`="3_C%_S-7-F3_CH2?\8O^9JYLCT_S?\` +M?+^O]#__TI-J4%K=6NJVU[.+6VE5$FN"RJ$4J-^3_"/IP'/:>32%-W<6Q9U; +M]X]UQ+U9U=B?4'+XBP)^CM@W4;&34K;5;")Q&]PJQK(PJ%J@WP)/Y.L+MFEG +MGG]:7D9G5H_B9^7)MXZ?M4%`.@]ZZB)`&\B/=[G8D'H`?>BC!H"FXM(^$LCQ +MN9K".4NS*0G(B`/LQJOQ4[UKOB=OJVFV>EVE];6TXL[V(7I<+R*+,423TZN1"_`J&D*L[!N'/XBM:.+3(EBMU!C:O!5C21P\;`NH78T[X+CU)*:/0`(G59+.*R9KY/4@9XT$8%2 +MTCR*D076OW=;9OW))FV_NS]8*UG^/X_P!^A;]KIR]\/[VS +MAO[/))%931E>)UE1AUW5E!PN_PQIO\`Q9\1K/N/WO[TW'[SX?YV/V:; +M$CI@B8@;D\^BD&]JY=4#]>\M5D_T9OWS'TMO[P_650F#X_@_?NK?L[D-[Y8O +MO+58Z6S?N642[?W;&Y>-?6^/XO\`2(W;]K<%O?!O^&=-_P"+/A),&X_=5F6Y +M_=_#_.B_:KL`.F6/+.F@U_>?$5:?XA^]*S/=#U/A_P!^2,?AIU(Z9+BAWRYH +MJ7<$`+[RS1Z6S?ORAAVH9/W_`,+0'G\`$K<_V:5Y>^6E[Y:+Q<;8@PM&CFE! +M$QN9(4$PY?$1<(_\U#5O?!H\L:8``/4^#CZ!JO[H+()@(_AZ<@/M5V%.F6OE +MK358,/4W97F'(?O62=[L-)\/7U96;:G7PQXH=\EJ7<$O2^\LE"$MF'K^BUN. +MAD4RDQ-`>?P!7)?JM*\N]^6S)!Z=L1Z1A0GC01NUP\,*RCENPG#=C0[X +M,7RQIJ`!?4K&(UMVJI,2Q-S54^&E.QY5J-NF6GEK38V5E]39HWD7D")'BF:Z +M1Y-JU]5RVU*X\4.^2U+N"7Q7WEEHU$5LP,XMY+91LSHS.\#0MS^!5^)QNO&M +M>^/AOO+1DMVBMR!']7CY!>*QLTK10)*O+=EE)`V/$GM7!:=-8OIL +M$MDHCLA&/32G'@JBG$KVXTHSM([&%3Z,:\`&-20>I8]R:[X)&)Y$\^J8@]:^#'X+SRVR1QPVKJ +M\WH/;1CX9"K),\+1-Z@X*J12T')>(KMCH=0\L&2WEA@XQHL")+QXQQDH?11U +MY?:56I]D\:TKO@V/RSIT7IE&D$D(C6"4E2T:PI+&B+5>)'&=Q\0-:[YH_+&E +M1^FJJ_I)Z9:$M57:)>".]1R)IUWWH*],/%#?>2*EW!`0W?ELQQ0PVDBR2^B] +MO"/AD*M',86C;U/@41Q2`#D.-"*=L=%J/E)'&=^H)-:]5])CX(J +M-Z*<*P$@HS1Q?5U9MN1/"G>FP/;'BAOO):EW!`177EPI';Q6<@EL!PK]KZMM7CTVK@]?+=BI6022_6$8%;G +MDOJ`*AB"_9XTHQ[5K\77?&CRKI`00^FWU8`#ZM4<*BW^II]GTO@IR_P`BG;,VI>507N6A'U?B +MW*?C^Y-+3UF'"OVOJRTKQZ#C7!_^&[$DR>I+]8+=C+=02SJH@I!';O +M\*LO&L06I.]&ZT;#>RT^&Q,SQL\DEPP>:60@LQ50@^R%'1?#"FX\KQW]QJ+W +M\[F"\E,T,<1"\&:T2P=B60U;TU:F]/BZ5`.`$6?41M\4D&AL#NW';>4D22XA +MGMU42?'<)=$%9")&(]4254D.Y(KOO@H2:5>:A>2>0%C+;B +MSD0T"&(%FZ`#<\SB2/YQ*@'N`6Z2^GRVOK:<*12L6-%Y'XFXT/PCE3J:8<:?IMOIJS);%RL\ +MK3OZC%R&8*I"EMZ?#@2;RWIMP\S2ARLIE;T^0"H\_P#>2)0<@U=QOL2:=<08 +MV;)K[5(-#8)=/>^6U21)[5V>'UWND/Q.J*L3SM*WJ'FK+)&3\322%76.=(UY?:9P`=AR([TP;)Y8TZ42%VD+SB5+B0%0TB3+ +M'&Z-1>('&%`.(%*;965C<36S$P"XDNE/Q,B+Z;SM,W,\U;DC'=N0W[8I->^6EEN#+;D +M^H9X^16JR.LR0SI$O+9FFX@[#D1[8+D\L:;*L@J@RI,$61'HM`. +M,8'P@4&PQTGEK39&=GYD,971>0`C>:47,CQT%:F1>6Y-.V/%#ODM2[@E\E]Y +M9"4DMF)@$[W`.[1JKHTS3MS^-6;B_5N5.7;'R7OEH23<[8DRF5%-*B1Q<1PR +MK".7PDW#)V6IWP6_EC39`P8R$RB1+AJJ#*LQ#.K_``TI\-!QI0;=,N/%#ODM2[@E[7WED*O*V8^AZK3CJ8P)OWC +M3GG\8:4<^K5IR]\E.F/%#ODM2[@@/KWEKX*VS?N23-M_=GZP03/\?Q_OD+_M=.7O@W2[G1 +MI;UQ8PF.:19G20CX71):3&/XCQ'J.&(H*UY=\O\`PQIO_%GQU,^X_>UE,])/ +MA_G8_9IL2.F";+1K.PG^L0%LP]?T6@'0R`RDQ-`>?P!9#SZK2 +MO+O7#!?+6FJP8>IN5:8*'?)%2[@@X[WRT9(/3MB#$84)XT$;-V`V9T9G>!H&Y_`JGDXW7C6O?#!/+6FHRLOJ;-&\ +M@Y`B1XIFND:3:M?5&WXJBVZ*X7BD19F2!)%Y?:5B0/A/$GM7&PWGEMDCCAM75YO0>UC' +MPR,K),\#1-Z@X*J1R$#DO$5Z881^6=+B,?`/P3TB\98%9&A8NCR5%2W(U-#O +M05Z94?EG3HA&4:020B-8)25+1I"LL:(M5XD<9W!Y`UKOCQ0WWDM2[@A+6^\M +MR3VC6MO2@@CBD5>*1LRD0(Z\A\2AJ#X3QY4J*Y([W_>6#_C(G_)U,*8/+>FV +M[PM$'583$WI\JJSPBB2/4YI/^.A)_QB_P"9JYLR?\="3_C%_P`S5S8.G^;_`+Y?U_H?_].<6L,SW-VR +M1LR\D%0"1]@8+^K7'^^F^XX6_P"E?\O/_3MF_P!*_P"7G_IVS3;=?Q]CL]TR +M^K7'^^F^XYOJUQ_OION.%O\`I7_+S_T[9O\`2O\`EY_Z=L%1_']B[_C^U,OJ +MUQ_OION.;ZM?\`IVQJ/X_L7?\`']J9?5KC_?3?<?\` +MIVQJ/X_L7?\`']J9?5KC_?3?<?\`IVQJ/X_L7?\`']J9?5KC_?3? +M<CQ^W^S7XJ +M>&;)_P`7P_2Q_A^+_]D*96YDTB"346?C26E2KQ>"1C0 +M:*`D\#+^\`7,&%H9!D[P4"H-$3BF/(YCH,HVPX,HSC3)L1M*&P4(&HYT_CO0D]3J.DXTD%#(C?$PYCG#5"ABQ3*CH.M(SG.L +M.S]0$J2@K<&,=N_D&9Y%;R_!1<-XU+2]T9+,&:KDH&CL+;$ +M"B)IDG#&R][)?704"71T150/+"5S+`I!3$-\7I?5![5L=_:IE&?Y5@BMZ*_R +M@K<'"C6YAV;P+B(X#7B>>S%O-IQMH88AL_PY7"IR#'#]'4,/=6&1]#KGU,8<KQ>L"@)(;DFAR#JU\S!FFQ/`>.&5Y+RWFO/;$]%5"[E]O%>PK +M%_+`U;M$0$55\3]74LX!0&E]#%(#NQ?;`HMQ,`7.2=,^-^P*'.,G5D[%_9;B +M3@U='$:&[JX=!R@-$J!#LGW`@!P>U\,47ZM+@FVI-1Q0W!DC(FN^.4+6`1,;V44&!/ +MP;@S+=&"`+A7S!P#:&.'D6(?-"?>D2(<7R?QA=7$F1;GY&IT0$#F)\E&113D +MO)F*[/GV2>*+`Y'DDY1LTC$TUWT>3DO-CDG$TP>`PAD#*&-":+3J1Y,2$$.` +M<`V!I#'(-L(,XRAP70&>00;7JQE#0\0YX=E4)?1FD-[\723M96,UPO\TPVQV +M#+&@EX,4NAC4T]6>P*([MJGVI0,IDY_')3ZOEZDS3.G)""&0,ADC)SZ2ZGTE +MYSPR)4FD&$/,\Z!IV#:&)=,U$6AL;3/4Y(=TDP>H2LD-ZFX=&]H1/M)=':/G +M'I(="BR&$F4;.8;BFL\)Y3TI3/UJ@5":%_#F&D/"3C'3^,2&.<,@FOK[!W1N +MDU2YZF)#:AJGE09PTH,,EFI%2JO5-J><:1%-:=U,!0&X,L\YYP4J_0"C*;!SHO1FH%7T4V%2[6,XJ@DJ!KKFTU.@,E_O:;U# +M$V)_G(Q.=LS0%`*G7Q9A^M6!P,E?L*8/$9<"=`9KAK4E1?Y@@;%'!F4*=C6V +MF3'F14`'*GY^DOMW#F,]($G-J!RB%2AEKB6\4J[=3XW]&R9IL%/A&50HW->>`4!BCL"TQP8PWV +MYS4GQZ6;FGYFPAH[2L=M`G%HEJ0-V-*-:$N!15LUY0R(L#92)?]1&F*C>:&? +M)9R:`!I58D0Q.>K))#2X"@-M;*LANFH'/1NQPDH?V,8EXFQCDZK#;BK8]KMI +MW4IQJU(DP8/;A0M-%$;6U+";84.52;'#'( +M%$@=-;;V,F'3=6U(SZ]ASM+HQ/,$#S2N8)4?N<,.Z< +M=))!!I8UN+]^[P>=2($`8S>G,.&PY?6P67RH +M-O+E_!`DM*J4$.Y3[ME=7/>5_G:`4'$!14V7FTD>P0\1[B6@W9>1OLJ$"@.W +M*V&,JX+PDAM,Z"`(@;P%!1]C[-V[!(_'M!N@!7:8P:Y&(Y\0L7Q\`?+^:`H@ +M(`IE;F1S=')E86T*96YD;V)J"C$S-S8@,"!O8FH*/#P*+U!R;V-3970@6R]0 +M1$8@+U1E>'0@+TEM86=E0R!="B]&;VYT(#P\"B]&,B`R-"`P(%(*+T8T(#(U +M(#`@4@HO1C@@.38@,"!2"CX^"B]83V)J96-T(#P\"B]);3,Q(#$S-S,@,"!2 +M"B]);3,R(#$S-S0@,"!2"CX^"B]%>'1'4W1A=&4@/#P*+T=3,2`R-B`P(%(* +M/CX*/CX*96YD;V)J"C$S-S@@,"!O8FH*/#P*+T0@6S$S-S<@,"!2("]865H@ +M,C8U(#7!E("]!;FYO=`HO4W5B='EP +M92`O3&EN:PHO4F5C="!;,38V(#$P-"`T,#,@,3$U70HO0F]R9&5R(%LP(#`@ +M,%T*/CX*96YD;V)J"C$S.#4@,"!O8FH*/#P*+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO4F5C="!;-#`Y(#0V.2`T-3$@ +M-#@P70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD;V)J"C$S.#8@,"!O8FH*/#P* +M+T1E7!E("]!;FYO=`HO4W5B='EP92`O3&EN:PHO +M4F5C="!;-#(Q(#$Y-"`T-C,@,C`V70HO0F]R9&5R(%LP(#`@,%T*/CX*96YD +M;V)J"C$S-C(@,"!O8FH*/#P*+U`@,3,U,B`P(%(*+U(@6S0U(#0U(#4T.2`W +M-#=="B]6(#$S,S8@,"!2"B].(#$S.#<@,"!2"CX^"F5N9&]B:@HQ,S@X(#`@ +M;V)J"CP\"B]$(%LQ,S$S%F+P)'*"\25#-%.2HK)C<\(U1">3H[,V%U1D=,/2X@@F +M@PD*&!F$E$5&I+16TU4H&O+C\\34Y/1E=865I;7%U>7U9G:&EJ:VQM;F]C=' +M5V=WAY>GM\?7Y_(B8J+C(V.CX*3E)66EYB9FINGM\?7Y_(B8J+C(V.CX.4E9:7F)F:FYR=GI^2HZ2EIJ>HJ: +MJKK*VNKZ_]T`!``<_]H`#`,!``(1`Q$`/P":F?4);B:.*=8TB*@!E9R>2\NO +M-<=_N4_Y:T_Y%-_U5P)2)JD>GR+%>,H%O(XJJN8_A)Z]\*[RU\TG35ALY +M:7(]=UDD8!E:G[A&HY!6I8U+-T%0:U73BS_$![W9'W$^Y/\`_[[9&3Y:U.J_&O[EG:3XA_I(:]BO-_A_DC;[=?B=A]G6M3JW +M[Q?WS*T?Q#_1J7DEYM\/7A(OV*?&BC[.X:'\\?);/\UDX?46+*M[&2IHP$;5 +M!Z[_`+W+_P!RG_+6G_(IO^JN$^BZ->V%X)KAEXQQ2PLP()F:2;UEE-`#L*GX +MJGD[=J$B=3@UF2_M9+&;A:*/WJ+2O/U$-6Y$57TPP[_*NX'6A(>]/2Z*.5M2 +M856\C(Z5$;'IM_OW+_W*?\M:?\BF_P"JN1NVTKS!9VEQ;6S>F.4C0*LB\0[W +M3S*X%%HBQ-1TJ.70$?:P_P!)CNHM-MH[[D;I4`G+N)&+_M'DM`:]L9;9],T6@K\7[W;-SU&JK]=CJ^ZCTVJ:>'[W(O%Y9U2-8 +M277_`$9;9)5#+6Y:"1I&EW6E?B]1?4K5R0:"C%\'EO4HGCY.GQ/;2*RMM`L% +MW)=M"M5Y$>F_IKQIWJ`,-#^>/DBS_-9)ZM^%9C?1<4J'/IFBD=:_O=LOGJ(9 +M5-['R:I4>FU33K3][D7M_+6J0K;%G4_5([6*9%9:W+6_JX:X>%*J&*\&]-.)`(9J@;5:'\\?);/\` +M-9+ZFH49OKT7%*ASZ;46G6O[W;'?[E/^6M/^13?]56+UM'U"QG6-Y)=, +M2QB4D%9+B)9:7!^$4JS@@M5NN2Y00H!Z@`9&6W*5I&_,4H_[E/\`EK3_`)%- +M_P!503Z['S(J%]-JT'>GJX$UBRGO/J3P@.+6HI +MAEA`',%:JT@;XO#"*#ROJL2P0&Y4.OH-]<0DF(16_P!7:-`0'/Q5XT8"CM7< +M`%&XLR`4\]HVR;U;\*7^OQ<5/%FX&@(-*$^KXX[GJ/+A]=CYTY!?3:M.E:>K +MD8@\NZC$UO.RIZ=N($>R5E*N88)X&=24"=9E"\EKP6I^+;&Q>5M6CBBMC=`2 +MKZ3?7E)Y(([(69101S_O`6'Q`4=J[TJ:'\\?)%G^:R?U;_B7^OQ<`:%N!H#7 +MC2OJ^.7SU$.(S?1\R*A/3:M/&GJY&HO+VHQRPW)2,Q1&,-8!EXMP@D@+@\.' +M5PHJM>`K]KX<%6.C75M<::ES%ZOU&"!'O48WB73)? +M382@W%*""983<23RQW +M5=PLUD]FD1`'/X9&#=:444WZ(YD&0%=5/($`LA]6_P"(?Z_%P)XAN!H36E*^ +MKXX[GJ/+A]=CY@"29UN51YI7F= +MJ&=98?1$3BA8;TY5)%$6FY-&A7UA;/\`-3U'U&10\=]&ZGHRQL1MMU$N._W* +M?\M:?\BF_P"JN`]%L9;)+OU(Q$MQ<&:&/X>2IZ<FW_57`.MP:Q,(/T5-Z04O +MZP6G,DK^[(Y%116Z@_<>F%VJ1:S;_IR\M$E+RV")921+$TGUB'UV^%44N0WJ +M)QJ#WZ9(6:]0W0=NA3__`'*?\M:?\BF_ZJY7+4JE?KL=5%2/3:H![_WOMB.E +M+>K!(UXQ(>5GMUI);RS +MR2K+Q!V='5*[[?+`.9!DO2P$W$FH%587T15Z<6$;4->E/WN6'U$L5%[&66G) +M1&U17I7][A(FA7)2WD=4,L>H_7$#<>443?;4%0%Y,5Y,%VJ3UZYK/1=0MKY[ +M@N*(+ZDBL`TINIA-$/LU'IJ.)Y5[4VP[?SE_S4[9M14J&O8P6-%!C85/6@_> +MY7/4:L/KT=4^V/3;;OO^]VP@O=$U6]M[;D_[\V(M)&DD5WAG)1C-S$:!]UY$ +MHJDLJ]B>*,GEK4V>H=*1O*[DMMY&&\M:HPD_>+_I +M'J",%A6V+W!N`^RTJ00Q].GQJ!]GX@+LO+]S'._UOA)#Z5Y%)4AA.;F=)XV8 +M<1]@(:\J_$QIMN4@?S_L6S_-3T-J1"L+V,AOLD1MO7?;][E_[E/^6M/^13?] +M5<(VT;5UTW1(;:X2*;34M4EB*\@61H4F=7Y#I")%'P[\CTP?86^HI>S2WLDC +M#E,%(=?19'D#0<8Z<@R1CB3MO7K6H!Y6)!(]Q1O^Y3_EK3_D4W_57-_N4_Y: +MT_Y%-_U5Q?-D>(LJ"A_N4_Y:T_Y%-_U5S?[E/^6M/^13?]5<7S8\16@H?[E/ +M^6M/^13?]5<;J!ODL$3ZR3+.T:ET'"@:4)0YC<7362:G=I$T[0*)%A3JQ6 +M.M!UP!<>8I[:*.5HH)8Y#+^]BF+K2,Q@(/0`_V.R-=Y +M']J-LI;HZQJ$@4 +M6\8'H[4_O>0V^>!]1&LIHEM:62SGE;$R2JCB?UU="(SNK+4ZK +M;S:JDO3#+1+BZNK)I+O=A-,D4A`'.)9& +M6-]@H-5[TWZ]\-D`2H&B/N15V-][^]++BXU:\NKVPN(9X--EAN$2X@1A,C(T +M<:,A`I\:L[BA.U.AJN6+6]N[?3H)(7AK=.9IE+HPMHF>5"PY55IN*`@]`QZ8 +MC-YAODU615C5888;L?578*3)#<00QR2,4^#DCLZ_%0J033KA[I=\=1LDNBH4 +MLSJ54DCX&*=2!7IVJ/`D;XFP`:`_6HHDBRE6APZO'>EKWU.`BE%T7)*M,9@8 +MVCJQ!'#E]F@XE5Z@@"]3N=8AO[6*QA5K1Q6:1E9B6]1%*?`#Q^`L:F@]]J$# +ME!*(S*1\)V4,?B:M.N`EU?7BR@\MFC%J.`'UA6O +M9X&8_#_RSI&VW&@;ET&'A)/%Z?[5L`5NJS/KDMW?22I+&/JES#$B1RM&']8" +M'AZ3@L[14/):$5]J"26$DDUE;R2JR2M&OJ*ZLI#THP(?XNN$V@ZAJEW=%+RI +M4P%YU*A1#/ZA7TA15_9KL2=@&_:P7J.L3V6HVUE':^HDX4M,TBQCXI!'Q3G] +MIEKR(&1D"3PT-NY((`NRD45KYC"1^H9N*K;C4@2Q+R"1C,T0#59?VFX4Y)11 +M4@C%(;;S&)(?5,W+G;FV)8D)"MW(TRS$-3E]6*@\JU/0[89?4]=HP&Y,O(JS<*>6`3!E9FM1%$8POK127#1S3,"M01 +M#\9H1QH*CXLF>+?:+';^DNLK/57M)(M2>ZB0P68G>/D\ANXY"\[(`7+(U%#% +M=BIVR0Z5]9.G6QNXA#<F[4V)( +M&U017PQ&369+:]L[$JDJ3I`?K(DJ6:5F0E51:D?#7D!3??B,K-R%T.?W,Q43 +M5]/O2V2?S)=11M=1-`\5U`["W20E$Y2+*I^R)55>)VY5]^F/M-9UN;5([":. +M,3+%:2W-NJ;HLQE$[._,\>/!2![TWZX;:UCQE9N +M42QBWXRK*02I;U>5?A))*D;`TUOK&M/]7$DK"V<6QNKHHJF*1XKIY8]THM'C +MA!JOP\J9)M(GNKC2[.XOEX74D*-,I'$\B*FJ]OE@-P%4"G:1ZAC4%MKH]`RK +M*H?J/``$&P%PS]*[7)*5Y4VIWPD2-_3R6QY\V1:U/J<%O$VF1J[ +MM*%G=@S>G'Q<\PB!F;XPJT`.QKA?<:EK<$A>2()$+3E2+T39.D*BIXU^L\#3C44)Z +M'(,PF#F&(1 +MG>3D!S#@$M0/\7V=\;-:^:RLP1W^OD2UE5J1&,VA2,1DGB#]8XT'$$$,3L15 +M:;4=9-M^2)('*/)%`GKS0#6FJ/:RF/ZPJ+J5E):1\W5_JZR6P +MN.:EBW#:4E6/OB-_;>9&GO/J9E$S-I\((;=@1@B9'<`=>?DD@#:STY)CHD=VBWGUCF(&GK9+)R +MY"+TH@VSEF`,H<@$],-,+]$O);_3+:YG9&F>-#*8Z\>94,PZ#>IW';"&]U;7 +MHIKL6RL\B&Z'H",-Z<48_:/3`\OF":.[OK86Z$VL^1V;5]=624)R)#W"SH(P?0C +M2[CABD4<:[V[,XJ3RPB!)(Y4ID`+9AFR&2:QKRHY0L0JW!LG"J?K+I*%C0GA +M0[?"./'DOQ]!AEI.H:I<:GZ-S4QD79GC*@"(Q3I';`$*#\<98[DUI7$XR!=A +M`F#WLAS9LV09.S9LV*NS9LV*NS9LV*NS7?2P_P",L'_41FS7?2P_XRP?]1&3 +MAS^7WL9\OG]RE%_O3=?\8[?_`(E<9LT7^]-U_P`8[?\`XE<9LL_R3'^-_]&6 +MSWD.GC4KZXY>E;A9'"CDU%C!H!XX$FUVY^V#6EMX&U&:[95MT"F8N*KP$>]1WP&;ORVGU>)K=%97D-K";1 +MPZR)Q]0QQ^ER!^-=P-\TXK^:3_8[(^\#^U6.JO!>ZK'=FK++P] +M0,$I]KTUWZX^D5Q`[A?5T(5+75X;J^EL!#)')%ZA#2<%#B-Q&S1CER9:GJ!3 +MQH:KVK_N$_T=E679OWM;N6S_`'7Q?#_=5_:^)E'OASJ)L-,MY+GZI&S7 +M,D4+J$5?4>:01KZC4-1R>IK7`$>L64LFFPI8+ZLMQ/;I\!*PFV9DD9&2-NZ[ +M?9]Z8BB+X;\_M;*J!3P(6Y^K[(9`?LG^;K@KZ_>+/I, +M4I2MX\PN%"\:<(WD5:>VB6R55@^K,&6B^DVH.8%]-0N^[?%TZX3'GZ>I^W +MDB_/H$O@\T:N]AFO)5IS>C+T;XCO@#ZYIL45Y:G288@E\ECZ!6/A(WHI>++)Q +M0@!5FV^-M]?TV1[?TK$1K;O%$2.(,,EW,;3C&JBA'J4Y&HZ]]\)%\H_@ +MC90:YR_`.Z(FUR\MH+^5H5G:UU&"QC6/X*QSFW^)N;_:'KD?=TP=-?3+J6FV +MRCC'=).TJFA8&,(5%5)&W(UIB6L+;:;I5_=P6D!=AZDB/&"DCU'Q2A:]W +MI5M>6ME.4%\BJL(2)@J^OS`XE0RH']%J`MVR.Q%@=_W)WY$]WWJ<6N`13O/$ +M_J1WGU&.%54,6;B4%?59.CU)Y#Y8'TS6;R];1C*$7Z];W,TZH*#E$T2KQJS4 +M^V>YQ\$^DHFH">S@@B2[%JRI$&,STC="4126;D_@>E<3TW4+2X;1WAL8[=;F +MWNI8PHWA"-%S1`JK]LM4[=L-"CZ?Q2+Y;_BU2+S38S2R01PS-(K0K$*)247# +MRI&\3\^!4^@QK7I[[8N-2GDU'3H1$T45W:W-Q)!(%]0/$UNJ+56*_P"[6KO@ +M&74-`_0]]J6FVL$PAM5N6B:#TO4BHTL+$2(I*,5;B:4K7N#B[ZG8V^J16BVB +MCZM(M@DRT!C,Z)+P1`/L?W8._AML:#A'2)Z\_9-&TN+U+;2YH4 +M:D4GHI`O!XHWE:W>DH^*)5-0-A7;#*UUEKW4-/2!2EM=6MY,\;@S6R3TWQ\UY86-Y:\+54A%A> +MW2R!#&\<<3VK/&(RJD<_4!8&FZX2`?X3>_GT1OWBME*?S%.^CQZI8V4BB:6U +MBA,_IT(N)T@8\4EK\/+N14T[;X+GU">WU."V<5A-E2TEC66`_`\J?"OI@-RC933H?')(;6VD99'A +M1F$;0@E0:1OQ+)_JG@*CVP&AS'4_=LD6>O/HR6O-)(D7XA7:CG*O(]'L(/WMK"!,4BC +MA6$,9&B5FC0(B,3P521M\(!/08'T[6-(OQ:S\!%=R6D38B0\3R^8&&# +M:W;+J/Z-$IZ`D`7AZWH&[$6[I?6[*ULT2S@:%U +M_=^FLG-%F1_39$I2@H?;!NHM8V%M=:Q<0(YM;>1Y9`BF0Q1J79`QWIMTQ-71 +MCO\`KY*+J[V2N+6K^7R_#JSQK%--<6Z*G$4$+'?;Y8O._6N`&UBP@632UTR-9(7,KVJ%5B_< +MK%.'5@@'+DZ`;?:[TWQ>WU?2M4OX&^HH_K2&W@NY%4R';<_!/E>^RA%J^IMH=EJ5PJ1S7=Q9)P"<0([B:&%]O4EZAV*FO2FU<' +MVNJ37%]J5FULP6R=4C<,G[RL234H6ZGGMV\<+$UJTDT32[E=.`AO9H!:6@1^ +M,9J)HW/&';B5J.*G?H<,([FTN=:O+#ZFIDAAC,]RZ&KB7D!'4QT*T7^;Z.N) +M'.X]_P`.2@\M^Y!V^M7\^@:3JLB)'/J$EES0+\(2Z>,,%^-_V7V-?HP=^FHV +MO)[%;>7U85=E9N"K)P4,1%R<%OM4-!L>M,"ZK>Z?H\<=HMC&T4,4E^(D"QHB +M6C1MR10M.89QQ&WSP'-K^DI+-I,T+B!HWJNRNRT%2?L[TV +MP\-[B/.Z1=;&7*K14&L7\VBZ1J,BK'-J$MH)$"_"$N"M0OQOV;8U^C*O-6U* +M%M4>!K=X-/MYI.1C?>=4,L<-?5'+B@K)0=P,:NI6:P6\$>G1B**^BM&CC*K% +M%(W!XY8QQ6NTBL/A'O3`\^M:1'+.TFF1OZ[7,"OQ0M,\,XLI$DJNP=ZBI)V& +M^(&_T]5O;ZD>=1U&.TL)YPJ27=W%"R\.-(WK7;U)14D5!#=,?/YBMX[NXL8H +M9))X8II48J[@'VJ%EUZQCT'3M5GME:=[6._MK-`3PK&H8JRHW!4$W'D0 +M!O3!$UUI4=UJGU^UB6*`0)//Z7J-*+B@"NJHS,*A1WQKOC^+6^XNN+V_6RTF +MZ+^C+<7$$=Q&JIQ993N*,92-NE&P[PCGGTR3]#I;0AX'O6@C1><(BDBBFF), +M0X_$KPTXL-L=:>8H[MG5(2H,,]Q;L6KS2!UC;D*?"3S4CKL?&HP&)(V'>H([ +MTZS860:Y:/#I_P!8)2YU"%)XH$1Y#1@I;=%.R\^I^>)7&NBVDO8WAJ;:X@M8 +MJ-3DTZ1OR8T/$+SWZ],'#+E7XY)XAWIQFPE_34LJ:?/`BHES>RV-S&X+,K1- +M-&Y1PRC9X#VW&'6`@CFD&^3LUWTL/^,L'_41FS7?2P_XRP?]1&2AS^7WL9\O +MG]RE%_O3=?\`&.W_`.)7&;-%_O3=?\8[?_B5QFRS_),?XW__TI=)':RG48[T +M*;5@HG]0T7AZ?Q(IFG%=Y'N]SLC[@59$T2'7HXHE_W).EQ+1)&*("8?6Y1\^*L +M_)&^SOUPYPFCTS3[36HIEN9!QEKGRSREY0-^]+B,_%21A=1QOZ`Y?"?K+ITXU-#[Y1NO+%%K`W[HL9 +M_M5C_P!((8W'Q?&/74MORZ%NF^6^F^71+.CW+*UMZDJ@D`1?Z1%=2-$>'Q\9 +MHXZ_:ILN,;3O+81':Y8+.SK,30>H1.7<3#A^["R2<#]FE>.6;?TN;#?^BGNJ +MO9)9DWZEX6>-505Y&1I%6(+0BC>.TC$K(RRAF%P9 +M`9%#?%4&O+EVKAMJL%I/9.+US'#&R3>H.JM$ZR(PJ#7XE&U-\*8X=%@?3YX[ +M]X_1EGD046CR32<)O6K'5/WC\?V:$TZY&/+KS/+ER9'GT_!:DG\N>AY@60N; +M>,L=8/K.0S>DO-5`EY#X.*_"!_+BSW&C?6=(+^H;J7D+`?6"2J['6[1]1DXWY=KL42J?3;QM1?G` +M'2'9*/R98'$W[OX#SHG[/Q;=R2U'UY2\;2Q+$BU#F4N +M/2X$%:$-0UJ*=:X3I<^62\/"`_NS&KFC`1N;F2.,3CE\3"Y5^H-&J??#R_L( +M=1A$$]0%=)49:5#HW('X@0?`@CIA>OEC3E8,#)NR/,"5/JM'.]VK/\-:^K(Q +M/&G7(Q,:W)Y]$D&]@$'%>>7$M+V2&WD,#6O-U4.QDM&+C]R`QXI5F-!QI7ET +M(.+S3Z"+JW]2%C(JVGQ_%Q022%;02CE1CZGV=C0^&+P>7+"WAG@1I.$UN;): +ME:QPT8<4HO\`E=6KT'ACY-`LI9HYF+U06ZLM5H_U5_5A+?#79M]B*X;C?.2U +M+N"7R:EH#P:A":1`BE4?F2$XJ!U +MD)J:DGK7+ET&REN5N6+U'H%T!7BYM7]6%F^&NS`'8BM!C<>\K1[@UYC,0T.] +M,ZLT?I_$L;!6ZCHS*X'W'`MSI=I-JEM=7-]Z.H>G`GIK(HD;TG>3X"OIU$A9 +ME;X-QT`P7YC6-]#O5FD,49CWD5>9&X_8Y)7[Q@.YT2\N]4@U42K$XCM@ZE1\ +M+0/*[DQ_O58LLQ5?C^#<@G&/+G7/]"GGRODMEN-$C2Z%S&Z1OJ2QR2%N/&YX +M(ZRJZLI1:`;U_7@B.'2K.[TNUM5((M[DV4@_6 +MUBN9`\>H"Z=D"@I.B1_!^\5@PI0],;90Z4LFC_4;@R".VN%LE()$J$Q>H[-Q +MH*$#[]AAVKF?P$?+\%"166A:=Y8O%27](6T5IZ-U-#('D>&*,\(PW-@M%6VNQ*3!`+R82M)*8@TU2KT977X6 +MJ=JYF_0UK=6$07]U%IUT;>0-RA6T1K42AB2>5?W=#X`XB]MI3VEPCW3\&OY6 +M+*@+BX8D&*-61R2*FA45[UQ1+;3;B?3HVN9)RVFW4,2R@\IK=VM!++(U%HPH +MGA]H^&/Q/7[D_+HE]Z^E-Y1%N$S6YA;B%>59Z5C4JHIMTV. +M2P=!D2O(-+7R[K7U*Z>19+1HKRX*"1TMQ"X#K'6WY#@S,"#\1KUR6CH,$^77 +MF>?N"Q_0.7Q0FHQ:?)"KZDRQQ0N'29I#%P<@QU60,I4E7*]=P2.^`HM-\OPS +MVMLI0S6R!+6V>=G*J(C$*1.YK^ZVZ;C!>IZ7;ZK'#'<%@;>7UHF7B:-P>(U6 +M164@I(PW'XX&7R]:+/'*LLBJB")H4].-'01>AQ?TD4D<=P*['I3`"*^HCR21 +MOR"W11HRSWL6DU)B]%)Y/4:5&`C_`'81F=]E7;;#"_DM(K&YEOZ?4TBD:YY; +MKZ04EZCPXX!T:PLM/GNX;:ZDN)E$$HY=.K'Y)_+822&2UE,RM(9H?C,X`A3U& +M9N=2OI,JTY&NRTKM@JTN=`DU%&M(_P!Z\A2&=:^DTWH!V""O'EZ*_:X[@$5V +M.`GM?+LD3WC7TGJ2.RR7``]0^I"A9>'I]/3C62H7MRK@NSL=!@U*)+6?]ZC> +MM!;@@QB0P>G\+<=V]%BW'ET8M3?)FJ/UM]+E2.749VMSPFA5TH6,E,B/IZ\C[N:3SZ<_B@DNO+7Z%TR6,2"Q +M]6-=,C^L,&YSMMX5PSMY=+_3UY#;\CJ/I1M=MZI*\?B]-?3,G4 +M;]$VKUWPM2/1H=*T^V&IRK!ILB^@Y5/5K!'R`E4PU`6,\B>(VWK3#&V.GKK5 +MU+%>M)=7*(CVYX^F/1',!&"`\@LM2.1V-<)Z_5U[^]`ZX>:&J.MPA>C-'(59%N$B4$_&7`&P! +M8C:M#AAK6G:?=0O=ZA(T,4,$T<\BD4]"0*TJMR5O]]C<;X$FT+1&F2"21PUV +M)WM800*-(5FEDC/&M0WQ#D2!4^.,3&A9EUY*;L[#XKA=:(L4,1@EWOD0J>3, +MEW565II.1K]I2"6-1XC$)KGRRLEP9H2>?UA.1#%9'698[A85Y;.9N(-`"S=* +MT."#:Z-#9W,CW+"*QNQ>7LVPXS0*CT<*H'%4"BBCIC9]"T9KI8)97$MS]8EM +MHJ@<6>5;F:2,\:U$A#?$32N(K^DN_DAI;KRP$830/6$7#W:DL61%9&N&N&Y_ +M&I/%NK5&XJ!@^PFT5M286D16Y?ZSPD->#%)0MUZ0+$+^]IRV%3XX"FTCR^;6 +M]N9;EA#`+B+4YJJ*JX4S(X"4%$`7X`*#;!]OINF6&IQE9&^M2+Z$E'EK_#6G7=W&ZV0LHDM8C(R3F!TC/I'TW0OL%+"O:N" +M+^#3;QM6M9)3:.?JINKIV`38AXN)+"G2F!WTG1I_+MA,U[+'8PZ?';)>*%4O +M;2+$0S+*C\2WIJ>E<$7^FQZ@VK6MI/\`Z9,;0S*XHL?I$.E#Q8'D%\#DMN\\ +MS\-PC?N'+Y[*[)I,'Z(6)?562\=K66)^8,[07#O)(Y8EJKS[G)9")O1JQ"KZC5Z"M0>A!Q5]/LK-M+CDG<2_7I;B(L.1EN)8;E +MG4\54*.+NW0#;$K*PT:-[TVEP9#;)-;RJ"&$`E/JR(.*@DU4=22*`9':N9_! +M3OY+HX=!N;'2_K#".,PP-902S%&(7@T545P'933QW^>5/+HZRZF+B)RWUJV2 +M85W>"YE"6T$*P31A49XU",O(LAE*D<7I*O)2'Y`+M0UK3':^9_!1O7(?@*4CV +M+KHK6B.MH+Z2-8U8*5N%]97]571V:CK(&^,;^.2/(X\5FB:*EI,QM3?22B3@ +M'9[A_6=U<\XRA+N_+X#0BFV2/!/I\>?O91Z_#[G9KOI8?\98/^HC-FN^EA_Q +ME@_ZB,8<_E]Z)\OG]RE%_O3=?\8[?_B5QFS1?[TW7_&.W_XE<9LL_P`DQ_C? +M_].720?6OTE;?#^]4)\8Y+\4=-QWPJD\O\M+T^**Y@C6Q@:,3B.L1!],^KP+ +M\/\`=>_??9AW.4`:>^4H)`>(*&E&_=CX37;?(Y=:#K,WEFTT:/@#'826D\`D +MXJ9N")#+S"FJ+Q;X?\H'MFGB>7JKO%@U"5--Z$=CA!'I>I6_Z9-HWI37TC36TS3.P4 +MM%$@7@W(`\D;XNVW7I@S0;&>P@NDN%"&:ZFGC'/U#PD(8OM@F'2$2]U65X8C;:@L7[OB"&90XD,BTH:E +ML#0:'-'9^6XY$B-SI`B6>3J0JVKP.L;4K0N5PW_2Y5T\EKR[_O3R<2&)A"RK +M)3X6<$J/F`5/XX1_H9SI]M8+=Q>DT_UA7"FO+UOK2B'XZ&B@@^%$6BRK%Y;+)&;C22HN)/V@GU.:V98VI6AD=33 +M!$T.==?L21Y6B/J-Q^D+F_%Q")?2]#AP;B%Y^HIE_>5J$V'&G6O@`&&C/]0L +M[`70Y5];E5S2CCT?AWJ?I^+!&Z^H#=35\B5W^'']*X3UT,DKAO7*-SD +M43_63%/[@H_"-EG-SS@_>51FK0[TV&U/A +MQ#]'^9?2O5^N5ED=3$W+X2@G+LJ"E4)@^#8BAWZ_%CUL?,`GL6-V3#$JB9>0 +MY5$I+&0TH_**B]#0CQ/+)6?YX10_FEL>7'$,T?KH9'=6,Y1NVV/7R_P`9[>6L1CA$8$!1^$;1S-<<[?\`>50N6HU21\*]ML#C3_,H +M@NU:\K-(ZE&Y?"4$S.XC[H6AHNQ%/^&*J6/F`7-B[79:&)(Q,O(+\HBJ]#0C:A/+&S_/"T/YI3#6K.;4-*NK.WX^M,G%.9(6M0=R`?#PPJO],U +M.?7;?4HD'IQI;#B6!4,CS>M5N2./@EVX@AS3D*#))FR`D1R_%LC$%)7T29XK +MR/UE'UB]6]"D%D9%$8]*5:K4'T_\^F-L-"EL?T6&E65=/@N('XJ5+^LT;+Q! +M)I3AW;#S-CQRJOQW+PAB>F^6[]?+MS87,@BNKNQCLVBZHDD:.C3,59^3OS^) +MNX5=LD$MB9-3M=1YT%M#/`8Z?:]=H6Y5K^SZ/XX,S8F9)OW_`&J(@"OQLDCZ +M')):SV[-$QEO);M2ZO\`"'J5X-&T;(ZD_:!Q>#2YXKS3KF2X,YLK*>TEDD'Q +MR/*ULPD--O\`CW-?GAIFQXC^/->$,?O=$OI=-UN&-XI+O5H&A"@-'$K-$T/, +MEO5;>NX]OF3(!L!FS8F1/-(`"2^9=-NM3MK:&VJ0DY><+Q+>F8)HOA61D5CR +M=>I%/M#<#$(=%NA:G@Q')34;$T(J,C=MHVJV_E^PTE"`;=$ANU +M]=CZJK`8?@=@W!?4XMQ[@4IO3#`:75QHI<0W36'U,R*20DGH^ER!%#L=\ +M$MS9E>]?#O2.556R$&ES&P"&]MV^L3`W5R%(,]1Z1C#A_AJ:+1>B_",%PZ?( +MNJ)-++`RP(OH6J(4,0,?I-(J\S\3$<0Q&R?".Y)3-YZ`BI/ZJBR+#@ +MHD@BMPQ_=\?]UE31:\#UKM@G3_+]]9WT$LLXE2&=KA[@G]Y*&M?JO!A3E7E0 +MFK$41._0FJ/J'(]$#G]/5,]8M9+N&*$3QPQ,_&82`UD5AQ]%6#*5YDT--R-L +M#_HZX:^>0S6S-'%QMH/2-(>4?I\_3#[\F%*G]CX131N'^M.3RE]:#T/3D`!:E:DH$4"(5,2LO$LHY'XG9?M$?9'$=\)KGRUJ,[W4X:/_`$M; +MJ,6[,.,?UB&UA$AHG'K;,6XKTR:KZAR/11S^E$>9-*&J6G![I+:/A-$WK"L=9T,2O3DGQH3\._C@ +M*;RX\UZW^Y%8YWBFW4'ZPJS0+;`H>>RQLM5V[X8ZW83WLFG/"A<6MT)Y>,K1 +M'B(W3;B14U<8G'IUPFJ:M=M&QCO(D2$B9A4HI4CCR^&M=B.F,9$1^KH>Y)%G +MDE%QY:2XT^\0:A;1P7;3J`J?Z.C3P1VH*KZOVXS'\._[1%,%7'EU[C4)7&H* +MD\D<_P!E3ZZK/&D0(//[$;1_#MWIUWS0Z)>QZ;Y=M6C8R:6Z&Y`N'&R6[P'@ +MU=ZLX('8;>V"UTRY6^UJK$ +MC9'DYQ<2K58^/-?AZ*:9(\V0$C5>5,N$7?Q8Q/Y6N)]&T_3#=(KV=BMD_)&> +M,N%B7UD')"&'ID#V8XMJ^CWD\.J/;4DEO3:F*,'B1Z#+SJ2R#I[Y($)`_E^=H]+`GC633X8HF9D+@^GPY%0QH.7#K2H +M\<%/IEV'U22WG2*6^DB>&1DY^GZ<<<1/$T'+X"5\#3KTPUS8\9_'S7A"2OI- +MPL>E6\*Q".SNC/"1;-&0K>IZ7P<6/0U[X&N[G68;>T +M-FDTQX/ZO.-!([@IP!^&@V+[,JU[NO[0VXN9+--3NHH6N)(5#I"O5RL=>(H# +M@,ZS?&6T@B2UE:[>=8YUD<1TB567]@UY$D&AS3B^X'W^YV1KO(_M:ENO,"SW +MRP0&3C'*UIR4*G)641CM4E22/C->_#I@GR^EVD%W];]7DUW,\33"C&-B"C4[ +M`CMM3P'3`FEWNJS:IZ5SR],_7/K$96@C].=4M:?"*O=5MKD+9 +M<@OH%[956HEN.8'I-\+5^&FU1L6;]G8D'Z=A?5%_Q;H!['S$7;B9-GD-Z0]/ +M50WL$B",\]_]%6513C0,%Z]&FQ\Q4-#)0EOT?1B/1/UEG!D'/X1Z14CERH@* +M4J:%SZGY@#L%#_;D%X`E?007L$*,HX;?Z*\KC[50H;&G4_,%#3G0%OJ!"U^L +M$7+(`QX?$/3"T/PU4E^U%GRY^K"TJJ:,T*RHTRC +M=>L8;:N_3(\+'S%4;R;LOU#XC^Y'UN60^I\?P_N#']KE\*LG4T..I^8*G[>[ +M.+X/P;?N&D/[7PJ'[[X:GY@J/M[,HL?@_WH!NY(CR^#?\`<+&? +MV?A8OVJ(Q$@*]/-)()Z\FA8>8NYDV(_2'Q$^L?K2/6/X_B'I!_L\?@(3J*"U +ML?,09:F3=HS8U:OI*+V>1Q)\>W^BM$#7E4*5ZGR +ME<5AYB"1^H9.*K;C4E)+>M*LC&5T4/5U_:;CQY)1-R.(4AL?,2R0F4R\N=N; +M9B_+TH5NWDF25N=.7U8JK5#7VJ]NN2N9W`'X%H] +M/>4%;V'F)8X/6]0HD=J-34DMZLR>IZ[JH>KKR*LW'CR2B[TIBEM8^8EEMS.9 +M2X:U,+%^0CA2X9[B.5@].7H?"U0W,E:,>.PF37+VZTO6G-N;.2UMKAH6#CU% +M9!*J\@-U/P!A\_I*=YYGOK*]2S2S6:)5AY2\VYMZBJ6V"4J.5.O?'UFQ45]( +MZEE6;(Z?,%\+:6Y%JC<6C0P!CZD)>9HF-QR"J`JCE]K\/BQ9+^ZN+W17(]$7 +M4-P\T"MR0LJQ\?B'VAOL1J0*,,4LO,EY=S6,9L#$ES'&\C.P4AG:1'5`:$F,H"PIW[=TX +MY;[J/:!YF8+%&4Y`_"#LM.FV+P:_=2W5E#+: +M>@MU'$[(U3(K2!B5XT#47CUXD?S%<>`KQ!/LV1677;^]\OZE=M`;&>&$/'1P +M9$9@:QOQ^RZ4H?U#!6K:K>PZK:V4"F.(3P>HU*F9)1+R"U4CBK*H)K6I'TO` +M?+K]B\09!EY%9-O4UVZM)& +M7ZHMO!);1\&Y,[&<2<66M:<%KMM4>.[P'?R_'Z5X@J:^UXNGUL59Y_5B(1%= +MB0KASO&R%=AU.W:F^`+_`/2]SJ]EZ:RQV4F]M,K/+R/VEE91Q*^! +MQL?F*\FLA)Z"I(TJPO*I)CAY1-+R9E#@_$H0=^3+R4=,3L=3ON&G7$SF60Z* +MUW/&QXAYU]`DN`-C4D=-LD(D#D.OVL20>IZ-VYUZ/R_86[B>2[]-(M0ED"M, +MK>@0WIT*EOWP52Q[$FO?!Z0ZFWE5;>`M'JOU`1QLYHRW'H\068]P_?`CU*%[UF=UF+74P/[MX/JW!47>G]_Q(7@""&;]K=UOJ +MM_;:0+S@;K_3+V%Z\F<4N9XK=5"]N01/8>PP-_BK5([YK.73ED]-WC/H.S,S +M*'^QR0#8K?49_2^IB1XA!CVMTL0N)F,Z3 +M$MR`:$.R1DQ(OQR\0$^$=?D#=IK=[%>W\5U$\L*232(.+&2**.WBF`XQI\2E +MF912IY>.$\5$4-K1Z;NST5O,=MJD[*;#F5^K7*1B-J%;MO3^KR&C)2E&^([# +M"V>Q\RLT_I-)ZY^M>M(K\1)$\BF".)BX`?T_A39>!#58K5#`0Q3!DXL0U3(5^%F)X_"&Z`SM=7N;C5YM/>U].&/D%D9@'("QN).' +MVN#%RM:=1]`?5$50VLI])/,[I'<6'F%DG]#U!$Z70TU%)4Q3,L(@=E+U1>:R +M,O(MQ7;:M,?/8^8VDF](R>H6NC<.K\1)"]RKV\<3%Z53\.U=_#"^?4O,*R3B)7+AKH3QB/EZ, +M27*QP2HO#[1MSS7=N>^WPX09$`^G\=Z#0)YK)[#S$R3>CZ@1DNAIB@E?2F8I +MZ#NI>J+R#,O+EQ2J;5IAEIEMJ\>J^I<\_3!O/K#L:JX>=6M./Q$'C%MLHX]# +MUPMGU3S`J3&+F41+IM.<+R^L2H4]&,MP^,%B57[/):OO2N/FU+S`LDHC#DA[ +M@7*B/EZ,2W<<44B#AU-L6<;MRZTVQ(D17IWM01=[LQRLADFI^8`CE.955G.G +ML%Y?6)%E"QH6X?$*?"OV>25?>E&>\,N,=Q9AFR&-J?F`*:,=Q9CFR&_I/S!_E +M['_0?@_WH_TIXZ-\'Q#T0G\OPDOVJ-^D_,'^7NQ^O?!_O/\`Z7''\/P?"/1+ +M_P`WPJ'[U+X9[PO&.XLRS9#EU/S!R%>>S(+(A3>31-R^#?_`$=8V_9H +MK%^VTQR,HF/.DB5NS9LV12[-=]+#_C+!_P!1&;-=]+#_`(RP?]1&3AS^7WL9 +M\OG]RE%_O3=?\8[?_B5QFS1?[TW7_&.W_P")7&;+/\DQ_C?_U9;->1:>-2O9 +MP3%;A9'"BI(6,';$GUN2.6&W-A,;B=I5CC5XB#Z*JY/+U`!R#;8NT]O;-J-Q +M=,%MXPK2LPJ.(C%:CO@7Z_H4!MU%L4D5I1:Q+:2>H&0!Y?301\@:,#MU^C-, +M!_1)_L=E\:_M5;6]OI=6FMB8I+2,/S:,,#&X*^G&78T=F4LS@#X=O'`NMZW= +M:;<-'!&K+%;FY8,"3(?4$?II\2T/;O\`$R[8)M+O2Y-7N;6"&)+M`Q,RJ`\E +M"OK?$%Z*SJ#\6YKX8EK&L6]A.$EM1W)2=COU2U_-%\K+^Y2DSR(M0?W/IWT%ARD^+?X9BQ^S]DY1\TWX]7]RE; +M;ERV/[[C9+17;_0%/UQGCB-164I=0V'[WX-JO<(? +MVML:?,MF!3Z@O^@U,PJ/W0$KP5A^#?:-F_9VVZY.OZ'7O8W_`$E,^:+\%/W* +M?Z0SJNQ_<\;R*R_>?%OM*>O'XE;MF'FB_J_[E/\`1V56V/[ZMY)9?N_BVVC' +M3E\3*.F+'S)9U/\`H"_Z:S+":C][QN(K/]]\&W]^C?M;>XRAYDLZC_0%_P!" +M($VX_=5N);3]S\&_]R[?L[>^-?T.O>M_TD5HVMW6H7:PS1JJ2Q2S*%!!C]*8 +M0\'^(U)K3H/B5L%W]];QWD-J;0W4ZK]84_`/37FL7-3*5WJW;^E4-)UBWOKK +MTX[40&YCDN(Y01618G6(F3X5HU'4]3U]L6U&0G5-,M?2A=93,[/-'S9?2"M^ +MZ/)>)/COD"/5RK8L@?3SM2LKM9+>YBTJS6R2*:6(2.L:QF9)3$](XW4DL=QT +MJ>IP7HUY+?Z?%A(KT)&^`DU?RZ8)P%587>LL +M;6[*)':;ZM7@R#F?6HI.^^+)JMN?T2NGH&M+]WB0\3'Q6.&24<4(%-XZ=,2# +MOZ2-^ODH/+=(6\P7%_%;PW5G#,MV+69%>,.L#2RLH5U=J%P5XI7C\8.6NMM> +M3Q3SV-O))#):QAVC#._K7DEJ)(68U55X>HM*X>?I31.$_P`(,3-25O0?A*QD +M^KA5/"DC&3X0!6N![35H[QM*D%FD9N9KJ!:[M&+8RK\!*H1R]+I04R5_T*8_ +MYUI?;^:=0F6U4PH&O8[68,%/[GZSZE8W!?=JQ\%J5^.N.M_--],8V,"<5:UC +M=%!K+]9N&MC+$>7V:+S78[!M\,$UWRW(I0LD<=S\;>M"T2./C^-S(BBG[IMS +MX8L-1M)KS31:Q)+'<&XC2^5I;97L]C:)#;*BI-J=U91(L:+'#'"URR +M!$C],;^B$%3U.)6_FN^F2&?ZLI4_5U:%02TAG0OZD1Y5X]U^$[*V^&$>J>6H +MU:*%Q.EVZRM$BR3J9+EG9:H`X4NRM4;;]<$C4;6:^TTVT:2Q7=O/+'WDEHS0(B326T+Q`'D?7@]5T +MMU+FD%PBW'$VTM'21)9EE*^GT*P.:G^7!4.I6EUJ-@+6)72Y@NG6=D*R(;:2 +M&(QT8!AO(:CVPG^H1[U']:U&/79(40\5X+<*SI568,=DWI_7`5Y/I%SI2.T8$R+ +MZJLT;23*L0;=&)8,A':O?#*:6%-;LK0V\;,]KWC"(:="+@Y$@? +MS3>_V)L]_=]J4-YENKBTU.ZME$4<$%I<698`OQN2QJ]&8=`-MJ8/O/,D%G=7 +M%JUM*[6Y"?4=.CTF:^33XY!)=+920+&R\V-S]7 +M4RUA#;,W(CB=]A7!*):P^8486X^L7UK)<33$LS`P&"$(BMTJLN]`.F&A_-[_ +M`+*1O_.[OM0[>:8[CTFTJ$W,37,-L\K'@M959Z+RIN%"GPHP."[F:1]9L;4O +MSL[RUN6FMV"-&W`P!3]FIVE8=:'&)J6E2Z>);B%1%+<26RVZQ/(7DMV=*"(Q +M*Y95@)IQV`\!7*>]L/TK;W2J)(OT?-=172L[`1!HJ^G&M5HRD'85-!@K?:)% +M6F_/N3>***"-(8$6*)!Q2-`%50.P`V&/PH;S/HL<'UB2X*)R10&CD5R9(_63 +MBA7D:H"W3%OTK&;](`4^JM:&]^L5VXA@M?#CQ-:Y'AEU!38[TQS82CS1IDJV +MKVA>Y2YN!;5C1ZHQB:<%EXUW5?\`.AP5-J1AU"2T:.L<=I];++4L2'*<0H^6 +M/#+J*7B'>C9889P%FC615/)0X#`,.A%>^/PJC\PV!TZRU&<20I?*AAC:-RQ9 +MT]3B`J[[=/'MBKZHD6H36TW&.V@M%O'F:HH"SJW('H`$KCPR[EL)AFPD/F[0 +M>*,+AV]0D*%AE8U5HHZ$*AH>5Q'0'^88]O,-HDTLCM_H"6=O>I<*KLS+;-"D%5GO.H9SQE>X5OA0$D*(*[8\$NXKQ#O":9L*I_,FC6J![FY]* +MKO$4='#JT8#/S0KR4*K*:D4H1XXJE[<'6Y=/;@;?ZLMQ&0I#@ES&0SG\7*O:F%]O>^7).-TUPL7U&: +M=(9KBY-&(">JZLTKGM@^6TAO\`](V5P"89PL;\30T*#H<1@\OV\%U% +M>?6)I)HII;BK^E1GG18GKQC7:B;4IFF!%;DCW>YV6_0!=:S:1NU<1UBYT:&X0:C"99(X_4=E&R0\UWD^)>2\U!IO +M]FM-L%6^C6EM?-?1LYH.U?"AW([XW'B&YJEHUR%I2U[Y:#2\K8GUF=8S3:5A=1PN(1R +M^$FYD0_LU)#>^4;[RS1*VS?N"QFVKZ?^D$,9_C^.LRE_VNG+WP>?+.FL23ZF +MQ9H1R'[HO.EV3'\/^_8D;XJ]*=,H^6-,/^_/CKZ^X_>UD,])/A_F8_9IL:=, +MEQ0[Y(J7<$$;[RU62MLW[YF$6W]X1A\?P?Z1(K?L[D-[Y0OO+58_]&;] +MRP]7;^[/UED!G^/X_P#2$9OVMP6]\'GRSII/^[/A):#XA^Z+3)='T_A_WY&I +M^*NP`Z9O\,Z;_P`6?$09_B'[VDS7/[SX?]^.WV:;$CICQ0[Y#D6"M'&K$$1H[^HRI0#8D#K78`=!C[JQ>XOK*]24( +M;3U`49>7-90%(J&7B?AZ[Y&QQ7O5'FFC7Q#&HXO+?Z$NY9;I@HF8W+R,AFCX +MWC2^F8P654:9#L/M##:*#3[)]'@#/=%YYFLY^=51FAF6+# +MTYXFEF<3+(BDLM8Q+,;E_3H@_P!V&OQ5Z8.DT]99K&:29W>QD>56;C5R\;P_ +M%Q51L).PR1D#>YYD_9L@1/<.B6V?2HK1/4226X:TECD+HKLDCS,6+-RY5;Z6+%(WC,DKAP%4 +MR>FW!?6-T556CXFKG]H'VP5'I$49L#Z\LAT]I&C:5N;-ZBLGQM3L&VP$C>B> +MOW)`.VPZ);I\7E:\LA=QK&L,*JDD=Q+R,069I4$JM(ZC]Z"17%+*ZTFTMY%^LI=7%J23\) +ME(FG+.#K6;2I9='-I`ZK):SM9:D5ZF +MJ[^W7+B\KV<5JUHEQ<<7BAMV8M'R,$!=DA/[OB4)D;E4;UH=ML'C3D^M6ETT +MKN]I'+$M0HY"8I4MP51MZ8I08F0[R>?W*`>X=&.&/RA-H::TEL\]I!:QJ8(Y +M'>2.$12<8I$67BI2.=QN?VCAR(=.L=3L;6&!A,+>]D@8,2`IE@><'DV[.[J1 +M7$X/+%A#83Z?ZLTD=Q:QV#2.R\UMX5=8T7BBKMZK&I%=_EAC+9)+?V^H%B'M +MXIH50=")VB9B?EZ(Q,A?,D;\SY;*`>X#DD,-QY;NM)B-N)9[?5V5S:I.[2&2 +M2(W#++^^^%N&[#E]^V#([NTFU#1[B",RQW=K,MI=&1^0C<13.&1@:\O33XBU +M&-!1`I^&5^JUW^5!,>CI#<::UNXCM= +M-B:&&#B2QY*(]WY=@O\`+A)CT)Z\_F_5VM?3?T7F%RRF::I +ME5_5#UYUKS^+YX)-G`;F.[(/K11/`C\LJ'IQ5M+L693Z04);M9HB$JHA?C5%" +MTI]@4ITP7FQXCWE:'5H=R7MHFFM:+8F)OJ +MR#@L8EE%%X\.%0]>/';C6F+'3K-I7E:(,9(!:NK;H806/`J=J?$<%9L;/>5H +M=R62>7]*E,;2PO(T6T;/-,Q7XHI-BS_S0(?]CCSH>F%#%Z'[HP0VGI\F`]&W +M8O$G7L6^GOAAFP\4N\K0[@D;>4](,\4L:-'&@=980[%95D54(] +M<%W^C6E_#?1L6B?4+464TB=1$OJ<0H-5!'K-VPQS8\4MMSLCA'<@%T73Q&BF +M,\U+,9E=UD9I`%D+2*P<\@HJ*]AX#%5L8UOY-1+NTKQ+`$/'@J*2WPT4'J>Y +M."LV"SWIH.S9LV!79LV;%79LV;%79LV;%79LV;%79LV;%79KOI8?\98/^HC- +M@?6R180$&AK'_P`GSDX<_E]Z)GU^G(TX?5N/7]GEO3YXW_2_^UC_TZYIJCU/X^3LK/=^/FGWU>7P'_!+_ +M`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU#O\`Q\EN7=^/FGWU>7P' +M_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU +M>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/ +MFGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN +M7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU#O\` +MQ\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU +M#O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\` +MTZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[ +M6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO +M]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\` +MTZYO]+_[6/\`TZXU#O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[ +M6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(? +M]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O +M]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?` +M?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S? +M5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU#O\`Q\EN7=^/FGWU>7P'_!+_ +M`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU>7P' +M_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/FGWU +M>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU'O\`Q\EN7=^/ +MFGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU#O\`Q\EN +M7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU#O\` +MQ\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\`TZXU +M'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[6/\` +MTZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO]+_[ +M6/\`TZXU'O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\`TZYO +M]+_[6/\`TZXU#O\`Q\EN7=^/FGWU>7P'_!+_`%S?5Y?`?\$O]<(?]+_[6/\` +MTZYO]+_[6/\`TZXU#O\`Q\EN7=^/FGWU>7P'_!+_`%P+JZ\;:V5T]2CP\HP= +MS^_KQ^'VPK_TO_M8_P#3KECZWR'_`!T>O;ZK7Z,,0+V/=^.2"36X_'S3:W1" +MUVOU]-LV%_P#I517])]_M_5J=#TIW\,V7?P].;#KU +M?__9"F5N9'-T$0F%0N&0V'0^(1&)1.*16+11U.J#.ETNN/1^0.N,P +M-Z/2+R>42F52N62V72V1P6.2&:3%V267SF=3N>3V?2N;0.9S203:<0=T4F?P +MVDNBEQ>FT^%U&I0FJ2R@P*AT2/4:306E0*PU6!V.QV2&6:G6BQ6MV6>R6JL1 +MJ91VN5VZ3>OP2Y6RWVZX7ZD8"W6B^VS#RFLNRMURO6#"W_$9'`X*RY3(T^X9 +M6?YO,Q;%XVB8^^9C)Y#+0C/:?2ZS+T"\T*[7?2:^WVW66O.9:P[K/YW=;C#< +M')2K0[/'7FC[;?;GA:G4;?BW'B;N>[WGRCCW>\22]]GIU75]#H[;J>7Q:;C; +M&M3S>#Z>BI>/%>S&/0\@3ER%)$DR5(B0PA)4GRA&\F*+%THRM*[R2 +MFC\G2Q+LO*7+3NR,^*4Q4B*KR_-*_3"D4JS+-"3PQ-4YIY-DN)1,R'3E.D^) +M=.TW)5/*TOK/M"I?/\?(>WK`LXIL4-;2%#4DN:-P!)M`4&IU-,RRM%STZM'T +MG42'T1,:)3@_3PQ4[$&5'5R(5*O53Q11E'50P=4U?72&UC(]/JG3E0P'0E=V +M*A=>S)0=@6&BD]V-9Z!616=EV9#5JU;:%LVDB%;,'1UAUNA5PVS<7WE>E[QG#E+2I1-\7\P5[7_@2GX#@>#3K?3N3;?N#X +M:G>"X=B+UTKA4[XEB[M83!],8QCL-XIC>&8]D:)8ADF3H5DV496@N599E^79 +M?E>8YED^:9KD>;YQCN=9WB^>Y]B.@:#ANAZ)@VC:/@6DZ5?VF:;>[CHSJ>J: +MID6H8]J6JZFCF+:QC#MJRF>O:_B6PO9L>.;+G^-)LH>R;7HNVKSM^U;CAT6) +M&K>X;O@>\HUO>[;[I&-*ZQJO:WQ/%<7QG&\=Q_((Z[QVK]=LW)=EV>\<4=*%5]V^V4KW=D] +M[W'?H2DJ.>/Y'D^5Y?F>;YWG^AZ/I>GZGJ^MZ_L>S[7M^0X_G)+U'P_%\?R? +M+\W24KQG>>%X:Z^!]F>7U]_X;9YGY_IH7J=M_%_^D^#W(`0!@%`.`D!8#0'> +MVZHD2ESO0(@=`^"$$8)03>TX5-KGG!/\76C0C,&']P:7.W\_Z6X,P@7*X5O1 +MLW6PF6>@YMQ=H5PL6+"YND,(2PR6,VBI%>*T65P%2:D\XKQ9S$QA0LGB,9SXP1E.G&<^ +M\8HUQHC8=F-ZJHW1SC:@IA\%D>ICC5'".BUDSQ]CE'6/D@I`R#D-(61$>Y$F +M%CC(J):#5]./0^IY2!XS^$5DL>J3)T9-R5DU)^3DH)/2AE)*.4T=B6LKY,])YS8G1-*=,]I^$^B,\R8QX)6R_E@MR74Z);T)H)0NA%#* +M!T-HA0^B4QZ%3K8G..+TYJ*4.HW19:E%:)T"H[2$^5))?41I'2FD5*Z2K"8S +M`I(I>I'2,D!,Q7$AZ9J1IRA&FDA*=QFI[3BH,BZ=5#IL1B/%,22T_C34:EU' +MZF2-J=46JE/*JU`JO4VK-4JLL(IA`R'L6XM&0J?$R+%8JT5DK/6JL9I8JUIK +M=6NN-;3+UEI?#MD-88B+H:?7M-5?:_)?L!8%+M@[")7L-8=*-B;%+IJ36!65 +M=$2URC)6^ME<*ZV4LG9(O]EJYV8LW:"SMFH[U?7Y'JJ=5K5)QIK:FK%JZM6P +MJY;*UM6[:VPJ]7A%IWJHVWM93ZUUL;7W#N%<6V=Q+CW&M\3U:5)J#U'05R705/U\$Q61M%$XEN:+.9JS/%&TF;++YQL_G*S+!, +MR0\S-8V&>=X8YZ3I8S/R0M`:!2!H/0B.M#:'7CGR&^BDTL!SAG--]GLZYMTI +M:'.FF-):5TS:/->;L[8(S+4O(UR\D9@R;ERY&J:B9=U5E_#N'C994MYJ7+VI +M]7YAUSJS+.K=5ZHS%,+46>"<7AI1B7&V0,<;*QULS'F.,8Y3KSB+%F)M<8_V +M7MG9NVMG[;QUM'6>T]BX1PS-?7&')\X5PUNK"FZ=W8+PEA?=MT$AZ,OEA/>. +M!I,;SW)NC>&Y=\[\WQP#@F_I[[@/;K3&FU<;;7V3MS;&WMN\3XCBWA$(]Q$F +MV-=S??$N*\?X?Q[D/%.&VYVE;NU&6]?8WV!KOEO*]=49%Y54S: +M^O>>:VY=S_F7+^=92YMC,O1`0`IE;F1S=')E86T*96YD;V)J"C$T,#(@,"!O +M8FH*/#P*+TQE;F=T:"`R-S0Q"B]&:6QT97(@+TQ:5T1E8V]D90H^/@IS=')E +M86T-"H`,1`9P40BP(!>1RG`C.;ML,1P,AP*!F+1J*2Z5"4"B+8H968Z-J-)Z1MZ%,C--*C0AN-1 +M@+AS7*Q)H[[/=7*\0K!W+7.[=\O6&JCAN$"ZIJ@C`"F-:*"2((6AL&@0"F-( +MVM>%`ZC8Y`WCD$`I#*,S"M*,J0C<,8RJ2,+F-@.HPC8GR@"8ZSL(E!ZV)]![ +MY,D&SW)3`C`*,&;;!DN8;A1#@YC2/0TC<,\-C*,XTCF.D0A`*\DC(-[-!0HC +M1-(TPW#*AP[C2.@T1@[(8QF$`9/<&Z6S.HH<)^&:.1Q'4!JP%`\#G!(4BH-2 +MQB-!ZSK3&BVHN^0:!S'*-3LOX4"".<@!FV`VN,Y4O#)2+8#",4KL,%`[2PS+ +M2A93(4,RR-/U"%+2N8%H94DTT@!HTL+M<&+8#.S-75F%`L5**X4UY*LKU0.] +M2BF/,H#+"=75@.;?#*X%2R?4HZ#?*]FM@.8VQ6-EJVQ5[8#))XX0N/-9-+;M +MJC175PA0D,L2=90Y4A;(42,-L+./+PWCJ.8V7.&S#U)>U(-+<%8#S?LRIJVX +M7(X*@B4;;ESI?1`4#0,+4M+4%/5T&:5A1:S;9!;3?#>-EO8M3629".$3X_B^ +M1XLZ+BYBV$QYO=[,T]>4HWIEKHX4.N6MA8P8W2-PZ8)DH40SH.=R,/6=9SHH +M49?+VH#%BNFC(.0PC/)TE:@T5/9AJTBR/$-@U'JVJYI>]N93JSB;5A@J)HP` +MYCC%20A`Y809R$#%,8QTC#)$HWC-P-V!!<;4AI3XTW')2NR3$HQ,\.]HN",K +M3C0$&7C3#7%=#F`YA8$`PH<.8T6)R([N#)(0",Q8ZWA5SV.D%H;MJZ[LK(LT +M!K3-"VQLCD@I^',=JQ'H7!I60;2&*G&PYGTI2H-TK2PHD3TQW\9)W-0\]S[/]`^&B5")]0WD!DG]%P(%'J&9?B\$GS]&D/B!<1M-I +M%P&'#P'0+@*8QQP#D&U)**XP)=AI%1G\>@W(K882\%Q*6',08D8! +M9<)%K+T-K#5R+_SBQ%,VL,U,7Y+&F=Q"ER(7`9DP#PJ&/YZP4))B*Y%J46C# +MO>E3)R5@*(8ATE>&(QI$Y&>T^ +M%7F[F/.]#B\4GL_I2L!847:3+&8%#]2,PZ13^==3V;L[Y4+-'+KG8M#U>IC31 +MKU#RD@-J33EA[9->YGK"F'JW9I>%=UYV%AX-A9^#YL'/!C3)>:S8=)LW8"38^ +M])B)[W79-0"_$IX7785J84Z-MK]IC1/@.>(=(IW8GL[>_=*XB7N#NNR[1L&A +MW[2@:V6E`RRT64'`:A,!25E5($#$&Y1H0OO@I`&BM!:,'\(NHBCV(\2T0494 +M#%3PJ+HTH0#*!((#V)J4#C/$\$X*ORPY0;%V/CG2'*YB3$U$5&IA;G>Y;E8F +MD0]K*#2L[`BN5J8BHVK+N8PWT!JD.8Y4H>J>CFU](&:(H&GFQFV-P*`LF%RN +MPO,4X<"YY;JU/.4>)!2$SS(U"\CX79H7];[/\X@VK<>T"W!V;3HFMP!;4.JE +M&E:'C#3#,H*&MZ20JD9L>>6AZ<2'%Q[=?\\Z.G1 +MT:TV2E+V(G2>&TAU+RAU^=@X-+Z1[?`NCJPPB[#BA9?,!G4M3!X?-$5V:7,* +M032M5PT4*@I7$:9-,I0TGQ<<:($!:>T&#$"]H5-=BJ#&':,EM-(>[`0*)\?286]]SE8X1NOB[[@S;OHIO')'$0;'MB#R*$.^GW;\HIQLDG'009 +M-8%!#@N^%&2NV[D?G63:'DHYEE# +MH7)Y3Z4WAP_I%!S#,/0%TWD9?"]F`T9HX,D+E>1,[B&5N>&L<;R33`?'E"CH +M(Y)AUO&N1.P]'@W0HTB:F!>`1XEF-5[%T7O\?>A7EH3#O7:!M=D3"%Q+D7," +MFG\V5>!4!2#C:GF&;>/F/.2DQK3E+^5+Y2VM>/+[:MEX]C5957E`\3EZMAQ; +MB$O!@Y'"OP'(YA-)9$S/5=O^%X%5*4)/E;]IZZ7I]P#@)V/CY/TX?0!S +MVGFD?N,\X`5U +MHTAR)F<`)>YD[*<`AM\`BNSRKV1D@&`PZOBV35(SYA@[8!0.(!0JCG0W"J1(+G9`!![,JLY\H,8K`%X)(-KY +MX(@-X!0*,;HG`'"J11+PHW#OPLP&X]L2Y-(]Z"`CD=8L<=QD`$$>,>8!0@(* +M96YD5V`[5FH\0VTP:BQL7FII5V`Z/$5O7%%D)4`S-4E+3UI`(35L7%,A074D8`HA+E]F +M835E9#HA2D@L62)S,6$J84HZ4EEB2D@C5B)>72]I(5Y/6"A,2D$T0")>07)E +M-W,K(U@W2CI.,"-*,UQ8.`HA+EL_-THS7FPB-5\K04TU7RDJ(DHL;U8B(35& +M)&%*.DE68DHL9E(W2&AG3#5L6"DW +M3U$](3512E`A(2YB*$Q*03(I-THL:RIB(2Y9)4PU;%5G3`I>07!.3"$G:61, +M-5%#8V%R;5(D9'!27!E("]!;FYO=`HO4W5B +M='EP92`O3&EN:PHO4F5C="!;,3@Q(#,S,2`R,C,@,S0R70HO0F]R9&5R(%LP +M(#`@,%T*/CX*96YD;V)J"C$S.#<@,"!O8FH*/#P*+U`@,3,W-R`P(%(*+U(@ +M6S8S(#0U(#4V-R`W-#=="B]6(#$S-C(@,"!2"B].(#$T,3,@,"!2"CX^"F5N +M9&]B:@HQ-#$T(#`@;V)J"CP\"B]$(%LQ-#`V(#`@4B`O6%E:(#0X(#DKEDMETOF$QF4SFDUFTWG$YG4[GD]GT_H%!H5#HE%HU' +MI$Y>LHIE-IU/J$I@3W?55JU7K%6?KT>M=KU?L%AL5CLEELUGM%IM5KMEMMUO +MN%QN5SNEUNUWO%YO5J?]4K-_P&!P6#JK]J>%AE:KE[QF-QV/R&1R63RF5RV7 +MM=]?3]SF=SV?K6?T6=T.CT6(S55J-^K>8UVOV&QV6SVFUVV9JC]U;ZUF[WM1 +MWF;P_"A>*V_'Y')Y7+YG-RV:W6$Z.;OV"Z?3ZVYX>\X&;Q=R>_.\7C\GE\WG +MN70ZN!Z_KP'MZ7:U.&XN%[]Q\/H_7[_G]_S8O4^+"K\A$!P,PRL'^?L#NVW; +MO+`\*3*\DBEJ_"*2O_#,-0W#D.K/`+!O@?4"NI`T1G^JR!*T^36,2^T(/S"J +MNOS&,91K#T<1S'4=N9$#LQ-$D11/(<5N(ZL'-;"T(1E)D;1Y)\H2C*3)Q\]C +M>JK%$$Q,[$3RS(KZ1:^L'R5)-YL[S/GJD6,XUC>.8[CV/Y!D.19'CEY8MD^47>K3MY)EN +M79?F&8YEF>:9KFR*97B!_GYGF>Y]GY\:#H6AZ)HNC:/I&DZ5I>F:;IVGZAJ. +MI:GJFJZMJ^L:SK6MZYKNO:_L&A2]:N=Y_LV>'WL.U;7MFV[=M^X;CN6Y[INN +MY['EF>']O9_'V?F^;V?>TGP>W"\-P_$<3Q7%\9QO'A<9HO*Z#QWG]YZ7I^IZOK>O['L\/WS4>!XOA^)[_ +M7>CY'"=E\G$_)]'(?7]/S>U^'X_E^?Z?KZ?N2-%/4\$?/^_$\]]3[W8/M<-` +M%T,!'[0)@5`N!D#8$OX;(_M_K_G6."@!`)PKR7FOE>7!MY,!8,/;??!=Y<'( +M2PEA,X2#S0X4OF@_`Z&$,890SAHXV"#>8*P3?\\:"[B(`PGA1!^%D&81PAA! +M""'\+H!/1@,^6(\1(@1-AK%.*D58K/7ANZAO[_(=-Z@M"J,$0X31(B+%*,4" +M(6Q.BA$J$43XVQ$C)$>-$5XZ1UCM'=SD67O-]AU!.+;XXRM'C(T9]T8(W/NC +M4TB.$AX41JA;(V)$>))23DI)5WH^'3O>BY'UM$@(XQOC'*"1)T&H0O-@W,F.$VHAST]X%3M;+/":JI5>L56:P5;K'5VL]7ZTU.:U2 +M2=U)I^4H:-32HK6:Z-B=-7B3%>J;5WKS7NO]?:_V`L%8"PE?+$6!L38>JE@Z +M_6,LA8^R5CK*6&LG9:RMA;-6+:;9>S=BK061LS8NSUI+1VAL?9VT]HK,6ML_ +M:RU]I;46KM36UW]%J+SQ:/3FNK5K>6&KW;^X5+;@4PN'7BX]>;DW!N)2]EYK@-*O +M3?&]=[KZ7JN]?*^]T&MUNGW;EX5R*66_OW?.^UY[\8&P)@>]MX*1X)P=?G"& +M",(X+O3>'"F#\)89POA.^N%<&X(,%8D +MQAB7&5Y\+8UQ-CC'6(<=XQ:=C[(&-,>9#Q]C?(F0L@XSR58.VSW;<6YH3AZN +MV2,J9+QSD>[V1LDXCRQES+=[VDY?Q[E7+V9,P4IS-F/*V:LRUZOW;>DM_K_Y +M,R9;UJN8LNY7SQD7#^;<_9ZS3GG.U<]`Y[T+H'+6A\UZ"T9@+-^3LXW^RBT7 +M1V4]%Z&TOHC/N@-,Z=S_B[3>;-.:?T;D+1.GM1ZIU%J#)K^=(Y0Q9H3,[5[9 +M6PM-:[6]L;::[UQ8W7NMK9Z_UKL/7FNM9YHV%L77.R]@[&V=9S#^S]F[,V!M +M78FR=CYWSA6_.6DZYZ#UI6NLU9-Q5EW-N7=#4MS[DW96C=M:MWULI'NG=V]= +MX;VJ=NNJ%G=Z;WW]OG?O`-XU:U;!&N%"*,TBX5POAG#>'-<;:QBG@^*^.V[PGDW*^6A;@I3S?H?/.E=)Z3OSH'2.H=/ZDU[E&DN56[Z +M,U/:^TMK;*VGU_:MT>N=;VIV3L'9L?]>Z[MCL?:NT=B[+V[N7;.XZ_T?J[;G +M5FEWNTMJ33'?M-=[T5X#5&J^T^%U+XC/G@O%>#U5HS%',N/\TN53+OG'?'>& +M[_X_4_A//>/\7?#S/B?/^&\[Z#T?F]65V\ERFI=?NLM1]5Z3U&B_3^:]3[G- +MWC/2^T]Q[;4/OOA>SREZS2'>>*YUM#6WW7O?B7Z]Y[7YWS<3_!^?XWQ'M_A_ +M4]_G3CODG!?A_%^+W=E<7_3^Q^C[VR/U?2_=CO[7U_V^F^M]S[?V>[\&_'^. +M7/Y:B"",4/[/Y/WO#OYO[P#/XP!0%,LOZOTP"/9O(OCFRI-HNO^OUO_/,.Z. +MSNYNVP-.PMHNZP.P100P2-?01P-P/.T050+MD03NUP705P//\H<0*(_0+-LO +M8MU.HN0?.B-Y.]PB.EPD0>N!NG0AP@PBPDPGN"/C.\0)G +MP).0;N80M0MPN0NN2N/0:H**Y0O0R0RPS0SJ-PP0KP*PQPT0W0WPX0XJ5OP0 +MUP;0VPY0\0\P]0]JYPZ(^PQ.KJ<*AJVPE1"PI0EO91#0G1%PA.=PFQ&PH1$1 +M(0HQ$Q#Q%1)Q)0(PJI.P_GPP[OE0`P4P.02P7Q2.X040811Q4-J13Q2Q5Q7Q +M718Q6P8Q4Q11;+7P9HM0PQ/1`O=PP$P'/NP"1B0#0!OX0&QDQA, +MKQ-/]0ZQ`,`1<.^Q@QBP#MLJ8QG1C1NL&/HQO1E1LQ?QQ1RO`PJ1HQ.I.O7J +MI1K1PQN/A1D1KQFL01Y1WQL/0LPQX1S1ZQ1?/EQW1QR"P(1F1YR$Q +MO1[2#1]OH/11\2'1^N"P:2`1UOO-*P,QZ2-O.2$1[R./Z1P2&R(O@211^20, +MAQH2*QU0;JZR,M:2)24/BQ]2229-32/21R;0&2328R%24Q_):Q=R+LP27R81 +M;Q21:2D+5Q9Q518RDQ8+:O&1:RIRE2CP32JRJ2H2FR@*2RA26MOQ!J[1+Q(R +MQQ*1VN?Q&2R1+2UN?0CRV1,2RNFRT2X2WRU2TPIOOP)1.0_RAP^2_2_S`0T0 +MU261/S`S#3#S$..3!R^0LS$S'3'S(.&S%PL3"S(S+3+S,*%3)PV1>QMJ7RPQ +M*R[Q,RS2[1'2YS2S432352Y2W312XS7JLQ'S4S1S:0D2*1=2+3&MOR!,[RFR +MGRG3?06+=S@RK3@3BRHR(2LSC3E.WP02M3CSB072N*WRO3*KS2BQ@2/R?2#R +M>2:SMR;SNR=3Q1M/H3M3S2"R53<3"-8B!S/-*3>SO3SL\2&23SOP,3ASXRS_OV3^T(20R(4$3ZT'.8R]4 +M!3&-O103W.M4&T$R?T%T04*QOT)T(T1SP434&3\Q\M:0_4--8T#S[M?4*4/S +MZ4/SN454446,"4;T>1L3TQ_T!P6*KR-43T229T'T5T:R=T=4D4;2<4GS\T@R +M@S5!T+T`U%U8K6FJ4UTPTS3FRI5CTV4SP +M/UDSGTQ5C4VTTUEUBUH4#,?U-3./1+"SA414I244?4F1ATHT+'5N-U6'6%QR6-5]3L-95^V%6.6(V/4>U +MU4,UV4B6+6,V26142UX6-V76/TL60T25\69/1V)SJ6*V54.666:QX6;UOQCV +M(6@/\6&V6QQ6=4WT849V,5_+H5K5E5HK(4OVI5GVIUKUJVLVN2!UG5F6MVL5 +MI1T25VFOUTY4YU65>U95=T_5=5759T[VW5A6VVV6X4\VWU<6Y6V3;TA6S537 +M`7`U&U42`W!7#7#S'7"2+J"7&7&W'7'J#645M)Y7'W*W+7+I*7(U@HPI(7,7 +M/7/W0(87-6>)A70W373W4'XW1TAW2W4W777W8';75VS)A(5HHI%)=J`78W=W +M>7*W9V4W:I3(DIOWA)`IQW>WD7DI[W?W)HTWAHUWB(W&DWE7J7JITWF6`IL) +M1I1IPWM(H)'W*7K7Q7QHKWL54IS'UH#7NIO7P7R7W7WHZWS7"WT)6(BIB7TH +ME)"7X7]W^(97Y7%W\)"IKWO7VIS7^X#X$'Y7_P+',IZ8$X'X()_I,6`7SX&W +MCX(X,8,IYX)U)4X7$8/X00]7%3=80X2X30R81S*X3X5X6.284U1X6X8X9.(X +M7X9X;8;N,X:X<8=X>.%X=8>X@8@J-8?XA8BXC3-8*7"XCXEXF&WXB8FXH8HV +MEUUW)XI8K8KMM8.V_XL8N8NU_XM64XO8Q8QJ6XDR^XR8T8N8GXTXV8HXUXVX +MX8CXWXXXZ8@8YXZX\8;X[X\X^86X]X^Y`82X_Y`Y"7#Y!Y"Y$539#Y$Y&5.Y +M%Y&Y(5(9'Y(Y*3,9)Y*Y,3'Y+Y,Y.3#9-Y.Y00^9/Y0Y20Y91Y2S-94*(93X +M=VT5$3/V:-*0`49&XJZ6"6$3=T395&Q8S828KL!-P6GY@S[VH0,M*VH.LYBY +M&Y68>6GT9+!9AP+YE+?6?6"Y=9=X.5@6>8Q9G601MYHK"4Z+C,`VHJ59;+NY +M9YQTBYI*^SKV$S/YSL6YQ55Y*YF96V5KFL6SA9H9\L(M:K@YNMY9^+4M':"V +M$Y]9*9[8<9VP`"#*HO85X/NY_M6279UKF:"2'YZ1OT+9"Z%8]9\2!6,6:9U3 +MVL#K/4Y,[-!Z#9T9WJD:`KV9,:/8;:7Z#Y7:1RB4>Y;V"279GZ6KGZ,,W:#: +M0Y0:989Z:9\9P,.Y^:798L0ORYCKI+):A:'L-:8Y>X58EZ4:,YX:FJ:Z=YYZ +MOZ?YZ9U:N4XY99Y:2Z@YS*9YQ:UO7YYY.ZBYL:AUYZMZYXD8P8JZ[Q":T4#9 +MIZ]FNZY;`;!X/EYQR=YG:$;C.CZFY;S +MR+>:=YR[1Z6[DY`;G9!;H+P:4ZZ;4FZ[:`[%8T[PY!;M9R:SZ&;*<2Y]JQ<3UZ:PS0:U:&YR\ +M7[V\7;WY$<1:XY:XG9K[6\);$*.\02C;=T5:W<_9H=`<]V3; +M/]-XSXK=%M4UW+.;49O;B<>:<;1=":.<>]69?=%,R:W=:;J<#TE![ +M$]$^">#N+^!7`B#[O\*U==_]J=!=;;(NL=^Y=^%7#->&^.[]Z +M]^,7!>/[X4:=B]J3:B>#=?5V\K:>\JZ1<29X^<=B%J@T+:'+DZ+:IUYLD[IZER\=YZ+JE:E<.[0^88FZH;], +M+N^=JSRZ4=!:TYORP=DO_+AZ61?=@<$9N>MXF>N]`:0ZM>P9X=A<'Y9+QZV* +M>/+^O/E:Q;R>?=58Q^D7`>NR$+K^G;6>5;D<.=">C+Y>UL_>+[=0TQ^TJ;^F]*=%S0?)9P[9L7>RXT?#9%9W^)3>=VKBYT[L*RZM^R[@]'_ +M`Q!-C]VZX+#^?S_\@Z%_+^$.79D>5]%?A_B.69B_7>M=>:L?E?HJ0?5_I?JV +M3W-\)U<^[\X?N>6?MY4_J_J5/\,;E<-=B_O>C<=_P_DX@ZH?N[^42F52N5/]]2]^PI[R]]/]^/Q]OM\SN>/F;SF +M64&A4.B46C2"-06#QRDTREQ6*5&'4JHU6J4Z*TF)4NM0FLU"NQJIT>R66S6> +MT6F6S28O^9R^;3B=3V=S]]VJ\7F]6F(6.FU>.WV-V*P4_`8?`Q"K1'!US'5+ +M'U:]Y/*97+6>73"932XSFZ76Y9?1:/1UVH8;`Y*KX3`:R#W^GV+!1B+8K85N +M,;;4:3>;W?9?,OJVV^:W;/S[0[_E'Q27@\/.<;/W;Q^OV8WO7_KZW4=+#8SG>Z*6'(TKK?/5OB]L`P$TCRLVN# +MT+H]4!P6Y33-FV;MJHP2)(<^[J(NU*P0PQ3Q;#D?2#(4AH]&\4L\],>2))3U3505#44%TY'5*S=4=4U55;?U+0=+596-95FM%72M5%:5S75 +M=I36TVUY8%@V$IDZQQ1=/4;8=E675=?5/9EH6C4=G616%I6O;%#6HT%K6S;U +MOSA;;D6[<%RW-+5Q4_<]UW9)ETV3=MXWE&5WW)>=[WQ`5ZUQ?-^W\\=]W_@6 +M!N7@."8/A#+8-A.&8;6MBR/4UJWYAV*XLEF%XOC6-O)B$[XE;F*8YD>2(9CT +MUY!<>9[GV?Z!H.A:'HFBZ-H^D:3I6 +ME(?D]!5N@6EZEJ>J:KJVKZQK.M:WKFNZ]F.FLU.V45?E:.9IJ.O[5M>V;;MV +MW[AN.Y:'L+A2GI]?GQEFT[3L&];GP'`\%P?"<+PVY;J\V/[+OF_[[F''\/R7 +M)\IRO+](V>VS]$@G,=-T_4=3U75[]@W/\_OO/=?V?6=KVW +M;]QW.L

+

Following is a list of features in ski between October 2001 and +February 2003:

+
    +
  • New command line options to initialize various + implementation-specific options (e.g., number of TLB entries) appropriately.
  • +
  • "step until privilege level = n" command (e.g. "supl + 2" steps until psr.cpl = 2)
  • +
  • "symload" command loads symbols from a binary
  • +
  • "show TLB line" (sdtl/sitl) commands show a single TLB entry + that matches a virtual address
  • +
  • New command line option (-mi xx) to initialize memory to a non-zero + value.
  • +
  • New command line option to change the size of the TLB
  • +
  • The "U" command (previously called "Up", but a better + name is "Until") now takes two arguments and instructions execute + until ip is in the range specified.  (Works great for catching the next + time an exception causes code in the ivt to execute.)
  • +
  • New "dr" command to show the dirty registers.  The + "rd" (register dump) command now also dumps the dirty registers.
  • +
  • New "step until memory matches" (summ) command executes until a + physical memory location changes.
  • +
  • Labels (syntax: ":label") now work in a command files, which + means goto's now work, which means command files are now useful for + complicated tests/programs.
  • +
  • New "linuxatpp" command dumps out Linux virtual memory + structures.  (Only works on native IA-64 when simulating Linux/ia64.)
  • +
  • New "evaltofile" command which, when used in a loop in a command + file, allows easy data collection.
  • +
  • MP support via shared memory.  (Not yet complete and only works on + Linux as of now.)
  • +
+

 

+

OTHER USEFUL TIPS AND TRICKS

+
    +
  • +

    Backspace doesn't work in some versions of ski + when running on Linux.  To fix this, first make sure you have the Linux + version of the XSki app-defaults file in your home directory.  + You have the Linux version if there is a line near the end of the + file which says:

    +

    *defaultVirtualBindings: + \ + +

    +

    Add the following line, immediately after this line.  + Ensure you use the exact capitalization and punctuation:

    +

    osfBackSpace:  + <Key>BackSpace\n\ + +

    +

      +

  • Use the eval command to see the value of a symbol or expression. E.g. + "eval f0f0+e<<3c".  Note that no spaces are allowed, + else the parser gets screwed up.
  • +
  • The * character adds a level of indirection just as in C. E.g. "= r13 + *r14" will use r14 as an address of an eight-byte pointer and assign + this to r13.
  • +
  • The ; character can be used to separate commands. This is especially + useful if you are repeating multiple commands, e.g. "s 100; sit" + is a quick way to step 100 times, then look at the instruction tlb. Then to + repeat, just hit Enter.
  • +
  • The SKI_USE_FAKE_XTERM environment variable has been added. + If this environment variable is set (the value is unimportant), + the ski-fake-xterm utility will be used for output to stdout, + instead of xterm. This will result in a temporary file created + in the current working directory with a name of the form "ski.XXXXXX", + where "XXXXXX" can be any six characters.
  • +
+ +  + + diff --git a/doc/ski.man b/doc/ski.man new file mode 100644 index 0000000..51f2ed1 --- /dev/null +++ b/doc/ski.man @@ -0,0 +1,219 @@ +.TH SKI 1 "Development Tools" "Hewlett-Packard Company" \" -*- nroff -*- +.SH NAME +ski, xski, bskinc \- An IA-64 Instruction Set Simulator +.SH SYNOPSIS +.BI "ski +.I [\-help] [\-i file] [\-rest file] [\-nonet] +.I " [\-srcroot dir] [\-forceuser] [\-forcesystem] [\-strace] +.I " [\-palen n] [\-valen n] [\-ridlen n] [\-keylen n] [\-grfile n] +.br + +.BI "xski +.I [\-help] [\-i file] [\-rest file] [\-noconsole] [\-nonet] +.I " [\-srcroot dir] [\-forceuser] [\-forcesystem] [\-strace] +.I " [\-palen n] [\-valen n] [\-ridlen n] [\-keylen n] [\-grfile n] +.br + +.BI "bskinc +.I [\-help] [\-i file] [\-rest file] [\-noconsole] [\-nonet] +.I " [\-forceuser] [\-forcesystem] [\-icnt file] [\-strace] [\-palen n] +.I " [\-valen n] [\-ridlen n] [\-keylen n] [\-grfile n] +.br +.SH DESCRIPTION +Ski is an IA-64 instruction set simulator from Hewlett-Packard +Company. It simulates the IA-64 architecture as defined by the +architecture manual. This is not a full platform simulator, i.e., no +system chipset or PCI bus simulation is done. However it supports the +full instruction set of the architecture, including privileged +instructions and associated semantics. +.PP +Ski can be used in two operating mode: user- and system-mode. In user +mode, you can run user level applications directly on top of the +simulator. The emulation stops at the system call boundary. The +system call is emulated by calling the host OS, such as x86 +Linux. Conversions between 64-bit and 32-bit parameters are done by +Ski as needed. This allows fast execution of user programs. Most +system calls are emulated, though the emulation is not always 100 +percent accurate. +.PP +In system-mode, operating-system kernel development and execution is +possible because interrupts and virtual memory behaviors are +simulated. In this mode you can actually run the Linux kernel and, +once booted, user applications can be run on top of the simulated +kernel. +.PP +The ski simulator comes with three different interfaces. The simplest +one is the batch mode, called +.BR bskinc +. In this mode the simulator runs in non-interactive mode, very much like +a shell running a script. +.PP +There is also a full-text curses-based mode, where you can interact +with the simulator to inspect code, set breakpoints, etc. This version +is called +.BR +ski +. +.PP +Finally there is a graphical version called +.BR +xski +which gives you several windows where you can look at the code, inspect +register contents, etc. +.PP +All three modes provides the same core simulation, only the interface +is different. +.PP +.SS OPTIONS +.TP +.I "\-help" +Prints the list of supported options for the specific interface +required. Not all options are available in every possible interface. +.TP +.I "\-nonet" +When running in kernel mode, this option tells the simulator not to +probe for existing Ethernet interfaces on the host. This way the Linux +kernel won't detect any device. This option is useful when you don't +want to run the simulator as root (or setuid to root). For networking +support root privilege is required. +.TP +.I "\-srcroot directory" +Specify the directory where the program sources can be found. This +option is only useful when combined the "mixed mode" display (see the +"pm" command inside Ski). +.TP +.I "\-noconsole" +Do not use an xterm as the default output console, but use the current tty. +This option is only useful when ski is invoked in batch mode. It allows +to run in the current terminal window. This is used mostly within the NUE(1) +environment. +.TP +.I "\-forceuser" +Force the simulator into user-mode. The simulator normally +auto-detects which mode to run in, but this option is available to +force user-mode in case auto-detection fails for some reason. +.TP +.I "\-forcesystem" +Force the simulator into system-mode. The simulator normally +auto-detects which mode to run in, but this option is available to +force system-mode in case auto-detection fails for some reason. +.TP +.I "\-strace" +This option displays all the system calls executed by the user level programs. +It is only valid when running in user-mode. The output looks like +a highly simplified version of output from strace(1). +.TP +.I "\-i file" +Process initialization at startup. +.TP +.I "\-icnt" +Store instruction counts in . +.TP +.I "\-rest" +Restore simulation state from . +.TP +.I "\-stats" +Display execution run-time and instruction rate. +.TP +.I "\-palen " +Implemented physical address bits. Default: n=63 +.TP +.I "\-valen " +Implemented virtual address bits. Default: n=61 +.TP +.I "\-ridlen " +Implemented RR.rid bits. Default: n=24 +.TP +.I "\-keylen " +Implemented PKR.key bits. Default: n=24 +.TP +.I "\-grlen " +General Register file size. Default: n=128 +.SH Running in user-mode +To run a simple IA-64 program in user-mode only, you can type in the +following: + +.nf +$ bskinc my_ia64_prg +.fi + +.PP +This will force execution is the current terminal and in batch mode. + +.BR IMPORTANT: +.I To run dynamically linked IA-64 binaries, it is necessary to have +IA-64 versions of the necessary shared libraries installed. On x86 +Linux, this is most easily accomplished by installing the NUE(1) +environment. + +.SH Running in system-mode +To run a Linux kernel on top of the simulator, you need several +components: +.PP +\- a Linux kernel compiled to use the HP-simulator. It needs to have +the CONFIG_SIMSERIAL, CONFIG_SIMSCSI, and CONFIG_SIMETH options turned +on. + +.PP +\- a boot loader that goes with it (compiled with "make boot" in the +kernel source tree). + +.PP +\- a disk image file with IA-64 binaries on it. + +Please refer to extra documentation to learn in greater details how to +build those 3 components. + +Once you have those components, you launch execution by simply typing: +.TP +.nf +$ ski bootloader vmlinux simscsi=/path/sd simeth=eth0 +.fi +.PP +In this example, the simscsi= option informs the Linux kernel where to +find the SCSI disk images. Here /path/sd is just the prefix, the +kernel will automatically look for /path/sd{a,b,c,...}. So the disk +image must use the full name, i.e., /path/sda. The simeth= indicates +which local interface to use for the simulated Ethernet driver. The +simulator must be run with root privilege to get the networking +emulation to work. + +You can specify other options on the command line, just like you would +do at the LILO boot prompt for instance. + +.SH Getting help inside ski + +When you run ski in interactive mode via ski or xski, you can get help +on commands by typing help. + +When running in curses mode, you must make sure that you have the +.BR PAGER +environment variable set to whatever is your preferred pager command. It is +usually set to more(1) or less(1). If the variable does not exist ski will +default to using less(1). Note that less(1) usually behaves the best when +interacting with ski. + +.SH Using Xski +In this version (1.1.0) of ski, the X11 interface has not been built. If +you would like such a GUI, please feel free to contribute patches to convert +the current Motif version to something more modern. + +.SH ENVIRONMENT VARIABLES +.TP +.I +.BR SKI_USE_FAKE_XTERM +If this environment variable is set (the value is unimportant), +the ski-fake-xterm(1) utility will be used for output to stdout, +instead of xterm(1). This will result in a temporary file created +in the current working directory with a name of the form "ski.XXXXXX", +where "XXXXXX" can be any six characters. + +.SH SEE ALSO +qemu(1), bochs(1) + +.SH AUTHORS +.nf +Hewlett-Packard Company +Stephane Eranian +David Mosberger + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper +mail. + +You should also get your employer (if you work as a programmer) or +your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James +Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/libltdl/Makefile b/libltdl/Makefile new file mode 100644 index 0000000..3eb374a --- /dev/null +++ b/libltdl/Makefile @@ -0,0 +1,648 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/libltdl +pkglibdir = $(libdir)/libltdl +pkgincludedir = $(includedir)/libltdl +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \ + $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config-h.in \ + $(top_srcdir)/configure COPYING.LIB config.guess config.sub \ + install-sh ltmain.sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +libltdl_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdl_la_OBJECTS = ltdl.lo +libltdl_la_OBJECTS = $(am_libltdl_la_OBJECTS) +#am_libltdl_la_rpath = -rpath $(libdir) +libltdlc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdlc_la_OBJECTS = ltdl.lo +libltdlc_la_OBJECTS = $(am_libltdlc_la_OBJECTS) +am_libltdlc_la_rpath = +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES) +DIST_SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES) +am__include_HEADERS_DIST = ltdl.h +includeHEADERS_INSTALL = $(INSTALL_HEADER) +am__noinst_HEADERS_DIST = ltdl.h +HEADERS = $(include_HEADERS) $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run tar +AR = ar +AS = as +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=none +CFLAGS = -g -O2 +CONVENIENCE_LTDL_FALSE = # +CONVENIENCE_LTDL_TRUE = +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=none +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = dlltool +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +GREP = /bin/grep +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_LTDL_FALSE = +INSTALL_LTDL_TRUE = # +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBADD_DL = -ldl +LIBOBJS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBTOOL_DEPS = ./ltmain.sh +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run makeinfo +OBJDUMP = objdump +OBJEXT = o +PACKAGE = libltdl +PACKAGE_BUGREPORT = bug-libtool@gnu.org +PACKAGE_NAME = libltdl +PACKAGE_STRING = libltdl 1.2 +PACKAGE_TARNAME = libltdl +PACKAGE_VERSION = 1.2 +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 1.2 +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = +am__fastdepCC_TRUE = # +am__fastdepCXX_FALSE = +am__fastdepCXX_TRUE = # +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/libltdl/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +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 = +AUTOMAKE_OPTIONS = no-dependencies foreign +#include_HEADERS = ltdl.h +#lib_LTLIBRARIES = libltdl.la +noinst_HEADERS = ltdl.h +noinst_LTLIBRARIES = libltdlc.la +CLEANFILES = libltdl.la libltdlc.la +libltdl_la_SOURCES = ltdl.c +libltdl_la_LDFLAGS = -no-undefined -version-info 4:5:1 +libltdl_la_LIBADD = $(LIBADD_DL) +libltdlc_la_SOURCES = ltdl.c +libltdlc_la_LIBADD = $(LIBADD_DL) +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config-h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libltdl.la: $(libltdl_la_OBJECTS) $(libltdl_la_DEPENDENCIES) + $(LINK) $(am_libltdl_la_rpath) $(libltdl_la_LDFLAGS) $(libltdl_la_OBJECTS) $(libltdl_la_LIBADD) $(LIBS) +libltdlc.la: $(libltdlc_la_OBJECTS) $(libltdlc_la_DEPENDENCIES) + $(LINK) $(am_libltdlc_la_rpath) $(libltdlc_la_LDFLAGS) $(libltdlc_la_OBJECTS) $(libltdlc_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +.c.o: + $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" + @list='$(include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config-h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config-h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config-h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config-h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \ + dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-includeHEADERS install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + + +ltdl.lo: ltdl.h config.h + +$(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am new file mode 100644 index 0000000..2a1e701 --- /dev/null +++ b/libltdl/Makefile.am @@ -0,0 +1,32 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = no-dependencies foreign + +if INSTALL_LTDL +include_HEADERS = ltdl.h +lib_LTLIBRARIES = libltdl.la +else +noinst_HEADERS = ltdl.h +endif + +if CONVENIENCE_LTDL +noinst_LTLIBRARIES = libltdlc.la +endif + +## Make sure these will be cleaned even when they're not built by +## default. +CLEANFILES = libltdl.la libltdlc.la + +libltdl_la_SOURCES = ltdl.c +libltdl_la_LDFLAGS = -no-undefined -version-info 4:5:1 +libltdl_la_LIBADD = $(LIBADD_DL) + +libltdlc_la_SOURCES = ltdl.c +libltdlc_la_LIBADD = $(LIBADD_DL) + +## Because we do not have automatic dependency tracking: +ltdl.lo: ltdl.h config.h + +$(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck diff --git a/libltdl/Makefile.in b/libltdl/Makefile.in new file mode 100644 index 0000000..16d65a6 --- /dev/null +++ b/libltdl/Makefile.in @@ -0,0 +1,648 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \ + $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config-h.in \ + $(top_srcdir)/configure COPYING.LIB config.guess config.sub \ + install-sh ltmain.sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +libltdl_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdl_la_OBJECTS = ltdl.lo +libltdl_la_OBJECTS = $(am_libltdl_la_OBJECTS) +@INSTALL_LTDL_TRUE@am_libltdl_la_rpath = -rpath $(libdir) +libltdlc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdlc_la_OBJECTS = ltdl.lo +libltdlc_la_OBJECTS = $(am_libltdlc_la_OBJECTS) +@CONVENIENCE_LTDL_TRUE@am_libltdlc_la_rpath = +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES) +DIST_SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES) +am__include_HEADERS_DIST = ltdl.h +includeHEADERS_INSTALL = $(INSTALL_HEADER) +am__noinst_HEADERS_DIST = ltdl.h +HEADERS = $(include_HEADERS) $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CONVENIENCE_LTDL_FALSE = @CONVENIENCE_LTDL_FALSE@ +CONVENIENCE_LTDL_TRUE = @CONVENIENCE_LTDL_TRUE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LTDL_FALSE = @INSTALL_LTDL_FALSE@ +INSTALL_LTDL_TRUE = @INSTALL_LTDL_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBADD_DL = @LIBADD_DL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBTOOL_DEPS = @LIBTOOL_DEPS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = no-dependencies foreign +@INSTALL_LTDL_TRUE@include_HEADERS = ltdl.h +@INSTALL_LTDL_TRUE@lib_LTLIBRARIES = libltdl.la +@INSTALL_LTDL_FALSE@noinst_HEADERS = ltdl.h +@CONVENIENCE_LTDL_TRUE@noinst_LTLIBRARIES = libltdlc.la +CLEANFILES = libltdl.la libltdlc.la +libltdl_la_SOURCES = ltdl.c +libltdl_la_LDFLAGS = -no-undefined -version-info 4:5:1 +libltdl_la_LIBADD = $(LIBADD_DL) +libltdlc_la_SOURCES = ltdl.c +libltdlc_la_LIBADD = $(LIBADD_DL) +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config-h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libltdl.la: $(libltdl_la_OBJECTS) $(libltdl_la_DEPENDENCIES) + $(LINK) $(am_libltdl_la_rpath) $(libltdl_la_LDFLAGS) $(libltdl_la_OBJECTS) $(libltdl_la_LIBADD) $(LIBS) +libltdlc.la: $(libltdlc_la_OBJECTS) $(libltdlc_la_DEPENDENCIES) + $(LINK) $(am_libltdlc_la_rpath) $(libltdlc_la_LDFLAGS) $(libltdlc_la_OBJECTS) $(libltdlc_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +.c.o: + $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" + @list='$(include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config-h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config-h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config-h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config-h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \ + dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-includeHEADERS install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES + + +ltdl.lo: ltdl.h config.h + +$(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libltdl/README b/libltdl/README new file mode 100644 index 0000000..da0a449 --- /dev/null +++ b/libltdl/README @@ -0,0 +1,10 @@ +This is GNU libltdl, a system independent dlopen wrapper for GNU libtool. + +It supports the following dlopen interfaces: +* dlopen (Solaris, Linux and various BSD flavors) +* shl_load (HP-UX) +* LoadLibrary (Win16 and Win32) +* load_add_on (BeOS) +* GNU DLD (emulates dynamic linking for static libraries) +* dyld (darwin/Mac OS X) +* libtool's dlpreopen diff --git a/libltdl/acinclude.m4 b/libltdl/acinclude.m4 new file mode 100644 index 0000000..79d9486 --- /dev/null +++ b/libltdl/acinclude.m4 @@ -0,0 +1,7025 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 1996 +## +## This file is free software; the Free Software Foundation gives +## unlimited permission to copy and/or distribute it, with or without +## modifications, as long as this notice is preserved. + +# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognize shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognize a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# ------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + + +# Cheap backport of AS_EXECUTABLE_P and required macros +# from Autoconf 2.59; we should not use $as_executable_p directly. + +# _AS_TEST_PREPARE +# ---------------- +m4_ifndef([_AS_TEST_PREPARE], +[m4_defun([_AS_TEST_PREPARE], +[if test -x / >/dev/null 2>&1; then + as_executable_p='test -x' +else + as_executable_p='test -f' +fi +])])# _AS_TEST_PREPARE + +# AS_EXECUTABLE_P +# --------------- +# Check whether a file is executable. +m4_ifndef([AS_EXECUTABLE_P], +[m4_defun([AS_EXECUTABLE_P], +[AS_REQUIRE([_AS_TEST_PREPARE])dnl +$as_executable_p $1[]dnl +])])# AS_EXECUTABLE_P + +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +]) +## ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- +## Copyright (C) 1999-2006 Free Software Foundation, Inc. +## +## This file is free software; the Free Software Foundation gives +## unlimited permission to copy and/or distribute it, with or without +## modifications, as long as this notice is preserved. + +# serial 8 AC_LIB_LTDL + +# AC_WITH_LTDL +# ------------ +# Clients of libltdl can use this macro to allow the installer to +# choose between a shipped copy of the ltdl sources or a preinstalled +# version of the library. +AC_DEFUN([AC_WITH_LTDL], +[AC_REQUIRE([AC_LIB_LTDL]) +AC_SUBST([LIBLTDL]) +AC_SUBST([INCLTDL]) + +# Unless the user asks us to check, assume no installed ltdl exists. +use_installed_libltdl=no + +AC_ARG_WITH([included_ltdl], + [ --with-included-ltdl use the GNU ltdl sources included here]) + +if test "x$with_included_ltdl" != xyes; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_LIB([ltdl], [lt_dlcaller_register], + [with_included_ltdl=no], + [with_included_ltdl=yes]) + ]) +fi + +if test "x$enable_ltdl_install" != xyes; then + # If the user did not specify an installable libltdl, then default + # to a convenience lib. + AC_LIBLTDL_CONVENIENCE +fi + +if test "x$with_included_ltdl" = xno; then + # If the included ltdl is not to be used. then Use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl +fi + +# Report our decision... +AC_MSG_CHECKING([whether to use included libltdl]) +AC_MSG_RESULT([$with_included_ltdl]) + +AC_CONFIG_SUBDIRS([libltdl]) +])# AC_WITH_LTDL + + +# AC_LIB_LTDL +# ----------- +# Perform all the checks necessary for compilation of the ltdl objects +# -- including compiler checks and header checks. +AC_DEFUN([AC_LIB_LTDL], +[AC_PREREQ(2.50) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_C_CONST]) +AC_REQUIRE([AC_HEADER_STDC]) +AC_REQUIRE([AC_HEADER_DIRENT]) +AC_REQUIRE([_LT_AC_CHECK_DLFCN]) +AC_REQUIRE([AC_LTDL_ENABLE_INSTALL]) +AC_REQUIRE([AC_LTDL_SHLIBEXT]) +AC_REQUIRE([AC_LTDL_SHLIBPATH]) +AC_REQUIRE([AC_LTDL_SYSSEARCHPATH]) +AC_REQUIRE([AC_LTDL_OBJDIR]) +AC_REQUIRE([AC_LTDL_DLPREOPEN]) +AC_REQUIRE([AC_LTDL_DLLIB]) +AC_REQUIRE([AC_LTDL_SYMBOL_USCORE]) +AC_REQUIRE([AC_LTDL_DLSYM_USCORE]) +AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS]) +AC_REQUIRE([AC_LTDL_FUNC_ARGZ]) + +AC_CHECK_HEADERS([assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ + stdio.h unistd.h]) +AC_CHECK_HEADERS([dl.h sys/dl.h dld.h mach-o/dyld.h]) +AC_CHECK_HEADERS([string.h strings.h], [break]) + +AC_CHECK_FUNCS([strchr index], [break]) +AC_CHECK_FUNCS([strrchr rindex], [break]) +AC_CHECK_FUNCS([memcpy bcopy], [break]) +AC_CHECK_FUNCS([memmove strcmp]) +AC_CHECK_FUNCS([closedir opendir readdir]) +])# AC_LIB_LTDL + + +# AC_LTDL_ENABLE_INSTALL +# ---------------------- +AC_DEFUN([AC_LTDL_ENABLE_INSTALL], +[AC_ARG_ENABLE([ltdl-install], + [AC_HELP_STRING([--enable-ltdl-install], [install libltdl])]) + +AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) +AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno) +])# AC_LTDL_ENABLE_INSTALL + + +# AC_LTDL_SYS_DLOPEN_DEPLIBS +# -------------------------- +AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [libltdl_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + libltdl_cv_sys_dlopen_deplibs=unknown + case "$host_os" in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + aix[[45]]*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + libltdl_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + interix*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explictly say `no'. + libltdl_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +])# AC_LTDL_SYS_DLOPEN_DEPLIBS + + +# AC_LTDL_SHLIBEXT +# ---------------- +AC_DEFUN([AC_LTDL_SHLIBEXT], +[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([which extension is used for loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + AC_DEFINE_UNQUOTED([LTDL_SHLIB_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for shared libraries, say, ".so".]) +fi +])# AC_LTDL_SHLIBEXT + + +# AC_LTDL_SHLIBPATH +# ----------------- +AC_DEFUN([AC_LTDL_SHLIBPATH], +[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([which variable specifies run-time library path], + [libltdl_cv_shlibpath_var], [libltdl_cv_shlibpath_var="$shlibpath_var"]) +if test -n "$libltdl_cv_shlibpath_var"; then + AC_DEFINE_UNQUOTED([LTDL_SHLIBPATH_VAR], ["$libltdl_cv_shlibpath_var"], + [Define to the name of the environment variable that determines the dynamic library search path.]) +fi +])# AC_LTDL_SHLIBPATH + + +# AC_LTDL_SYSSEARCHPATH +# --------------------- +AC_DEFUN([AC_LTDL_SYSSEARCHPATH], +[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([for the default library search path], + [libltdl_cv_sys_search_path], + [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"]) +if test -n "$libltdl_cv_sys_search_path"; then + sys_search_path= + for dir in $libltdl_cv_sys_search_path; do + if test -z "$sys_search_path"; then + sys_search_path="$dir" + else + sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" + fi + done + AC_DEFINE_UNQUOTED([LTDL_SYSSEARCHPATH], ["$sys_search_path"], + [Define to the system default library search path.]) +fi +])# AC_LTDL_SYSSEARCHPATH + + +# AC_LTDL_OBJDIR +# -------------- +AC_DEFUN([AC_LTDL_OBJDIR], +[AC_CACHE_CHECK([for objdir], + [libltdl_cv_objdir], + [libltdl_cv_objdir="$objdir" + if test -n "$objdir"; then + : + else + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then + libltdl_cv_objdir=.libs + else + # MS-DOS does not allow filenames that begin with a dot. + libltdl_cv_objdir=_libs + fi + rmdir .libs 2>/dev/null + fi + ]) +AC_DEFINE_UNQUOTED([LTDL_OBJDIR], ["$libltdl_cv_objdir/"], + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# AC_LTDL_OBJDIR + + +# AC_LTDL_DLPREOPEN +# ----------------- +AC_DEFUN([AC_LTDL_DLPREOPEN], +[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], + [libltdl_cv_preloaded_symbols], + [if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + ]) +if test x"$libltdl_cv_preloaded_symbols" = xyes; then + AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], + [Define if libtool can extract symbol lists from object files.]) +fi +])# AC_LTDL_DLPREOPEN + + +# AC_LTDL_DLLIB +# ------------- +AC_DEFUN([AC_LTDL_DLLIB], +[LIBADD_DL= +AC_SUBST(LIBADD_DL) +AC_LANG_PUSH([C]) + +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.])], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LIBADD_DL="$LIBADD_DL -ldld"], + [AC_CHECK_LIB([dl], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes"], + [AC_TRY_LINK([#if HAVE_DLFCN_H +# include +#endif + ], + [dlopen(0, 0);], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) libltdl_cv_func_dlopen="yes"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes"], + [AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LIBADD_DL="$LIBADD_DL -ldld"], + [AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.])]) + ]) + ]) + ]) + ]) + ]) +]) + +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + AC_CHECK_FUNCS([dlerror]) + LIBS="$lt_save_LIBS" +fi +AC_LANG_POP +])# AC_LTDL_DLLIB + + +# AC_LTDL_SYMBOL_USCORE +# --------------------- +# does the compiler prefix global symbols with an underscore? +AC_DEFUN([AC_LTDL_SYMBOL_USCORE], +[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [ac_cv_sys_symbol_underscore], + [ac_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext < $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + ac_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC + fi + else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.c >&AC_FD_CC + fi + rm -rf conftest* + ]) +])# AC_LTDL_SYMBOL_USCORE + + +# AC_LTDL_DLSYM_USCORE +# -------------------- +AC_DEFUN([AC_LTDL_DLSYM_USCORE], +[AC_REQUIRE([AC_LTDL_SYMBOL_USCORE]) +if test x"$ac_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + _LT_AC_TRY_DLOPEN_SELF( + [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], + [], [libltdl_cv_need_uscore=cross]) + LIBS="$save_LIBS" + ]) + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +])# AC_LTDL_DLSYM_USCORE + +# AC_LTDL_FUNC_ARGZ +# ----------------- +AC_DEFUN([AC_LTDL_FUNC_ARGZ], +[AC_CHECK_HEADERS([argz.h]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for `error_t' if it is not otherwise available.])], + [#if HAVE_ARGZ_H +# include +#endif]) + +AC_CHECK_FUNCS([argz_append argz_create_sep argz_insert argz_next argz_stringify]) +])# AC_LTDL_FUNC_ARGZ diff --git a/libltdl/aclocal.m4 b/libltdl/aclocal.m4 new file mode 100644 index 0000000..dd92cb3 --- /dev/null +++ b/libltdl/aclocal.m4 @@ -0,0 +1,863 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.6])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff --git a/libltdl/autom4te.cache/output.0 b/libltdl/autom4te.cache/output.0 new file mode 100644 index 0000000..4ff2692 --- /dev/null +++ b/libltdl/autom4te.cache/output.0 @@ -0,0 +1,23832 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61 for libltdl 1.2. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='libltdl' +PACKAGE_TARNAME='libltdl' +PACKAGE_VERSION='1.2' +PACKAGE_STRING='libltdl 1.2' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' + +ac_unique_file="ltdl.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +LN_S +ECHO +AR +RANLIB +DLLTOOL +AS +OBJDUMP +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBTOOL_DEPS +INSTALL_LTDL_TRUE +INSTALL_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +CONVENIENCE_LTDL_FALSE +LIBADD_DL +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures libltdl 1.2 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/libltdl@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of libltdl 1.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-tags@<:@=TAGS@:>@ include additional configurations @<:@automatic@:>@ + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +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 . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +libltdl configure 1.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +## ------------------------------- ## +## Libltdl specific configuration. ## +## ------------------------------- ## + +ac_aux_dir= +for ac_dir in . "$srcdir"/.; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then + if test -f ${srcdir}/ltmain.sh; then + # if libltdl is libtoolized, it is assumed to be stand-alone and + # installed unless the command line overrides it (tested above) + enable_ltdl_install=yes + else + { echo "$as_me:$LINENO: WARNING: *** The top-level configure must select either" >&5 +echo "$as_me: WARNING: *** The top-level configure must select either" >&2;} + { echo "$as_me:$LINENO: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&5 +echo "$as_me: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&2;} + { { echo "$as_me:$LINENO: error: *** Maybe you want to --enable-ltdl-install?" >&5 +echo "$as_me: error: *** Maybe you want to --enable-ltdl-install?" >&2;} + { (exit 1); exit 1; }; } + fi +fi + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=libltdl + VERSION=1.2 + + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + +## ------------------ ## +## C compiler checks. ## +## ------------------ ## +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +@%:@define const +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { echo "$as_me:$LINENO: result: $DLLTOOL" >&5 +echo "${ECHO_T}$DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 +echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AS="${ac_tool_prefix}as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { echo "$as_me:$LINENO: result: $AS" >&5 +echo "${ECHO_T}$AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AS="as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 +echo "${ECHO_T}$ac_ct_AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +echo "${ECHO_T}$OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=yes + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then + enableval=$enable_ltdl_install; +fi + + + + +if test x"${enable_ltdl_install-no}" != xno; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + + +if test x"${enable_ltdl_convenience-no}" != xno; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking which extension is used for loadable modules" >&5 +echo $ECHO_N "checking which extension is used for loadable modules... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibext" >&5 +echo "${ECHO_T}$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SHLIB_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking which variable specifies run-time library path" >&5 +echo $ECHO_N "checking which variable specifies run-time library path... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibpath_var+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_shlibpath_var="$shlibpath_var" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibpath_var" >&5 +echo "${ECHO_T}$libltdl_cv_shlibpath_var" >&6; } +if test -n "$libltdl_cv_shlibpath_var"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SHLIBPATH_VAR "$libltdl_cv_shlibpath_var" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking for the default library search path" >&5 +echo $ECHO_N "checking for the default library search path... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_search_path+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_search_path" >&5 +echo "${ECHO_T}$libltdl_cv_sys_search_path" >&6; } +if test -n "$libltdl_cv_sys_search_path"; then + sys_search_path= + for dir in $libltdl_cv_sys_search_path; do + if test -z "$sys_search_path"; then + sys_search_path="$dir" + else + sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" + fi + done + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SYSSEARCHPATH "$sys_search_path" +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${libltdl_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_objdir="$objdir" + if test -n "$objdir"; then + : + else + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then + libltdl_cv_objdir=.libs + else + # MS-DOS does not allow filenames that begin with a dot. + libltdl_cv_objdir=_libs + fi + rmdir .libs 2>/dev/null + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_objdir" >&5 +echo "${ECHO_T}$libltdl_cv_objdir" >&6; } + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_OBJDIR "$libltdl_cv_objdir/" +_ACEOF + + + +{ echo "$as_me:$LINENO: checking whether libtool supports -dlopen/-dlpreopen" >&5 +echo $ECHO_N "checking whether libtool supports -dlopen/-dlpreopen... $ECHO_C" >&6; } +if test "${libltdl_cv_preloaded_symbols+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_preloaded_symbols" >&5 +echo "${ECHO_T}$libltdl_cv_preloaded_symbols" >&6; } +if test x"$libltdl_cv_preloaded_symbols" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_PRELOADED_SYMBOLS 1 +_ACEOF + +fi + +LIBADD_DL= + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SHL_LOAD 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SHL_LOAD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + libltdl_cv_func_dlopen="yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DLD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for _dyld_func_lookup" >&5 +echo $ECHO_N "checking for _dyld_func_lookup... $ECHO_C" >&6; } +if test "${ac_cv_func__dyld_func_lookup+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define _dyld_func_lookup to an innocuous variant, in case declares _dyld_func_lookup. + For example, HP-UX 11i declares gettimeofday. */ +#define _dyld_func_lookup innocuous__dyld_func_lookup + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char _dyld_func_lookup (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef _dyld_func_lookup + +/* 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 _dyld_func_lookup (); +/* 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__dyld_func_lookup || defined __stub____dyld_func_lookup +choke me +#endif + +int +main () +{ +return _dyld_func_lookup (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func__dyld_func_lookup=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func__dyld_func_lookup=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func__dyld_func_lookup" >&5 +echo "${ECHO_T}$ac_cv_func__dyld_func_lookup" >&6; } +if test $ac_cv_func__dyld_func_lookup = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DYLD 1 +_ACEOF + +fi + + +fi + + +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi + + +fi + + +fi + + +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + +for ac_func in dlerror +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$lt_save_LIBS" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for _ prefix in compiled symbols" >&5 +echo $ECHO_N "checking for _ prefix in compiled symbols... $ECHO_C" >&6; } +if test "${ac_cv_sys_symbol_underscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + ac_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sys_symbol_underscore" >&5 +echo "${ECHO_T}$ac_cv_sys_symbol_underscore" >&6; } + + +if test x"$ac_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + { echo "$as_me:$LINENO: checking whether we have to add an underscore for dlsym" >&5 +echo $ECHO_N "checking whether we have to add an underscore for dlsym... $ECHO_C" >&6; } +if test "${libltdl_cv_need_uscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + if test "$cross_compiling" = yes; then : + libltdl_cv_need_uscore=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) libltdl_cv_need_uscore=no ;; + x$lt_dlneed_uscore) libltdl_cv_need_uscore=yes ;; + x$lt_dlunknown|x*) ;; + esac + else : + # compilation failed + + fi +fi +rm -fr conftest* + + LIBS="$save_LIBS" + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_need_uscore" >&5 +echo "${ECHO_T}$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define NEED_USCORE 1 +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether deplibs are loaded by dlopen" >&5 +echo $ECHO_N "checking whether deplibs are loaded by dlopen... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_dlopen_deplibs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + libltdl_cv_sys_dlopen_deplibs=unknown + case "$host_os" in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + aix[45]*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + libltdl_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + interix*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explictly say `no'. + libltdl_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_dlopen_deplibs" >&5 +echo "${ECHO_T}$libltdl_cv_sys_dlopen_deplibs" >&6; } +if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define LTDL_DLOPEN_DEPLIBS 1 +_ACEOF + +fi + + +for ac_header in argz.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ echo "$as_me:$LINENO: checking for error_t" >&5 +echo $ECHO_N "checking for error_t... $ECHO_C" >&6; } +if test "${ac_cv_type_error_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_ARGZ_H +# include +#endif + +typedef error_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_error_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_error_t=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_error_t" >&5 +echo "${ECHO_T}$ac_cv_type_error_t" >&6; } +if test $ac_cv_type_error_t = yes; then + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ERROR_T 1 +_ACEOF + + +else + +cat >>confdefs.h <<\_ACEOF +@%:@define error_t int +_ACEOF + +fi + + + + + + + +for ac_func in argz_append argz_create_sep argz_insert argz_next argz_stringify +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for ac_header in assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ + stdio.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + +for ac_header in dl.h sys/dl.h dld.h mach-o/dyld.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in string.h strings.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + break +fi + +done + + + + +for ac_func in strchr index +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in strrchr rindex +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memcpy bcopy +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memmove strcmp +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +for ac_func in closedir opendir readdir +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +libltdl config.status 1.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +LN_S!$LN_S$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +DLLTOOL!$DLLTOOL$ac_delim +AS!$AS$ac_delim +OBJDUMP!$OBJDUMP$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBTOOL_DEPS!$LIBTOOL_DEPS$ac_delim +INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim +INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim +CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim +CONVENIENCE_LTDL_FALSE!$CONVENIENCE_LTDL_FALSE$ac_delim +LIBADD_DL!$LIBADD_DL$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/libltdl/autom4te.cache/output.1 b/libltdl/autom4te.cache/output.1 new file mode 100644 index 0000000..4ff2692 --- /dev/null +++ b/libltdl/autom4te.cache/output.1 @@ -0,0 +1,23832 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61 for libltdl 1.2. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='libltdl' +PACKAGE_TARNAME='libltdl' +PACKAGE_VERSION='1.2' +PACKAGE_STRING='libltdl 1.2' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' + +ac_unique_file="ltdl.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +LN_S +ECHO +AR +RANLIB +DLLTOOL +AS +OBJDUMP +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBTOOL_DEPS +INSTALL_LTDL_TRUE +INSTALL_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +CONVENIENCE_LTDL_FALSE +LIBADD_DL +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures libltdl 1.2 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/libltdl@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of libltdl 1.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-tags@<:@=TAGS@:>@ include additional configurations @<:@automatic@:>@ + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +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 . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +libltdl configure 1.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +## ------------------------------- ## +## Libltdl specific configuration. ## +## ------------------------------- ## + +ac_aux_dir= +for ac_dir in . "$srcdir"/.; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then + if test -f ${srcdir}/ltmain.sh; then + # if libltdl is libtoolized, it is assumed to be stand-alone and + # installed unless the command line overrides it (tested above) + enable_ltdl_install=yes + else + { echo "$as_me:$LINENO: WARNING: *** The top-level configure must select either" >&5 +echo "$as_me: WARNING: *** The top-level configure must select either" >&2;} + { echo "$as_me:$LINENO: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&5 +echo "$as_me: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&2;} + { { echo "$as_me:$LINENO: error: *** Maybe you want to --enable-ltdl-install?" >&5 +echo "$as_me: error: *** Maybe you want to --enable-ltdl-install?" >&2;} + { (exit 1); exit 1; }; } + fi +fi + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=libltdl + VERSION=1.2 + + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + +## ------------------ ## +## C compiler checks. ## +## ------------------ ## +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +@%:@define const +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { echo "$as_me:$LINENO: result: $DLLTOOL" >&5 +echo "${ECHO_T}$DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 +echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AS="${ac_tool_prefix}as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { echo "$as_me:$LINENO: result: $AS" >&5 +echo "${ECHO_T}$AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AS="as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 +echo "${ECHO_T}$ac_ct_AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +echo "${ECHO_T}$OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=yes + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then + enableval=$enable_ltdl_install; +fi + + + + +if test x"${enable_ltdl_install-no}" != xno; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + + +if test x"${enable_ltdl_convenience-no}" != xno; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking which extension is used for loadable modules" >&5 +echo $ECHO_N "checking which extension is used for loadable modules... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibext" >&5 +echo "${ECHO_T}$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SHLIB_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking which variable specifies run-time library path" >&5 +echo $ECHO_N "checking which variable specifies run-time library path... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibpath_var+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_shlibpath_var="$shlibpath_var" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibpath_var" >&5 +echo "${ECHO_T}$libltdl_cv_shlibpath_var" >&6; } +if test -n "$libltdl_cv_shlibpath_var"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SHLIBPATH_VAR "$libltdl_cv_shlibpath_var" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking for the default library search path" >&5 +echo $ECHO_N "checking for the default library search path... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_search_path+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_search_path" >&5 +echo "${ECHO_T}$libltdl_cv_sys_search_path" >&6; } +if test -n "$libltdl_cv_sys_search_path"; then + sys_search_path= + for dir in $libltdl_cv_sys_search_path; do + if test -z "$sys_search_path"; then + sys_search_path="$dir" + else + sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" + fi + done + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_SYSSEARCHPATH "$sys_search_path" +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${libltdl_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_objdir="$objdir" + if test -n "$objdir"; then + : + else + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then + libltdl_cv_objdir=.libs + else + # MS-DOS does not allow filenames that begin with a dot. + libltdl_cv_objdir=_libs + fi + rmdir .libs 2>/dev/null + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_objdir" >&5 +echo "${ECHO_T}$libltdl_cv_objdir" >&6; } + +cat >>confdefs.h <<_ACEOF +@%:@define LTDL_OBJDIR "$libltdl_cv_objdir/" +_ACEOF + + + +{ echo "$as_me:$LINENO: checking whether libtool supports -dlopen/-dlpreopen" >&5 +echo $ECHO_N "checking whether libtool supports -dlopen/-dlpreopen... $ECHO_C" >&6; } +if test "${libltdl_cv_preloaded_symbols+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_preloaded_symbols" >&5 +echo "${ECHO_T}$libltdl_cv_preloaded_symbols" >&6; } +if test x"$libltdl_cv_preloaded_symbols" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_PRELOADED_SYMBOLS 1 +_ACEOF + +fi + +LIBADD_DL= + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SHL_LOAD 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_SHL_LOAD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + libltdl_cv_func_dlopen="yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DLD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for _dyld_func_lookup" >&5 +echo $ECHO_N "checking for _dyld_func_lookup... $ECHO_C" >&6; } +if test "${ac_cv_func__dyld_func_lookup+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define _dyld_func_lookup to an innocuous variant, in case declares _dyld_func_lookup. + For example, HP-UX 11i declares gettimeofday. */ +#define _dyld_func_lookup innocuous__dyld_func_lookup + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char _dyld_func_lookup (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef _dyld_func_lookup + +/* 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 _dyld_func_lookup (); +/* 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__dyld_func_lookup || defined __stub____dyld_func_lookup +choke me +#endif + +int +main () +{ +return _dyld_func_lookup (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func__dyld_func_lookup=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func__dyld_func_lookup=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func__dyld_func_lookup" >&5 +echo "${ECHO_T}$ac_cv_func__dyld_func_lookup" >&6; } +if test $ac_cv_func__dyld_func_lookup = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_DYLD 1 +_ACEOF + +fi + + +fi + + +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi + + +fi + + +fi + + +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + +for ac_func in dlerror +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$lt_save_LIBS" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for _ prefix in compiled symbols" >&5 +echo $ECHO_N "checking for _ prefix in compiled symbols... $ECHO_C" >&6; } +if test "${ac_cv_sys_symbol_underscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + ac_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sys_symbol_underscore" >&5 +echo "${ECHO_T}$ac_cv_sys_symbol_underscore" >&6; } + + +if test x"$ac_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + { echo "$as_me:$LINENO: checking whether we have to add an underscore for dlsym" >&5 +echo $ECHO_N "checking whether we have to add an underscore for dlsym... $ECHO_C" >&6; } +if test "${libltdl_cv_need_uscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + if test "$cross_compiling" = yes; then : + libltdl_cv_need_uscore=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) libltdl_cv_need_uscore=no ;; + x$lt_dlneed_uscore) libltdl_cv_need_uscore=yes ;; + x$lt_dlunknown|x*) ;; + esac + else : + # compilation failed + + fi +fi +rm -fr conftest* + + LIBS="$save_LIBS" + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_need_uscore" >&5 +echo "${ECHO_T}$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define NEED_USCORE 1 +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether deplibs are loaded by dlopen" >&5 +echo $ECHO_N "checking whether deplibs are loaded by dlopen... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_dlopen_deplibs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + libltdl_cv_sys_dlopen_deplibs=unknown + case "$host_os" in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + aix[45]*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + libltdl_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + interix*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explictly say `no'. + libltdl_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_dlopen_deplibs" >&5 +echo "${ECHO_T}$libltdl_cv_sys_dlopen_deplibs" >&6; } +if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define LTDL_DLOPEN_DEPLIBS 1 +_ACEOF + +fi + + +for ac_header in argz.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ echo "$as_me:$LINENO: checking for error_t" >&5 +echo $ECHO_N "checking for error_t... $ECHO_C" >&6; } +if test "${ac_cv_type_error_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_ARGZ_H +# include +#endif + +typedef error_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_error_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_error_t=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_error_t" >&5 +echo "${ECHO_T}$ac_cv_type_error_t" >&6; } +if test $ac_cv_type_error_t = yes; then + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ERROR_T 1 +_ACEOF + + +else + +cat >>confdefs.h <<\_ACEOF +@%:@define error_t int +_ACEOF + +fi + + + + + + + +for ac_func in argz_append argz_create_sep argz_insert argz_next argz_stringify +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for ac_header in assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ + stdio.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + +for ac_header in dl.h sys/dl.h dld.h mach-o/dyld.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in string.h strings.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ ---------------------------------- @%:@@%:@ +@%:@@%:@ Report this to bug-libtool@gnu.org @%:@@%:@ +@%:@@%:@ ---------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + break +fi + +done + + + + +for ac_func in strchr index +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in strrchr rindex +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memcpy bcopy +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memmove strcmp +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +for ac_func in closedir opendir readdir +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +libltdl config.status 1.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +LN_S!$LN_S$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +DLLTOOL!$DLLTOOL$ac_delim +AS!$AS$ac_delim +OBJDUMP!$OBJDUMP$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBTOOL_DEPS!$LIBTOOL_DEPS$ac_delim +INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim +INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim +CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim +CONVENIENCE_LTDL_FALSE!$CONVENIENCE_LTDL_FALSE$ac_delim +LIBADD_DL!$LIBADD_DL$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/libltdl/autom4te.cache/requests b/libltdl/autom4te.cache/requests new file mode 100644 index 0000000..b403d04 --- /dev/null +++ b/libltdl/autom4te.cache/requests @@ -0,0 +1,222 @@ +# This file was generated by Autom4te Wed Jan 17 19:57:31 PST 2007. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + '/usr/share/aclocal-1.9/amversion.m4', + '/usr/share/aclocal-1.9/auxdir.m4', + '/usr/share/aclocal-1.9/cond.m4', + '/usr/share/aclocal-1.9/depend.m4', + '/usr/share/aclocal-1.9/depout.m4', + '/usr/share/aclocal-1.9/header.m4', + '/usr/share/aclocal-1.9/init.m4', + '/usr/share/aclocal-1.9/install-sh.m4', + '/usr/share/aclocal-1.9/lead-dot.m4', + '/usr/share/aclocal-1.9/make.m4', + '/usr/share/aclocal-1.9/missing.m4', + '/usr/share/aclocal-1.9/mkdirp.m4', + '/usr/share/aclocal-1.9/options.m4', + '/usr/share/aclocal-1.9/runlog.m4', + '/usr/share/aclocal-1.9/sanity.m4', + '/usr/share/aclocal-1.9/strip.m4', + '/usr/share/aclocal-1.9/tar.m4', + 'acinclude.m4', + 'configure.ac' + ], + { + '_LT_AC_TAGCONFIG' => 1, + 'AM_ENABLE_STATIC' => 1, + 'm4_pattern_forbid' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + '_LT_AC_SHELL_INIT' => 1, + 'AC_DISABLE_SHARED' => 1, + 'AC_DEFUN' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AC_LTDL_DLSYM_USCORE' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'AM_MISSING_PROG' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + '_m4_warn' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_LTDL_FUNC_ARGZ' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AC_WITH_LTDL' => 1, + 'AM_SANITY_CHECK' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'LT_AC_PROG_RC' => 1, + '_AM_PROG_TAR' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'AC_LIBTOOL_GCJ' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'AM_DISABLE_STATIC' => 1, + 'AM_DEP_TRACK' => 1, + '_AC_PROG_LIBTOOL' => 1, + 'AM_CONFIG_HEADER' => 1, + '_LT_AC_LANG_F77' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + '_AM_IF_OPTION' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + 'AC_LTDL_DLLIB' => 1, + 'AC_LIBTOOL_F77' => 1, + 'm4_pattern_allow' => 1, + 'AM_DISABLE_SHARED' => 1, + 'AM_SET_LEADING_DOT' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AM_PROG_LIBTOOL' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + 'AM_PROG_LD' => 1, + 'AC_LIB_LTDL' => 1, + '_AM_DEPENDENCIES' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'AM_PROG_NM' => 1, + 'AU_DEFUN' => 1, + 'AC_PROG_NM' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'AC_PROG_LD' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'AC_PROG_LD_GNU' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + '_AM_SET_OPTION' => 1, + 'AC_LTDL_DLPREOPEN' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_DISABLE_STATIC' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + 'AC_DEFUN_ONCE' => 1, + '_LT_AC_LOCK' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'AC_LIBTOOL_RC' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + 'include' => 1, + 'LT_AC_PROG_SED' => 1, + 'AM_ENABLE_SHARED' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + 'AC_ENABLE_SHARED' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + '_AM_SET_OPTIONS' => 1, + 'AM_RUN_LOG' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_CHECK_LIBM' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + '_LT_AC_TAGVAR' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + 'AM_SET_DEPDIR' => 1, + '_LT_CC_BASENAME' => 1, + 'AM_PROG_INSTALL_SH' => 1, + 'm4_include' => 1, + 'AC_PROG_EGREP' => 1, + 'AC_PATH_MAGIC' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + 'AM_MAKE_INCLUDE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_F77_C_O' => 1, + 'AC_INIT' => 1, + 'm4_pattern_forbid' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_SUBST' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_LINKS' => 1, + 'm4_sinclude' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + '_m4_warn' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_CONFIG_FILES' => 1, + 'include' => 1, + 'LT_INIT' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_FC_FREEFORM' => 1, + 'AH_OUTPUT' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'sinclude' => 1, + 'AM_PROG_CC_C_O' => 1, + 'm4_pattern_allow' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'm4_include' => 1, + 'AC_SUBST_TRACE' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/libltdl/autom4te.cache/traces.0 b/libltdl/autom4te.cache/traces.0 new file mode 100644 index 0000000..c63ed25 --- /dev/null +++ b/libltdl/autom4te.cache/traces.0 @@ -0,0 +1,9685 @@ +m4trace:/usr/share/aclocal-1.9/amversion.m4:13: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) +m4trace:/usr/share/aclocal-1.9/amversion.m4:19: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.9.6])]) +m4trace:/usr/share/aclocal-1.9/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) +m4trace:/usr/share/aclocal-1.9/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +m4trace:/usr/share/aclocal-1.9/depend.m4:29: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) +m4trace:/usr/share/aclocal-1.9/depend.m4:138: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/usr/share/aclocal-1.9/depend.m4:146: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) +m4trace:/usr/share/aclocal-1.9/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +]) +m4trace:/usr/share/aclocal-1.9/depout.m4:63: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) +m4trace:/usr/share/aclocal-1.9/header.m4:12: -1- AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) +m4trace:/usr/share/aclocal-1.9/header.m4:12: -1- AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.])dnl +AC_CONFIG_HEADERS($@)]) +m4trace:/usr/share/aclocal-1.9/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) +m4trace:/usr/share/aclocal-1.9/init.m4:102: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +m4trace:/usr/share/aclocal-1.9/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) +m4trace:/usr/share/aclocal-1.9/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +m4trace:/usr/share/aclocal-1.9/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) +m4trace:/usr/share/aclocal-1.9/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/usr/share/aclocal-1.9/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) +m4trace:/usr/share/aclocal-1.9/mkdirp.m4:30: -1- AC_DEFUN([AM_PROG_MKDIR_P], [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) +m4trace:/usr/share/aclocal-1.9/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/usr/share/aclocal-1.9/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +m4trace:/usr/share/aclocal-1.9/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/usr/share/aclocal-1.9/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/usr/share/aclocal-1.9/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/usr/share/aclocal-1.9/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) +m4trace:/usr/share/aclocal-1.9/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +m4trace:/usr/share/aclocal-1.9/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) +m4trace:acinclude.m4:25: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote AM_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or AM_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])]) +m4trace:acinclude.m4:60: -1- AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +]) +m4trace:acinclude.m4:80: -1- AC_DEFUN([AC_LIBTOOL_SETUP], [AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +]) +m4trace:acinclude.m4:225: -1- AC_DEFUN([_LT_AC_SYS_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +]) +m4trace:acinclude.m4:242: -1- AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) +m4trace:acinclude.m4:259: -1- AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +]) +m4trace:acinclude.m4:273: -1- AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +]) +m4trace:acinclude.m4:291: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +]) +m4trace:acinclude.m4:312: -1- AC_DEFUN([_LT_AC_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +]) +m4trace:acinclude.m4:325: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], [_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])]) +m4trace:acinclude.m4:479: -1- AC_DEFUN([_LT_AC_LOCK], [AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +]) +m4trace:acinclude.m4:632: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +]) +m4trace:acinclude.m4:677: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +]) +m4trace:acinclude.m4:713: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +]) +m4trace:acinclude.m4:831: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl +]) +m4trace:acinclude.m4:839: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +]) +m4trace:acinclude.m4:929: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +]) +m4trace:acinclude.m4:1043: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +]) +m4trace:acinclude.m4:1095: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +]) +m4trace:acinclude.m4:1121: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +]) +m4trace:acinclude.m4:1139: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +]) +m4trace:acinclude.m4:1179: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], [striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +]) +m4trace:acinclude.m4:1210: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +m4_if($1,[],[ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +]) +m4trace:acinclude.m4:1837: -1- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +]) +m4trace:acinclude.m4:1943: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +]) +m4trace:acinclude.m4:1951: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +]) +m4trace:acinclude.m4:1960: -1- AC_DEFUN([AC_ENABLE_SHARED], [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +]) +m4trace:acinclude.m4:1989: -1- AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +]) +m4trace:acinclude.m4:1999: -1- AC_DEFUN([AC_ENABLE_STATIC], [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +]) +m4trace:acinclude.m4:2028: -1- AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +]) +m4trace:acinclude.m4:2038: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +]) +m4trace:acinclude.m4:2067: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +]) +m4trace:acinclude.m4:2077: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +]) +m4trace:acinclude.m4:2101: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +]) +m4trace:acinclude.m4:2164: -1- AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +]) +m4trace:acinclude.m4:2179: -1- AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +]) +m4trace:acinclude.m4:2501: -1- AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +]) +m4trace:acinclude.m4:2553: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +]) +m4trace:acinclude.m4:2582: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) +m4trace:acinclude.m4:2608: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +]) +m4trace:acinclude.m4:2635: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_LT_AC_LANG_CXX]) +]) +m4trace:acinclude.m4:2642: -1- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +]) +m4trace:acinclude.m4:2650: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP], [ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +]) +m4trace:acinclude.m4:2663: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_REQUIRE([_LT_AC_LANG_F77]) +]) +m4trace:acinclude.m4:2670: -1- AC_DEFUN([_LT_AC_LANG_F77], [AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +]) +m4trace:acinclude.m4:2679: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_REQUIRE([_LT_AC_LANG_GCJ]) +]) +m4trace:acinclude.m4:2686: -1- AC_DEFUN([_LT_AC_LANG_GCJ], [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +]) +m4trace:acinclude.m4:2700: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +]) +m4trace:acinclude.m4:2711: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +m4trace:acinclude.m4:2712: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG], [lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +]) +m4trace:acinclude.m4:2792: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +m4trace:acinclude.m4:2793: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +]) +m4trace:acinclude.m4:3826: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP], [ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +]) +m4trace:acinclude.m4:4018: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +m4trace:acinclude.m4:4019: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG], [AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +]) +m4trace:acinclude.m4:4127: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +m4trace:acinclude.m4:4128: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], [AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +]) +m4trace:acinclude.m4:4187: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +m4trace:acinclude.m4:4188: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG], [AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +]) +m4trace:acinclude.m4:4232: -1- AC_DEFUN([AC_LIBTOOL_CONFIG], [# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(fix_srcfile_path, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +]) +m4trace:acinclude.m4:4723: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +]) +m4trace:acinclude.m4:4741: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([LT_AC_PROG_SED]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) +m4trace:acinclude.m4:4944: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) +m4trace:acinclude.m4:5503: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +]) +m4trace:acinclude.m4:6450: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +]) +m4trace:acinclude.m4:6489: -1- AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) +m4trace:acinclude.m4:6493: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +m4trace:acinclude.m4:6494: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:acinclude.m4:6495: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:acinclude.m4:6496: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:acinclude.m4:6497: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:acinclude.m4:6498: -1- AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +m4trace:acinclude.m4:6499: -1- AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) +m4trace:acinclude.m4:6504: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) +m4trace:acinclude.m4:6510: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) +]) +m4trace:acinclude.m4:6548: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +]) +m4trace:acinclude.m4:6616: -1- AC_DEFUN([AC_WITH_LTDL], [AC_REQUIRE([AC_LIB_LTDL]) +AC_SUBST([LIBLTDL]) +AC_SUBST([INCLTDL]) + +# Unless the user asks us to check, assume no installed ltdl exists. +use_installed_libltdl=no + +AC_ARG_WITH([included_ltdl], + [ --with-included-ltdl use the GNU ltdl sources included here]) + +if test "x$with_included_ltdl" != xyes; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_LIB([ltdl], [lt_dlcaller_register], + [with_included_ltdl=no], + [with_included_ltdl=yes]) + ]) +fi + +if test "x$enable_ltdl_install" != xyes; then + # If the user did not specify an installable libltdl, then default + # to a convenience lib. + AC_LIBLTDL_CONVENIENCE +fi + +if test "x$with_included_ltdl" = xno; then + # If the included ltdl is not to be used. then Use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl +fi + +# Report our decision... +AC_MSG_CHECKING([whether to use included libltdl]) +AC_MSG_RESULT([$with_included_ltdl]) + +AC_CONFIG_SUBDIRS([libltdl]) +]) +m4trace:acinclude.m4:6663: -1- AC_DEFUN([AC_LIB_LTDL], [AC_PREREQ(2.50) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_C_CONST]) +AC_REQUIRE([AC_HEADER_STDC]) +AC_REQUIRE([AC_HEADER_DIRENT]) +AC_REQUIRE([_LT_AC_CHECK_DLFCN]) +AC_REQUIRE([AC_LTDL_ENABLE_INSTALL]) +AC_REQUIRE([AC_LTDL_SHLIBEXT]) +AC_REQUIRE([AC_LTDL_SHLIBPATH]) +AC_REQUIRE([AC_LTDL_SYSSEARCHPATH]) +AC_REQUIRE([AC_LTDL_OBJDIR]) +AC_REQUIRE([AC_LTDL_DLPREOPEN]) +AC_REQUIRE([AC_LTDL_DLLIB]) +AC_REQUIRE([AC_LTDL_SYMBOL_USCORE]) +AC_REQUIRE([AC_LTDL_DLSYM_USCORE]) +AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS]) +AC_REQUIRE([AC_LTDL_FUNC_ARGZ]) + +AC_CHECK_HEADERS([assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ + stdio.h unistd.h]) +AC_CHECK_HEADERS([dl.h sys/dl.h dld.h mach-o/dyld.h]) +AC_CHECK_HEADERS([string.h strings.h], [break]) + +AC_CHECK_FUNCS([strchr index], [break]) +AC_CHECK_FUNCS([strrchr rindex], [break]) +AC_CHECK_FUNCS([memcpy bcopy], [break]) +AC_CHECK_FUNCS([memmove strcmp]) +AC_CHECK_FUNCS([closedir opendir readdir]) +]) +m4trace:acinclude.m4:6697: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL], [AC_ARG_ENABLE([ltdl-install], + [AC_HELP_STRING([--enable-ltdl-install], [install libltdl])]) + +AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) +AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno) +]) +m4trace:acinclude.m4:6708: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST]) +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [libltdl_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + libltdl_cv_sys_dlopen_deplibs=unknown + case "$host_os" in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + aix[[45]]*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + libltdl_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + interix*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explictly say `no'. + libltdl_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +]) +m4trace:acinclude.m4:6799: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([which extension is used for loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + AC_DEFINE_UNQUOTED([LTDL_SHLIB_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for shared libraries, say, ".so".]) +fi +]) +m4trace:acinclude.m4:6816: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([which variable specifies run-time library path], + [libltdl_cv_shlibpath_var], [libltdl_cv_shlibpath_var="$shlibpath_var"]) +if test -n "$libltdl_cv_shlibpath_var"; then + AC_DEFINE_UNQUOTED([LTDL_SHLIBPATH_VAR], ["$libltdl_cv_shlibpath_var"], + [Define to the name of the environment variable that determines the dynamic library search path.]) +fi +]) +m4trace:acinclude.m4:6829: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +AC_CACHE_CHECK([for the default library search path], + [libltdl_cv_sys_search_path], + [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"]) +if test -n "$libltdl_cv_sys_search_path"; then + sys_search_path= + for dir in $libltdl_cv_sys_search_path; do + if test -z "$sys_search_path"; then + sys_search_path="$dir" + else + sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" + fi + done + AC_DEFINE_UNQUOTED([LTDL_SYSSEARCHPATH], ["$sys_search_path"], + [Define to the system default library search path.]) +fi +]) +m4trace:acinclude.m4:6851: -1- AC_DEFUN([AC_LTDL_OBJDIR], [AC_CACHE_CHECK([for objdir], + [libltdl_cv_objdir], + [libltdl_cv_objdir="$objdir" + if test -n "$objdir"; then + : + else + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then + libltdl_cv_objdir=.libs + else + # MS-DOS does not allow filenames that begin with a dot. + libltdl_cv_objdir=_libs + fi + rmdir .libs 2>/dev/null + fi + ]) +AC_DEFINE_UNQUOTED([LTDL_OBJDIR], ["$libltdl_cv_objdir/"], + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +]) +m4trace:acinclude.m4:6876: -1- AC_DEFUN([AC_LTDL_DLPREOPEN], [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], + [libltdl_cv_preloaded_symbols], + [if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + ]) +if test x"$libltdl_cv_preloaded_symbols" = xyes; then + AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], + [Define if libtool can extract symbol lists from object files.]) +fi +]) +m4trace:acinclude.m4:6895: -1- AC_DEFUN([AC_LTDL_DLLIB], [LIBADD_DL= +AC_SUBST(LIBADD_DL) +AC_LANG_PUSH([C]) + +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.])], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LIBADD_DL="$LIBADD_DL -ldld"], + [AC_CHECK_LIB([dl], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes"], + [AC_TRY_LINK([#if HAVE_DLFCN_H +# include +#endif + ], + [dlopen(0, 0);], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) libltdl_cv_func_dlopen="yes"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes"], + [AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LIBADD_DL="$LIBADD_DL -ldld"], + [AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.])]) + ]) + ]) + ]) + ]) + ]) +]) + +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + AC_CHECK_FUNCS([dlerror]) + LIBS="$lt_save_LIBS" +fi +AC_LANG_POP +]) +m4trace:acinclude.m4:6950: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [ac_cv_sys_symbol_underscore], + [ac_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext < $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + ac_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC + fi + else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.c >&AC_FD_CC + fi + rm -rf conftest* + ]) +]) +m4trace:acinclude.m4:6987: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE]) +if test x"$ac_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + _LT_AC_TRY_DLOPEN_SELF( + [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], + [], [libltdl_cv_need_uscore=cross]) + LIBS="$save_LIBS" + ]) + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +]) +m4trace:acinclude.m4:7013: -1- AC_DEFUN([AC_LTDL_FUNC_ARGZ], [AC_CHECK_HEADERS([argz.h]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for `error_t' if it is not otherwise available.])], + [#if HAVE_ARGZ_H +# include +#endif]) + +AC_CHECK_FUNCS([argz_append argz_create_sep argz_insert argz_next argz_stringify]) +]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:27: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:53: -1- AM_INIT_AUTOMAKE([libltdl], [1.2], [-]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:53: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:53: -1- AM_AUTOMAKE_VERSION([1.9.6]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:53: -1- _AM_SET_OPTION([no-define]) +m4trace:configure.ac:53: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:53: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) +m4trace:configure.ac:53: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:53: -1- AM_SANITY_CHECK +m4trace:configure.ac:53: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:53: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:53: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:53: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:53: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:53: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:53: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:53: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:53: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:53: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:53: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:53: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:53: -1- AM_PROG_MKDIR_P +m4trace:configure.ac:53: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:53: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:53: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:53: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:53: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:53: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:53: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:53: -1- AM_MISSING_PROG([AMTAR], [tar]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:53: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +m4trace:configure.ac:53: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:54: -1- AM_CONFIG_HEADER([config.h:config-h.in]) +m4trace:configure.ac:54: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.], [/usr/share/aclocal-1.9/header.m4:12: AM_CONFIG_HEADER is expanded from... +configure.ac:54: the top level]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:60: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:60: -1- AM_SET_DEPDIR +m4trace:configure.ac:60: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:60: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:60: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:60: -1- AM_DEP_TRACK +m4trace:configure.ac:60: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:60: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:61: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:68: -1- AC_LIBTOOL_WIN32_DLL +m4trace:configure.ac:69: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:69: -1- _AC_PROG_LIBTOOL +m4trace:configure.ac:69: -1- AC_LIBTOOL_SETUP +m4trace:configure.ac:69: -1- AC_ENABLE_SHARED +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:1960: AC_ENABLE_SHARED is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_ENABLE_STATIC +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:1999: AC_ENABLE_STATIC is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_ENABLE_FAST_INSTALL +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:2038: AC_ENABLE_FAST_INSTALL is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:69: -1- AC_PROG_LD +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:2179: AC_PROG_LD is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- LT_AC_PROG_SED +m4trace:configure.ac:69: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:69: -1- AC_PROG_LD_GNU +m4trace:configure.ac:69: -1- AC_PROG_EGREP +m4trace:configure.ac:69: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:69: -1- AC_PROG_LD_RELOAD_FLAG +m4trace:configure.ac:69: -1- AC_PROG_NM +m4trace:configure.ac:69: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:69: -1- AC_DEPLIBS_CHECK_METHOD +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_MAX_CMD_LEN +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_OBJDIR +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_AC_PROG_ECHO_BACKSLASH +m4trace:configure.ac:69: -1- _LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ECHO$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- AC_PATH_MAGIC +m4trace:configure.ac:69: -1- AC_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:69: -1- AC_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LANG_C_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_LANG_C_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([objext], []) +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_NO_RTTI([]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_PIC([]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, ) works], [lt_prog_compiler_pic_works], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, )ifelse([],[],[ -DPIC],[ifelse([],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, ) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, )=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, )" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, )= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, )=]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_CC_C_O([]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([]) +m4trace:configure.ac:69: -1- _LT_AC_LOCK +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:479: _LT_AC_LOCK is expanded from... +acinclude.m4:1095: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +acinclude.m4:2712: _LT_AC_LANG_C_CONFIG is expanded from... +acinclude.m4:2711: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^AS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_SHLIBS([]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([reload_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([runpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_LIB_STRIP +m4trace:configure.ac:69: -1- AC_LIBTOOL_DLOPEN_SELF +m4trace:configure.ac:69: -1- _LT_AC_CHECK_DLFCN +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:69: -1- _LT_AC_TRY_DLOPEN_SELF([lt_cv_dlopen_self=yes], [lt_cv_dlopen_self=yes], [lt_cv_dlopen_self=no], [lt_cv_dlopen_self=cross]) +m4trace:configure.ac:69: -1- _LT_AC_TRY_DLOPEN_SELF([lt_cv_dlopen_self_static=yes], [lt_cv_dlopen_self_static=yes], [lt_cv_dlopen_self_static=no], [lt_cv_dlopen_self_static=cross]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CONFIG([]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([CC], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postinstall_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postuninstall_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], []) +m4trace:configure.ac:69: -1- _LT_AC_TAGCONFIG +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LANG_CXX_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_LANG_CXX_CONFIG([CXX]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:69: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:69: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:69: -1- _LT_AC_PROG_CXXCPP +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([objext], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:69: -1- AC_PROG_LD +m4trace:configure.ac:69: -1- AC_PROG_LD_GNU +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_POSTDEP_PREDEP([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_PIC([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX) works], [lt_prog_compiler_pic_works_CXX], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)ifelse([CXX],[],[ -DPIC],[ifelse([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, CXX)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, CXX)=]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_CC_C_O([CXX]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_SHLIBS([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([runpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CONFIG([CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([CC], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postinstall_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postuninstall_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [CXX]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LANG_F77_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_LANG_F77_CONFIG([F77]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([objext], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_PIC([F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77) works], [lt_prog_compiler_pic_works_F77], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)ifelse([F77],[],[ -DPIC],[ifelse([F77],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, F77)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, F77)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, F77)=no]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_F77], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, F77)=]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_CC_C_O([F77]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_SHLIBS([F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([reload_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([runpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CONFIG([F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([CC], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postinstall_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postuninstall_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [F77]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [F77]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LANG_GCJ_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_LANG_GCJ_CONFIG([GCJ]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +acinclude.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([objext], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_NO_RTTI([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_COMPILER_PIC([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_pic_works], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ) works], [lt_prog_compiler_pic_works_GCJ], [$_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)ifelse([GCJ],[],[ -DPIC],[ifelse([GCJ],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)" ;; + esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, GCJ)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, GCJ)=no]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_can_build_shared], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([lt_prog_compiler_static_works], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_prog_compiler_static_works_GCJ], [$lt_tmp_static_flag], [], [_LT_AC_TAGVAR(lt_prog_compiler_static, GCJ)=]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_CC_C_O([GCJ]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -3- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_HARD_LINK_LOCKS([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_SHLIBS([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_LIBPATH_AIX +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_From_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([reload_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([ld_shlibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -2- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_SYS_DYNAMIC_LINKER([GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([runpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CONFIG([GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([CC], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postinstall_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postuninstall_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [GCJ]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +acinclude.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_LANG_RC_CONFIG +m4trace:configure.ac:69: -1- _LT_AC_LANG_RC_CONFIG([RC]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +acinclude.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +acinclude.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([objext], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_SYS_COMPILER +m4trace:configure.ac:69: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:69: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CONFIG([RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([CC], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postinstall_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postuninstall_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([fix_srcfile_path], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds_need_lc], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([enable_shared_with_static_runtimes], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([GCC], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([LD], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_wl], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_pic], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_cv_prog_compiler_c_o], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_static], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([lt_prog_compiler_no_builtin_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_dynamic_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([whole_archive_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([thread_safe_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_new_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([old_archive_from_expsyms_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([archive_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([module_expsym_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predep_objects], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdep_objects], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([predeps], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([postdeps], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([compiler_lib_search_path], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([allow_undefined_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([no_undefined_flag], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_action], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_flag_spec_ld], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_libdir_separator], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_direct], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_minus_L], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_shlibpath_var], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([hardcode_automatic], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([link_all_deplibs], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([always_export_symbols], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([export_symbols_cmds], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([exclude_expsyms], [RC]) +m4trace:configure.ac:69: -1- _LT_AC_TAGVAR([include_expsyms], [RC]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +acinclude.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +acinclude.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_CXX +m4trace:configure.ac:69: -1- _LT_AC_LANG_CXX +m4trace:configure.ac:69: -1- _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +m4trace:configure.ac:69: -1- AC_LIBTOOL_F77 +m4trace:configure.ac:69: -1- _LT_AC_LANG_F77 +m4trace:configure.ac:69: -1- _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^LIBTOOL_DEPS$]) +m4trace:configure.ac:72: -1- AC_LIB_LTDL +m4trace:configure.ac:72: -1- AC_LTDL_ENABLE_INSTALL +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:6697: AC_LTDL_ENABLE_INSTALL is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AM_CONDITIONAL([INSTALL_LTDL], [test x"${enable_ltdl_install-no}" != xno]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) +m4trace:configure.ac:72: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test x"${enable_ltdl_convenience-no}" != xno]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) +m4trace:configure.ac:72: -1- AC_LTDL_SHLIBEXT +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SHLIB_EXT$]) +m4trace:configure.ac:72: -1- AC_LTDL_SHLIBPATH +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SHLIBPATH_VAR$]) +m4trace:configure.ac:72: -1- AC_LTDL_SYSSEARCHPATH +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SYSSEARCHPATH$]) +m4trace:configure.ac:72: -1- AC_LTDL_OBJDIR +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_OBJDIR$]) +m4trace:configure.ac:72: -1- AC_LTDL_DLPREOPEN +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) +m4trace:configure.ac:72: -1- AC_LTDL_DLLIB +m4trace:configure.ac:72: -1- m4_pattern_allow([^LIBADD_DL$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/libs.m4:121: AC_CHECK_LIB is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/libs.m4:121: AC_CHECK_LIB is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/functions.m4:67: AC_CHECK_FUNC is expanded from... +acinclude.m4:6895: AC_LTDL_DLLIB is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_DLD$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_DYLD$]) +m4trace:configure.ac:72: -1- AC_LTDL_SYMBOL_USCORE +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AC_LTDL_DLSYM_USCORE +m4trace:configure.ac:72: -1- _LT_AC_TRY_DLOPEN_SELF([libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], [], [libltdl_cv_need_uscore=cross]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^NEED_USCORE$]) +m4trace:configure.ac:72: -1- AC_LTDL_SYS_DLOPEN_DEPLIBS +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) +m4trace:configure.ac:72: -1- AC_LTDL_FUNC_ARGZ +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_ERROR_T$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^error_t$]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:79: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file]) +m4trace:configure.ac:79: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS diff --git a/libltdl/autom4te.cache/traces.1 b/libltdl/autom4te.cache/traces.1 new file mode 100644 index 0000000..4e5646a --- /dev/null +++ b/libltdl/autom4te.cache/traces.1 @@ -0,0 +1,794 @@ +m4trace:aclocal.m4:863: -1- m4_include([acinclude.m4]) +m4trace:configure.ac:27: -1- AC_INIT([libltdl], [1.2], [bug-libtool@gnu.org]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:27: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:27: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:27: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:27: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:27: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:27: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:27: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:27: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:27: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:27: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:27: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:27: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:27: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:27: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:27: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:27: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:27: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:27: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:27: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +#undef PACKAGE_NAME]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +#undef PACKAGE_VERSION]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:27: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:27: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:27: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:27: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:27: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:27: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:27: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:27: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:27: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:35: -1- AC_CONFIG_AUX_DIR([.]) +m4trace:configure.ac:53: -1- AM_INIT_AUTOMAKE([libltdl], [1.2], [-]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:53: -1- AM_AUTOMAKE_VERSION([1.9.6]) +m4trace:configure.ac:53: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:53: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:53: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:53: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:53: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:53: -1- AC_SUBST([PACKAGE], [libltdl]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:53: -1- AC_SUBST([VERSION], [1.2]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:53: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:53: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:53: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:53: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:53: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:53: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:53: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:53: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:53: -1- AC_SUBST([mkdir_p]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:53: -1- AC_SUBST([AWK]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:53: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:53: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:53: -1- AC_SUBST([AMTAR]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:53: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:53: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:53: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:53: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:54: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete. +You should run autoupdate.], [aclocal.m4:353: AM_CONFIG_HEADER is expanded from... +configure.ac:54: the top level]) +m4trace:configure.ac:54: -1- AC_CONFIG_HEADERS([config.h:config-h.in]) +m4trace:configure.ac:60: -1- AC_SUBST([CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:60: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:60: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:60: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:60: -1- AC_SUBST([CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:60: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:60: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:60: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:60: -1- AC_SUBST([am__include]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:60: -1- AC_SUBST([am__quote]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([am__quote]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:60: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:60: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:60: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:60: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:60: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:60: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:60: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:60: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:61: -1- AC_DEFINE_TRACE_LITERAL([const]) +m4trace:configure.ac:61: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:61: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ +#undef const]) +m4trace:configure.ac:62: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler + calls it, or to nothing if \'inline\' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif]) +m4trace:configure.ac:69: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:1960: AC_ENABLE_SHARED is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:1999: AC_ENABLE_STATIC is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:2038: AC_ENABLE_FAST_INSTALL is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_CANONICAL_HOST +m4trace:configure.ac:69: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:69: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:69: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:69: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:69: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:69: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:69: -1- AC_SUBST([build_os]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:69: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:69: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:69: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:69: -1- AC_SUBST([host_os]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:2179: AC_PROG_LD is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_SUBST([SED]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:69: -1- AC_SUBST([GREP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:69: -1- AC_SUBST([GREP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:69: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:69: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:69: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:69: -1- AC_SUBST([ECHO]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ECHO]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ECHO$]) +m4trace:configure.ac:69: -1- AC_SUBST([AR]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:69: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:69: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:479: _LT_AC_LOCK is expanded from... +acinclude.m4:1095: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +acinclude.m4:2712: _LT_AC_LANG_C_CONFIG is expanded from... +acinclude.m4:2711: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:69: -1- AC_SUBST([AS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([AS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^AS$]) +m4trace:configure.ac:69: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H]) +m4trace:configure.ac:69: -1- AC_SUBST([CPP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:69: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([CPP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:69: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.ac:69: -1- _LT_AC_TAGCONFIG +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_SUBST([CXX]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:69: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:69: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([CXX]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:69: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:69: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:69: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:69: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:69: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:69: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:69: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:69: -1- AC_SUBST([F77]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:69: -1- AC_SUBST([FFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([FFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:69: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:69: -1- AC_SUBST([F77]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:69: -1- AC_SUBST([ac_ct_F77]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ac_ct_F77]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +acinclude.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +acinclude.m4:4128: _LT_AC_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:4127: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from... +acinclude.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +acinclude.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +acinclude.m4:4188: _LT_AC_LANG_RC_CONFIG is expanded from... +acinclude.m4:4187: AC_LIBTOOL_LANG_RC_CONFIG is expanded from... +acinclude.m4:1837: _LT_AC_TAGCONFIG is expanded from... +acinclude.m4:80: AC_LIBTOOL_SETUP is expanded from... +acinclude.m4:60: _AC_PROG_LIBTOOL is expanded from... +acinclude.m4:25: AC_PROG_LIBTOOL is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:70: -1- AC_SUBST([LIBTOOL_DEPS]) +m4trace:configure.ac:70: -1- AC_SUBST_TRACE([LIBTOOL_DEPS]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^LIBTOOL_DEPS$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the header file, and it defines `DIR\'. + */ +#undef HAVE_DIRENT_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the header file, and it defines `DIR\'. + */ +#undef HAVE_SYS_NDIR_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the header file, and it defines `DIR\'. + */ +#undef HAVE_SYS_DIR_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the header file, and it defines `DIR\'. */ +#undef HAVE_NDIR_H]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from... +acinclude.m4:6697: AC_LTDL_ENABLE_INSTALL is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AM_CONDITIONAL([INSTALL_LTDL], [test x"${enable_ltdl_install-no}" != xno]) +m4trace:configure.ac:72: -1- AC_SUBST([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) +m4trace:configure.ac:72: -1- AC_SUBST([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) +m4trace:configure.ac:72: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test x"${enable_ltdl_convenience-no}" != xno]) +m4trace:configure.ac:72: -1- AC_SUBST([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) +m4trace:configure.ac:72: -1- AC_SUBST([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([LTDL_SHLIB_EXT]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SHLIB_EXT$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([LTDL_SHLIB_EXT], [/* Define to the extension used for shared libraries, say, ".so". */ +#undef LTDL_SHLIB_EXT]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([LTDL_SHLIBPATH_VAR]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SHLIBPATH_VAR$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([LTDL_SHLIBPATH_VAR], [/* Define to the name of the environment variable that determines the dynamic + library search path. */ +#undef LTDL_SHLIBPATH_VAR]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([LTDL_SYSSEARCHPATH]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_SYSSEARCHPATH$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([LTDL_SYSSEARCHPATH], [/* Define to the system default library search path. */ +#undef LTDL_SYSSEARCHPATH]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([LTDL_OBJDIR]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_OBJDIR$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([LTDL_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LTDL_OBJDIR]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRELOADED_SYMBOLS]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_PRELOADED_SYMBOLS], [/* Define if libtool can extract symbol lists from object files. */ +#undef HAVE_PRELOADED_SYMBOLS]) +m4trace:configure.ac:72: -1- AC_SUBST([LIBADD_DL]) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([LIBADD_DL]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LIBADD_DL$]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/libs.m4:121: AC_CHECK_LIB is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/libs.m4:121: AC_CHECK_LIB is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/functions.m4:67: AC_CHECK_FUNC is expanded from... +acinclude.m4:6895: AC_LTDL_DLLIB is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLD]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_DLD$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DLD], [/* Define if you have the GNU dld library. */ +#undef HAVE_DLD]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DYLD]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_DYLD$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DYLD], [/* Define if you have the _dyld_func_lookup function. */ +#undef HAVE_DYLD]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DLERROR], [/* Define to 1 if you have the `dlerror\' function. */ +#undef HAVE_DLERROR]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_FD_CC' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:364: AC_FD_CC is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +acinclude.m4:6950: AC_LTDL_SYMBOL_USCORE is expanded from... +acinclude.m4:6663: AC_LIB_LTDL is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([NEED_USCORE]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^NEED_USCORE$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([NEED_USCORE], [/* Define if dlsym() requires a leading underscore in symbol names. */ +#undef NEED_USCORE]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([LTDL_DLOPEN_DEPLIBS]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([LTDL_DLOPEN_DEPLIBS], [/* Define if the OS needs help to load dependent libraries for dlopen(). */ +#undef LTDL_DLOPEN_DEPLIBS]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ERROR_T]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_ERROR_T$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ERROR_T], [/* Define to 1 if the system has the type `error_t\'. */ +#undef HAVE_ERROR_T]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([error_t]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^error_t$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([error_t], [/* Define to a type to use for `error_t\' if it is not otherwise available. */ +#undef error_t]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_APPEND], [/* Define to 1 if you have the `argz_append\' function. */ +#undef HAVE_ARGZ_APPEND]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_CREATE_SEP], [/* Define to 1 if you have the `argz_create_sep\' function. */ +#undef HAVE_ARGZ_CREATE_SEP]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_INSERT], [/* Define to 1 if you have the `argz_insert\' function. */ +#undef HAVE_ARGZ_INSERT]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_NEXT], [/* Define to 1 if you have the `argz_next\' function. */ +#undef HAVE_ARGZ_NEXT]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ARGZ_STRINGIFY], [/* Define to 1 if you have the `argz_stringify\' function. */ +#undef HAVE_ARGZ_STRINGIFY]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ASSERT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_ASSERT_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_CTYPE_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_CTYPE_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_ERRNO_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DL_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DL_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_SYS_DL_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_DL_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_DLD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DLD_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_MACH_O_DYLD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MACH_O_DYLD_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */ +#undef HAVE_STRCHR]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_INDEX], [/* Define to 1 if you have the `index\' function. */ +#undef HAVE_INDEX]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STRRCHR], [/* Define to 1 if you have the `strrchr\' function. */ +#undef HAVE_STRRCHR]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_RINDEX], [/* Define to 1 if you have the `rindex\' function. */ +#undef HAVE_RINDEX]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_MEMCPY], [/* Define to 1 if you have the `memcpy\' function. */ +#undef HAVE_MEMCPY]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */ +#undef HAVE_BCOPY]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */ +#undef HAVE_MEMMOVE]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_STRCMP], [/* Define to 1 if you have the `strcmp\' function. */ +#undef HAVE_STRCMP]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_CLOSEDIR], [/* Define to 1 if you have the `closedir\' function. */ +#undef HAVE_CLOSEDIR]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_OPENDIR], [/* Define to 1 if you have the `opendir\' function. */ +#undef HAVE_OPENDIR]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_READDIR], [/* Define to 1 if you have the `readdir\' function. */ +#undef HAVE_READDIR]) +m4trace:configure.ac:78: -1- AC_CONFIG_FILES([Makefile]) +m4trace:configure.ac:79: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:79: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:79: -1- AC_SUBST_TRACE([INSTALL]) diff --git a/libltdl/config-h.in b/libltdl/config-h.in new file mode 100644 index 0000000..b864071 --- /dev/null +++ b/libltdl/config-h.in @@ -0,0 +1,195 @@ +/* config-h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `argz_append' function. */ +#undef HAVE_ARGZ_APPEND + +/* Define to 1 if you have the `argz_create_sep' function. */ +#undef HAVE_ARGZ_CREATE_SEP + +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H + +/* Define to 1 if you have the `argz_insert' function. */ +#undef HAVE_ARGZ_INSERT + +/* Define to 1 if you have the `argz_next' function. */ +#undef HAVE_ARGZ_NEXT + +/* Define to 1 if you have the `argz_stringify' function. */ +#undef HAVE_ARGZ_STRINGIFY + +/* Define to 1 if you have the header file. */ +#undef HAVE_ASSERT_H + +/* Define to 1 if you have the `bcopy' function. */ +#undef HAVE_BCOPY + +/* Define to 1 if you have the `closedir' function. */ +#undef HAVE_CLOSEDIR + +/* Define to 1 if you have the header file. */ +#undef HAVE_CTYPE_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define if you have the GNU dld library. */ +#undef HAVE_DLD + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLD_H + +/* Define to 1 if you have the `dlerror' function. */ +#undef HAVE_DLERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DL_H + +/* Define if you have the _dyld_func_lookup function. */ +#undef HAVE_DYLD + +/* Define to 1 if you have the header file. */ +#undef HAVE_ERRNO_H + +/* Define to 1 if the system has the type `error_t'. */ +#undef HAVE_ERROR_T + +/* Define to 1 if you have the `index' function. */ +#undef HAVE_INDEX + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL + +/* Define to 1 if you have the header file. */ +#undef HAVE_MACH_O_DYLD_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define to 1 if you have the `memcpy' function. */ +#undef HAVE_MEMCPY + +/* Define to 1 if you have the `memmove' function. */ +#undef HAVE_MEMMOVE + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `opendir' function. */ +#undef HAVE_OPENDIR + +/* Define if libtool can extract symbol lists from object files. */ +#undef HAVE_PRELOADED_SYMBOLS + +/* Define to 1 if you have the `readdir' function. */ +#undef HAVE_READDIR + +/* Define to 1 if you have the `rindex' function. */ +#undef HAVE_RINDEX + +/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strcmp' function. */ +#undef HAVE_STRCMP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strrchr' function. */ +#undef HAVE_STRRCHR + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_DL_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define if the OS needs help to load dependent libraries for dlopen(). */ +#undef LTDL_DLOPEN_DEPLIBS + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LTDL_OBJDIR + +/* Define to the name of the environment variable that determines the dynamic + library search path. */ +#undef LTDL_SHLIBPATH_VAR + +/* Define to the extension used for shared libraries, say, ".so". */ +#undef LTDL_SHLIB_EXT + +/* Define to the system default library search path. */ +#undef LTDL_SYSSEARCHPATH + +/* Define if dlsym() requires a leading underscore in symbol names. */ +#undef NEED_USCORE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to a type to use for `error_t' if it is not otherwise available. */ +#undef error_t + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif diff --git a/libltdl/config.guess b/libltdl/config.guess new file mode 100755 index 0000000..0f0fe71 --- /dev/null +++ b/libltdl/config.guess @@ -0,0 +1,1516 @@ +#! /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 Free Software Foundation, +# Inc. + +timestamp='2007-03-06' + +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# 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 to . Submit a context +# diff and a properly formatted 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. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +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 +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 tupples: *-*-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 __ELF__ >/dev/null + 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'` + exit ;; + 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 ;; + 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:SunOS:5.*:*) + echo i386-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:*:[45]) + 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 __LP64__ >/dev/null + 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:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-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*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-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 ;; + 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 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + 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:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-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 ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + 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 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-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 ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*) + 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 i386. + echo i386-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; } ;; + 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.0*:*) + 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 ;; + 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 + 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 ;; + 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 ;; +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/libltdl/config.h b/libltdl/config.h new file mode 100644 index 0000000..4465bfe --- /dev/null +++ b/libltdl/config.h @@ -0,0 +1,196 @@ +/* config.h. Generated from config-h.in by configure. */ +/* config-h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `argz_append' function. */ +#define HAVE_ARGZ_APPEND 1 + +/* Define to 1 if you have the `argz_create_sep' function. */ +#define HAVE_ARGZ_CREATE_SEP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ARGZ_H 1 + +/* Define to 1 if you have the `argz_insert' function. */ +#define HAVE_ARGZ_INSERT 1 + +/* Define to 1 if you have the `argz_next' function. */ +#define HAVE_ARGZ_NEXT 1 + +/* Define to 1 if you have the `argz_stringify' function. */ +#define HAVE_ARGZ_STRINGIFY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ASSERT_H 1 + +/* Define to 1 if you have the `bcopy' function. */ +/* #undef HAVE_BCOPY */ + +/* Define to 1 if you have the `closedir' function. */ +#define HAVE_CLOSEDIR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the GNU dld library. */ +/* #undef HAVE_DLD */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLD_H */ + +/* Define to 1 if you have the `dlerror' function. */ +#define HAVE_DLERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DL_H */ + +/* Define if you have the _dyld_func_lookup function. */ +/* #undef HAVE_DYLD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if the system has the type `error_t'. */ +#define HAVE_ERROR_T 1 + +/* Define to 1 if you have the `index' function. */ +/* #undef HAVE_INDEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have the libdl library or equivalent. */ +#define HAVE_LIBDL 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACH_O_DYLD_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the `opendir' function. */ +#define HAVE_OPENDIR 1 + +/* Define if libtool can extract symbol lists from object files. */ +#define HAVE_PRELOADED_SYMBOLS 1 + +/* Define to 1 if you have the `readdir' function. */ +#define HAVE_READDIR 1 + +/* Define to 1 if you have the `rindex' function. */ +/* #undef HAVE_RINDEX */ + +/* Define if you have the shl_load function. */ +/* #undef HAVE_SHL_LOAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strcmp' function. */ +#define HAVE_STRCMP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_DL_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if the OS needs help to load dependent libraries for dlopen(). */ +/* #undef LTDL_DLOPEN_DEPLIBS */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LTDL_OBJDIR ".libs/" + +/* Define to the name of the environment variable that determines the dynamic + library search path. */ +#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" + +/* Define to the extension used for shared libraries, say, ".so". */ +#define LTDL_SHLIB_EXT ".so" + +/* Define to the system default library search path. */ +#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" + +/* Define if dlsym() requires a leading underscore in symbol names. */ +/* #undef NEED_USCORE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "bug-libtool@gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libltdl" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libltdl 1.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libltdl" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.2" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to a type to use for `error_t' if it is not otherwise available. */ +/* #undef error_t */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/libltdl/config.log b/libltdl/config.log new file mode 100644 index 0000000..6332f81 --- /dev/null +++ b/libltdl/config.log @@ -0,0 +1,1575 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libltdl configure 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ ./configure --prefix=/usr/local --enable-maintainer-mode --enable-compile-warnings --enable-dependency-tracking --enable-ltdl-convenience --cache-file=/dev/null --srcdir=. + +## --------- ## +## Platform. ## +## --------- ## + +hostname = rigel +uname -m = i686 +uname -r = 2.6.22-1-686 +uname -s = Linux +uname -v = #1 SMP Sun Jul 29 14:37:42 UTC 2007 + +/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/ahs3/bin +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /bin +PATH: /usr/games +PATH: /home/ahs3/bin +PATH: /usr/local/maven-1.0.2/bin + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:2015: checking for a BSD-compatible install +configure:2071: result: /usr/bin/install -c +configure:2082: checking whether build environment is sane +configure:2125: result: yes +configure:2190: checking for gawk +configure:2206: found /usr/bin/gawk +configure:2217: result: gawk +configure:2228: checking whether make sets $(MAKE) +configure:2249: result: yes +configure:2479: checking for gcc +configure:2495: found /usr/bin/gcc +configure:2506: result: gcc +configure:2744: checking for C compiler version +configure:2751: gcc --version >&5 +gcc (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +Copyright (C) 2006 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:2754: $? = 0 +configure:2761: gcc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +configure:2764: $? = 0 +configure:2771: gcc -V >&5 +gcc: '-V' option must have argument +configure:2774: $? = 1 +configure:2797: checking for C compiler default output file name +configure:2824: gcc conftest.c >&5 +configure:2827: $? = 0 +configure:2865: result: a.out +configure:2882: checking whether the C compiler works +configure:2892: ./a.out +configure:2895: $? = 0 +configure:2912: result: yes +configure:2919: checking whether we are cross compiling +configure:2921: result: no +configure:2924: checking for suffix of executables +configure:2931: gcc -o conftest conftest.c >&5 +configure:2934: $? = 0 +configure:2958: result: +configure:2964: checking for suffix of object files +configure:2990: gcc -c conftest.c >&5 +configure:2993: $? = 0 +configure:3016: result: o +configure:3020: checking whether we are using the GNU C compiler +configure:3049: gcc -c conftest.c >&5 +configure:3055: $? = 0 +configure:3072: result: yes +configure:3077: checking whether gcc accepts -g +configure:3107: gcc -c -g conftest.c >&5 +configure:3113: $? = 0 +configure:3212: result: yes +configure:3229: checking for gcc option to accept ISO C89 +configure:3303: gcc -c -g -O2 conftest.c >&5 +configure:3309: $? = 0 +configure:3332: result: none needed +configure:3361: checking for style of include used by make +configure:3389: result: GNU +configure:3417: checking dependency style of gcc +configure:3507: result: none +configure:3525: checking for an ANSI C-conforming const +configure:3600: gcc -c -g -O2 conftest.c >&5 +configure:3606: $? = 0 +configure:3621: result: yes +configure:3631: checking for inline +configure:3657: gcc -c -g -O2 conftest.c >&5 +configure:3663: $? = 0 +configure:3681: result: inline +configure:3785: checking build system type +configure:3803: result: i686-pc-linux-gnu +configure:3825: checking host system type +configure:3840: result: i686-pc-linux-gnu +configure:3862: checking for a sed that does not truncate output +configure:3918: result: /bin/sed +configure:3921: checking for grep that handles long lines and -e +configure:3995: result: /bin/grep +configure:4000: checking for egrep +configure:4078: result: /bin/grep -E +configure:4094: checking for ld used by gcc +configure:4161: result: /usr/bin/ld +configure:4170: checking if the linker (/usr/bin/ld) is GNU ld +configure:4185: result: yes +configure:4190: checking for /usr/bin/ld option to reload object files +configure:4197: result: -r +configure:4215: checking for BSD-compatible nm +configure:4264: result: /usr/bin/nm -B +configure:4268: checking whether ln -s works +configure:4272: result: yes +configure:4279: checking how to recognize dependent libraries +configure:4465: result: pass_all +configure:4995: checking how to run the C preprocessor +configure:5035: gcc -E conftest.c +configure:5041: $? = 0 +configure:5072: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:5078: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| /* end confdefs.h. */ +| #include +configure:5111: result: gcc -E +configure:5140: gcc -E conftest.c +configure:5146: $? = 0 +configure:5177: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:5183: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| /* end confdefs.h. */ +| #include +configure:5221: checking for ANSI C header files +configure:5251: gcc -c -g -O2 conftest.c >&5 +configure:5257: $? = 0 +configure:5356: gcc -o conftest -g -O2 conftest.c >&5 +configure:5359: $? = 0 +configure:5365: ./conftest +configure:5368: $? = 0 +configure:5385: result: yes +configure:5409: checking for sys/types.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for sys/stat.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for stdlib.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for string.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for memory.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for strings.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for inttypes.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for stdint.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5409: checking for unistd.h +configure:5430: gcc -c -g -O2 conftest.c >&5 +configure:5436: $? = 0 +configure:5452: result: yes +configure:5479: checking dlfcn.h usability +configure:5496: gcc -c -g -O2 conftest.c >&5 +configure:5502: $? = 0 +configure:5516: result: yes +configure:5520: checking dlfcn.h presence +configure:5535: gcc -E conftest.c +configure:5541: $? = 0 +configure:5555: result: yes +configure:5588: checking for dlfcn.h +configure:5596: result: yes +configure:5667: checking for g++ +configure:5683: found /usr/bin/g++ +configure:5694: result: g++ +configure:5725: checking for C++ compiler version +configure:5732: g++ --version >&5 +g++ (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +Copyright (C) 2006 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:5735: $? = 0 +configure:5742: g++ -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.1.3 20070718 (prerelease) (Debian 4.1.2-14) +configure:5745: $? = 0 +configure:5752: g++ -V >&5 +g++: '-V' option must have argument +configure:5755: $? = 1 +configure:5758: checking whether we are using the GNU C++ compiler +configure:5787: g++ -c conftest.cpp >&5 +configure:5793: $? = 0 +configure:5810: result: yes +configure:5815: checking whether g++ accepts -g +configure:5845: g++ -c -g conftest.cpp >&5 +configure:5851: $? = 0 +configure:5950: result: yes +configure:5975: checking dependency style of g++ +configure:6065: result: none +configure:6092: checking how to run the C++ preprocessor +configure:6128: g++ -E conftest.cpp +configure:6134: $? = 0 +configure:6165: g++ -E conftest.cpp +conftest.cpp:19:28: error: ac_nonexistent.h: No such file or directory +configure:6171: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:6204: result: g++ -E +configure:6233: g++ -E conftest.cpp +configure:6239: $? = 0 +configure:6270: g++ -E conftest.cpp +conftest.cpp:19:28: error: ac_nonexistent.h: No such file or directory +configure:6276: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:6369: checking for g77 +configure:6385: found /usr/bin/g77 +configure:6396: result: g77 +configure:6426: checking for Fortran 77 compiler version +configure:6433: g77 --version >&5 +GNU Fortran (GCC) 3.4.6 (Debian 3.4.6-6) +Copyright (C) 2006 Free Software Foundation, Inc. + +GNU Fortran comes with NO WARRANTY, to the extent permitted by law. +You may redistribute copies of GNU Fortran +under the terms of the GNU General Public License. +For more information about these matters, see the file named COPYING +or type the command `info -f g77 Copying'. +configure:6436: $? = 0 +configure:6443: g77 -v >&5 +Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs +Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu +Thread model: posix +gcc version 3.4.6 (Debian 3.4.6-6) +configure:6446: $? = 0 +configure:6453: g77 -V >&5 +g77: `-V' option must have argument +configure:6456: $? = 1 +configure:6464: checking whether we are using the GNU Fortran 77 compiler +configure:6483: g77 -c conftest.F >&5 +configure:6489: $? = 0 +configure:6506: result: yes +configure:6512: checking whether g77 accepts -g +configure:6529: g77 -c -g conftest.f >&5 +configure:6535: $? = 0 +configure:6551: result: yes +configure:6581: checking the maximum length of command line arguments +configure:6693: result: 98304 +configure:6705: checking command to parse /usr/bin/nm -B output from gcc object +configure:6810: gcc -c -g -O2 conftest.c >&5 +configure:6813: $? = 0 +configure:6817: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:6820: $? = 0 +configure:6872: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 +configure:6875: $? = 0 +configure:6913: result: ok +configure:6917: checking for objdir +configure:6932: result: .libs +configure:7024: checking for ar +configure:7040: found /usr/bin/ar +configure:7051: result: ar +configure:7120: checking for ranlib +configure:7136: found /usr/bin/ranlib +configure:7147: result: ranlib +configure:7216: checking for strip +configure:7232: found /usr/bin/strip +configure:7243: result: strip +configure:7533: checking if gcc supports -fno-rtti -fno-exceptions +configure:7551: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:7555: $? = 0 +configure:7568: result: no +configure:7583: checking for gcc option to produce PIC +configure:7815: result: -fPIC +configure:7823: checking if gcc PIC flag -fPIC works +configure:7841: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5 +configure:7845: $? = 0 +configure:7858: result: yes +configure:7886: checking if gcc static flag -static works +configure:7914: result: yes +configure:7924: checking if gcc supports -c -o file.o +configure:7945: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 +configure:7949: $? = 0 +configure:7971: result: yes +configure:7997: checking whether the gcc linker (/usr/bin/ld) supports shared libraries +configure:8978: result: yes +configure:8999: checking whether -lc should be explicitly linked in +configure:9004: gcc -c -g -O2 conftest.c >&5 +configure:9007: $? = 0 +configure:9022: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 +configure:9025: $? = 0 +configure:9037: result: no +configure:9045: checking dynamic linker characteristics +configure:9659: result: GNU/Linux ld.so +configure:9668: checking how to hardcode library paths into programs +configure:9693: result: immediate +configure:9707: checking whether stripping libraries is possible +configure:9712: result: yes +configure:10514: checking if libtool supports shared libraries +configure:10516: result: yes +configure:10519: checking whether to build shared libraries +configure:10540: result: yes +configure:10543: checking whether to build static libraries +configure:10547: result: yes +configure:10640: creating libtool +configure:11228: checking for ld used by g++ +configure:11295: result: /usr/bin/ld +configure:11304: checking if the linker (/usr/bin/ld) is GNU ld +configure:11319: result: yes +configure:11370: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:12344: result: yes +configure:12366: g++ -c -g -O2 conftest.cpp >&5 +configure:12369: $? = 0 +configure:12521: checking for g++ option to produce PIC +configure:12805: result: -fPIC +configure:12813: checking if g++ PIC flag -fPIC works +configure:12831: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5 +configure:12835: $? = 0 +configure:12848: result: yes +configure:12876: checking if g++ static flag -static works +configure:12904: result: yes +configure:12914: checking if g++ supports -c -o file.o +configure:12935: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 +configure:12939: $? = 0 +configure:12961: result: yes +configure:12987: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:13015: result: yes +configure:13082: checking dynamic linker characteristics +configure:13644: result: GNU/Linux ld.so +configure:13653: checking how to hardcode library paths into programs +configure:13678: result: immediate +configure:14212: checking if libtool supports shared libraries +configure:14214: result: yes +configure:14217: checking whether to build shared libraries +configure:14237: result: yes +configure:14240: checking whether to build static libraries +configure:14244: result: yes +configure:14254: checking for g77 option to produce PIC +configure:14486: result: -fPIC +configure:14494: checking if g77 PIC flag -fPIC works +configure:14512: g77 -c -g -O2 -fPIC conftest.f >&5 +configure:14516: $? = 0 +configure:14529: result: yes +configure:14557: checking if g77 static flag -static works +configure:14585: result: yes +configure:14595: checking if g77 supports -c -o file.o +configure:14616: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5 +configure:14620: $? = 0 +configure:14642: result: yes +configure:14668: checking whether the g77 linker (/usr/bin/ld) supports shared libraries +configure:15629: result: yes +configure:15696: checking dynamic linker characteristics +configure:16258: result: GNU/Linux ld.so +configure:16267: checking how to hardcode library paths into programs +configure:16292: result: immediate +configure:19889: checking for dirent.h that defines DIR +configure:19918: gcc -c -g -O2 conftest.c >&5 +configure:19924: $? = 0 +configure:19940: result: yes +configure:19953: checking for library containing opendir +configure:19994: gcc -o conftest -g -O2 conftest.c >&5 +configure:20000: $? = 0 +configure:20028: result: none required +configure:20150: checking which extension is used for loadable modules +configure:20160: result: .so +configure:20171: checking which variable specifies run-time library path +configure:20178: result: LD_LIBRARY_PATH +configure:20189: checking for the default library search path +configure:20196: result: /lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib +configure:20214: checking for objdir +configure:20235: result: .libs +configure:20244: checking whether libtool supports -dlopen/-dlpreopen +configure:20256: result: yes +configure:20275: checking for shl_load +configure:20331: gcc -o conftest -g -O2 conftest.c >&5 +/tmp/ccSqksB1.o: In function `main': +/home/ahs3/projects/ski/wip.hg/libltdl/conftest.c:59: undefined reference to `shl_load' +collect2: ld returned 1 exit status +configure:20337: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| /* end confdefs.h. */ +| /* Define shl_load to an innocuous variant, in case declares shl_load. +| For example, HP-UX 11i declares gettimeofday. */ +| #define shl_load innocuous_shl_load +| +| /* System header to define __stub macros and hopefully few prototypes, +| which can conflict with char shl_load (); below. +| Prefer to if __STDC__ is defined, since +| exists even on freestanding compilers. */ +| +| #ifdef __STDC__ +| # include +| #else +| # include +| #endif +| +| #undef shl_load +| +| /* Override any GCC internal prototype to avoid an error. +| Use char because int might match the return type of a GCC +| builtin and then its argument prototype would still apply. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| char shl_load (); +| /* The GNU C library defines this for functions which it implements +| to always fail with ENOSYS. Some functions are actually named +| something starting with __ and the normal name is an alias. */ +| #if defined __stub_shl_load || defined __stub___shl_load +| choke me +| #endif +| +| int +| main () +| { +| return shl_load (); +| ; +| return 0; +| } +configure:20354: result: no +configure:20363: checking for shl_load in -ldld +configure:20398: gcc -o conftest -g -O2 conftest.c -ldld >&5 +/usr/bin/ld: cannot find -ldld +collect2: ld returned 1 exit status +configure:20404: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| /* end confdefs.h. */ +| +| /* Override any GCC internal prototype to avoid an error. +| Use char because int might match the return type of a GCC +| builtin and then its argument prototype would still apply. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| char shl_load (); +| int +| main () +| { +| return shl_load (); +| ; +| return 0; +| } +configure:20422: result: no +configure:20432: checking for dlopen in -ldl +configure:20467: gcc -o conftest -g -O2 conftest.c -ldl >&5 +configure:20473: $? = 0 +configure:20491: result: yes +configure:20802: checking for dlerror +configure:20858: gcc -o conftest -g -O2 conftest.c -ldl >&5 +configure:20864: $? = 0 +configure:20882: result: yes +configure:20902: checking for _ prefix in compiled symbols +configure:20912: gcc -c -g -O2 conftest.c >&5 +configure:20915: $? = 0 +configure:20919: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:20922: $? = 0 +configure:20944: result: no +configure:21064: checking whether deplibs are loaded by dlopen +configure:21148: result: yes +configure:21173: checking argz.h usability +configure:21190: gcc -c -g -O2 conftest.c >&5 +configure:21196: $? = 0 +configure:21210: result: yes +configure:21214: checking argz.h presence +configure:21229: gcc -E conftest.c +configure:21235: $? = 0 +configure:21249: result: yes +configure:21282: checking for argz.h +configure:21290: result: yes +configure:21304: checking for error_t +configure:21337: gcc -c -g -O2 conftest.c >&5 +configure:21343: $? = 0 +configure:21358: result: yes +configure:21384: checking for argz_append +configure:21440: gcc -o conftest -g -O2 conftest.c >&5 +configure:21446: $? = 0 +configure:21464: result: yes +configure:21384: checking for argz_create_sep +configure:21440: gcc -o conftest -g -O2 conftest.c >&5 +configure:21446: $? = 0 +configure:21464: result: yes +configure:21384: checking for argz_insert +configure:21440: gcc -o conftest -g -O2 conftest.c >&5 +configure:21446: $? = 0 +configure:21464: result: yes +configure:21384: checking for argz_next +configure:21440: gcc -o conftest -g -O2 conftest.c >&5 +configure:21446: $? = 0 +configure:21464: result: yes +configure:21384: checking for argz_stringify +configure:21440: gcc -o conftest -g -O2 conftest.c >&5 +configure:21446: $? = 0 +configure:21464: result: yes +configure:21516: checking assert.h usability +configure:21533: gcc -c -g -O2 conftest.c >&5 +configure:21539: $? = 0 +configure:21553: result: yes +configure:21557: checking assert.h presence +configure:21572: gcc -E conftest.c +configure:21578: $? = 0 +configure:21592: result: yes +configure:21625: checking for assert.h +configure:21633: result: yes +configure:21516: checking ctype.h usability +configure:21533: gcc -c -g -O2 conftest.c >&5 +configure:21539: $? = 0 +configure:21553: result: yes +configure:21557: checking ctype.h presence +configure:21572: gcc -E conftest.c +configure:21578: $? = 0 +configure:21592: result: yes +configure:21625: checking for ctype.h +configure:21633: result: yes +configure:21516: checking errno.h usability +configure:21533: gcc -c -g -O2 conftest.c >&5 +configure:21539: $? = 0 +configure:21553: result: yes +configure:21557: checking errno.h presence +configure:21572: gcc -E conftest.c +configure:21578: $? = 0 +configure:21592: result: yes +configure:21625: checking for errno.h +configure:21633: result: yes +configure:21516: checking malloc.h usability +configure:21533: gcc -c -g -O2 conftest.c >&5 +configure:21539: $? = 0 +configure:21553: result: yes +configure:21557: checking malloc.h presence +configure:21572: gcc -E conftest.c +configure:21578: $? = 0 +configure:21592: result: yes +configure:21625: checking for malloc.h +configure:21633: result: yes +configure:21506: checking for memory.h +configure:21512: result: yes +configure:21506: checking for stdlib.h +configure:21512: result: yes +configure:21516: checking stdio.h usability +configure:21533: gcc -c -g -O2 conftest.c >&5 +configure:21539: $? = 0 +configure:21553: result: yes +configure:21557: checking stdio.h presence +configure:21572: gcc -E conftest.c +configure:21578: $? = 0 +configure:21592: result: yes +configure:21625: checking for stdio.h +configure:21633: result: yes +configure:21506: checking for unistd.h +configure:21512: result: yes +configure:21664: checking dl.h usability +configure:21681: gcc -c -g -O2 conftest.c >&5 +conftest.c:75:16: error: dl.h: No such file or directory +configure:21687: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_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:21701: result: no +configure:21705: checking dl.h presence +configure:21720: gcc -E conftest.c +conftest.c:42:16: error: dl.h: No such file or directory +configure:21726: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:21740: result: no +configure:21773: checking for dl.h +configure:21781: result: no +configure:21664: checking sys/dl.h usability +configure:21681: gcc -c -g -O2 conftest.c >&5 +conftest.c:75:20: error: sys/dl.h: No such file or directory +configure:21687: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_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:21701: result: no +configure:21705: checking sys/dl.h presence +configure:21720: gcc -E conftest.c +conftest.c:42:20: error: sys/dl.h: No such file or directory +configure:21726: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:21740: result: no +configure:21773: checking for sys/dl.h +configure:21781: result: no +configure:21664: checking dld.h usability +configure:21681: gcc -c -g -O2 conftest.c >&5 +conftest.c:75:17: error: dld.h: No such file or directory +configure:21687: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_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:21701: result: no +configure:21705: checking dld.h presence +configure:21720: gcc -E conftest.c +conftest.c:42:17: error: dld.h: No such file or directory +configure:21726: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:21740: result: no +configure:21773: checking for dld.h +configure:21781: result: no +configure:21664: checking mach-o/dyld.h usability +configure:21681: gcc -c -g -O2 conftest.c >&5 +conftest.c:75:25: error: mach-o/dyld.h: No such file or directory +configure:21687: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_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:21701: result: no +configure:21705: checking mach-o/dyld.h presence +configure:21720: gcc -E conftest.c +conftest.c:42:25: error: mach-o/dyld.h: No such file or directory +configure:21726: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "libltdl" +| #define PACKAGE_TARNAME "libltdl" +| #define PACKAGE_VERSION "1.2" +| #define PACKAGE_STRING "libltdl 1.2" +| #define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +| #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 HAVE_DLFCN_H 1 +| #define HAVE_DIRENT_H 1 +| #define LTDL_SHLIB_EXT ".so" +| #define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +| #define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +| #define LTDL_OBJDIR ".libs/" +| #define HAVE_PRELOADED_SYMBOLS 1 +| #define HAVE_LIBDL 1 +| #define HAVE_DLERROR 1 +| #define HAVE_ARGZ_H 1 +| #define HAVE_ERROR_T 1 +| #define HAVE_ARGZ_APPEND 1 +| #define HAVE_ARGZ_CREATE_SEP 1 +| #define HAVE_ARGZ_INSERT 1 +| #define HAVE_ARGZ_NEXT 1 +| #define HAVE_ARGZ_STRINGIFY 1 +| #define HAVE_ASSERT_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:21740: result: no +configure:21773: checking for mach-o/dyld.h +configure:21781: result: no +configure:21800: checking for string.h +configure:21806: result: yes +configure:21946: checking for strchr +configure:22002: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:66: warning: conflicting types for built-in function 'strchr' +configure:22008: $? = 0 +configure:22026: result: yes +configure:22041: checking for strrchr +configure:22097: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:67: warning: conflicting types for built-in function 'strrchr' +configure:22103: $? = 0 +configure:22121: result: yes +configure:22136: checking for memcpy +configure:22192: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:68: warning: conflicting types for built-in function 'memcpy' +configure:22198: $? = 0 +configure:22216: result: yes +configure:22231: checking for memmove +configure:22287: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:69: warning: conflicting types for built-in function 'memmove' +configure:22293: $? = 0 +configure:22311: result: yes +configure:22231: checking for strcmp +configure:22287: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:70: warning: conflicting types for built-in function 'strcmp' +configure:22293: $? = 0 +configure:22311: result: yes +configure:22327: checking for closedir +configure:22383: gcc -o conftest -g -O2 conftest.c >&5 +configure:22389: $? = 0 +configure:22407: result: yes +configure:22327: checking for opendir +configure:22383: gcc -o conftest -g -O2 conftest.c >&5 +configure:22389: $? = 0 +configure:22407: result: yes +configure:22327: checking for readdir +configure:22383: gcc -o conftest -g -O2 conftest.c >&5 +configure:22389: $? = 0 +configure:22407: result: yes +configure:22560: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by libltdl config.status 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on rigel + +config.status:669: creating Makefile +config.status:669: creating config.h +config.status:928: config.h is unchanged +config.status:974: executing depfiles commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=i686-pc-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +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_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_F77_set= +ac_cv_env_F77_value= +ac_cv_env_FFLAGS_set= +ac_cv_env_FFLAGS_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_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_f77_compiler_gnu=yes +ac_cv_func_argz_append=yes +ac_cv_func_argz_create_sep=yes +ac_cv_func_argz_insert=yes +ac_cv_func_argz_next=yes +ac_cv_func_argz_stringify=yes +ac_cv_func_closedir=yes +ac_cv_func_dlerror=yes +ac_cv_func_memcpy=yes +ac_cv_func_memmove=yes +ac_cv_func_opendir=yes +ac_cv_func_readdir=yes +ac_cv_func_shl_load=no +ac_cv_func_strchr=yes +ac_cv_func_strcmp=yes +ac_cv_func_strrchr=yes +ac_cv_header_argz_h=yes +ac_cv_header_assert_h=yes +ac_cv_header_ctype_h=yes +ac_cv_header_dirent_dirent_h=yes +ac_cv_header_dl_h=no +ac_cv_header_dld_h=no +ac_cv_header_dlfcn_h=yes +ac_cv_header_errno_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_mach_o_dyld_h=no +ac_cv_header_malloc_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdio_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_dl_h=no +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=i686-pc-linux-gnu +ac_cv_lib_dl_dlopen=yes +ac_cv_lib_dld_shl_load=no +ac_cv_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_GREP=/bin/grep +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_F77=g77 +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cxx_g=yes +ac_cv_prog_f77_g=yes +ac_cv_prog_make_make_set=yes +ac_cv_search_opendir='none required' +ac_cv_sys_symbol_underscore=no +ac_cv_type_error_t=yes +am_cv_CC_dependencies_compiler_type=none +am_cv_CXX_dependencies_compiler_type=none +libltdl_cv_lib_dl_dlopen=yes +libltdl_cv_objdir=.libs +libltdl_cv_preloaded_symbols=yes +libltdl_cv_shlibext=.so +libltdl_cv_shlibpath_var=LD_LIBRARY_PATH +libltdl_cv_sys_dlopen_deplibs=yes +libltdl_cv_sys_search_path='/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib ' +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX=/usr/bin/ld +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_SED=/bin/sed +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_c_o_F77=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' +lt_cv_sys_max_cmd_len=98304 +lt_lt_cv_prog_compiler_c_o='"yes"' +lt_lt_cv_prog_compiler_c_o_CXX='"yes"' +lt_lt_cv_prog_compiler_c_o_F77='"yes"' +lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' +lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' +lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run aclocal-1.9' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run tar' +AR='ar' +AS='as' +AUTOCONF='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoconf' +AUTOHEADER='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoheader' +AUTOMAKE='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=none' +CFLAGS='-g -O2' +CONVENIENCE_LTDL_FALSE='#' +CONVENIENCE_LTDL_TRUE='' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=none' +CXXFLAGS='-g -O2' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +DLLTOOL='dlltool' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/bin/grep -E' +EXEEXT='' +F77='g77' +FFLAGS='-g -O2' +GREP='/bin/grep' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_LTDL_FALSE='' +INSTALL_LTDL_TRUE='#' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +LDFLAGS='' +LIBADD_DL='-ldl' +LIBOBJS='' +LIBS='' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LIBTOOL_DEPS='./ltmain.sh' +LN_S='ln -s' +LTLIBOBJS='' +MAKEINFO='${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run makeinfo' +OBJDUMP='objdump' +OBJEXT='o' +PACKAGE='libltdl' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' +PACKAGE_NAME='libltdl' +PACKAGE_STRING='libltdl 1.2' +PACKAGE_TARNAME='libltdl' +PACKAGE_VERSION='1.2' +PATH_SEPARATOR=':' +RANLIB='ranlib' +SED='/bin/sed' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='strip' +VERSION='1.2' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_F77='g77' +am__fastdepCC_FALSE='' +am__fastdepCC_TRUE='#' +am__fastdepCXX_FALSE='' +am__fastdepCXX_TRUE='#' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='i686-pc-linux-gnu' +build_alias='' +build_cpu='i686' +build_os='linux-gnu' +build_vendor='pc' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host='i686-pc-linux-gnu' +host_alias='' +host_cpu='i686' +host_os='linux-gnu' +host_vendor='pc' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +install_sh='/home/ahs3/projects/ski/wip.hg/libltdl/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +mkdir_p='mkdir -p --' +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. ## +## ----------- ## + +#define PACKAGE_NAME "libltdl" +#define PACKAGE_TARNAME "libltdl" +#define PACKAGE_VERSION "1.2" +#define PACKAGE_STRING "libltdl 1.2" +#define PACKAGE_BUGREPORT "bug-libtool@gnu.org" +#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 HAVE_DLFCN_H 1 +#define HAVE_DIRENT_H 1 +#define LTDL_SHLIB_EXT ".so" +#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH" +#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" +#define LTDL_OBJDIR ".libs/" +#define HAVE_PRELOADED_SYMBOLS 1 +#define HAVE_LIBDL 1 +#define HAVE_DLERROR 1 +#define HAVE_ARGZ_H 1 +#define HAVE_ERROR_T 1 +#define HAVE_ARGZ_APPEND 1 +#define HAVE_ARGZ_CREATE_SEP 1 +#define HAVE_ARGZ_INSERT 1 +#define HAVE_ARGZ_NEXT 1 +#define HAVE_ARGZ_STRINGIFY 1 +#define HAVE_ASSERT_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_ERRNO_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_STRCMP 1 +#define HAVE_CLOSEDIR 1 +#define HAVE_OPENDIR 1 +#define HAVE_READDIR 1 + +configure: exit 0 diff --git a/libltdl/config.status b/libltdl/config.status new file mode 100755 index 0000000..013ac5b --- /dev/null +++ b/libltdl/config.status @@ -0,0 +1,1109 @@ +#! /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} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" Makefile" +config_headers=" config.h:config-h.in" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_version="\ +libltdl config.status 1.2 +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"'--prefix=/usr/local' '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' '--enable-ltdl-convenience' '--cache-file=/dev/null' '--srcdir=.'\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/ahs3/projects/ski/wip.hg/libltdl' +srcdir='.' +INSTALL='/usr/bin/install -c' +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " '--prefix=/usr/local' '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' '--enable-ltdl-convenience' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/sh + export CONFIG_SHELL + exec /bin/sh "./configure" '--prefix=/usr/local' '--enable-maintainer-mode' '--enable-compile-warnings' '--enable-dependency-tracking' '--enable-ltdl-convenience' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" ac_aux_dir="." + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +cat >"$tmp/subs-1.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@SHELL@,|#_!!_#|/bin/sh,g +s,@PATH_SEPARATOR@,|#_!!_#|:,g +s,@PACKAGE_NAME@,|#_!!_#|libltdl,g +s,@PACKAGE_TARNAME@,|#_!!_#|libltdl,g +s,@PACKAGE_VERSION@,|#_!!_#|1.2,g +s,@PACKAGE_STRING@,|#_!!_#|libltdl 1.2,g +s,@PACKAGE_BUGREPORT@,|#_!!_#|bug-libtool@|#_!!_#|gnu.org,g +s,@exec_prefix@,|#_!!_#|${prefix},g +s,@prefix@,|#_!!_#|/usr/local,g +s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g +s,@bindir@,|#_!!_#|${exec_prefix}/bin,g +s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g +s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g +s,@datarootdir@,|#_!!_#|${prefix}/share,g +s,@datadir@,|#_!!_#|${datarootdir},g +s,@sysconfdir@,|#_!!_#|${prefix}/etc,g +s,@sharedstatedir@,|#_!!_#|${prefix}/com,g +s,@localstatedir@,|#_!!_#|${prefix}/var,g +s,@includedir@,|#_!!_#|${prefix}/include,g +s,@oldincludedir@,|#_!!_#|/usr/include,g +s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE_TARNAME},g +s,@infodir@,|#_!!_#|${datarootdir}/info,g +s,@htmldir@,|#_!!_#|${docdir},g +s,@dvidir@,|#_!!_#|${docdir},g +s,@pdfdir@,|#_!!_#|${docdir},g +s,@psdir@,|#_!!_#|${docdir},g +s,@libdir@,|#_!!_#|${exec_prefix}/lib,g +s,@localedir@,|#_!!_#|${datarootdir}/locale,g +s,@mandir@,|#_!!_#|${datarootdir}/man,g +s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g +s,@ECHO_C@,|#_!!_#|,g +s,@ECHO_N@,|#_!!_#|-n,g +s,@ECHO_T@,|#_!!_#|,g +s,@LIBS@,|#_!!_#|,g +s,@build_alias@,|#_!!_#|,g +s,@host_alias@,|#_!!_#|,g +s,@target_alias@,|#_!!_#|,g +s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g +s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g +s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g +s,@CYGPATH_W@,|#_!!_#|echo,g +s,@PACKAGE@,|#_!!_#|libltdl,g +s,@VERSION@,|#_!!_#|1.2,g +s,@ACLOCAL@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run aclocal-1.9,g +s,@AUTOCONF@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoconf,g +s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run automake-1.9,g +s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run autoheader,g +s,@MAKEINFO@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run makeinfo,g +s,@install_sh@,|#_!!_#|/home/ahs3/projects/ski/wip.hg/libltdl/install-sh,g +s,@STRIP@,|#_!!_#|strip,g +s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|${SHELL} $(install_sh) -c -s,g +s,@mkdir_p@,|#_!!_#|mkdir -p --,g +s,@AWK@,|#_!!_#|gawk,g +s,@SET_MAKE@,|#_!!_#|,g +s,@am__leading_dot@,|#_!!_#|.,g +s,@AMTAR@,|#_!!_#|${SHELL} /home/ahs3/projects/ski/wip.hg/libltdl/missing --run tar,g +s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g +s,@am__untar@,|#_!!_#|${AMTAR} xf -,g +s,@CC@,|#_!!_#|gcc,g +s,@CFLAGS@,|#_!!_#|-g -O2,g +s,@LDFLAGS@,|#_!!_#|,g +s,@CPPFLAGS@,|#_!!_#|,g +s,@ac_ct_CC@,|#_!!_#|gcc,g +s,@EXEEXT@,|#_!!_#|,g +s,@OBJEXT@,|#_!!_#|o,g +s,@DEPDIR@,|#_!!_#|.deps,g +s,@am__include@,|#_!!_#|include,g +s,@am__quote@,|#_!!_#|,g +s,@AMDEP_TRUE@,|#_!!_#|,g +s,@AMDEP_FALSE@,|#_!!_#|#,g +s,@AMDEPBACKSLASH@,|#_!!_#|\\,g +s,@CCDEPMODE@,|#_!!_#|depmode=none,g +s,@am__fastdepCC_TRUE@,|#_!!_#|#,g +s,@am__fastdepCC_FALSE@,|#_!!_#|,g +s,@build@,|#_!!_#|i686-pc-linux-gnu,g +s,@build_cpu@,|#_!!_#|i686,g +s,@build_vendor@,|#_!!_#|pc,g +s,@build_os@,|#_!!_#|linux-gnu,g +s,@host@,|#_!!_#|i686-pc-linux-gnu,g +s,@host_cpu@,|#_!!_#|i686,g +s,@host_vendor@,|#_!!_#|pc,g +s,@host_os@,|#_!!_#|linux-gnu,g +s,@SED@,|#_!!_#|/bin/sed,g +s,@GREP@,|#_!!_#|/bin/grep,g +s,@EGREP@,|#_!!_#|/bin/grep -E,g +s,@LN_S@,|#_!!_#|ln -s,g +s,@ECHO@,|#_!!_#|echo,g +s,@AR@,|#_!!_#|ar,g +s,@RANLIB@,|#_!!_#|ranlib,g +s,@DLLTOOL@,|#_!!_#|dlltool,g +s,@AS@,|#_!!_#|as,g +s,@OBJDUMP@,|#_!!_#|objdump,g +s,@CPP@,|#_!!_#|gcc -E,g +s,@CXX@,|#_!!_#|g++,g +s,@CXXFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_CXX@,|#_!!_#|g++,g +s,@CXXDEPMODE@,|#_!!_#|depmode=none,g +CEOF +cat >"$tmp/subs-2.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +s,@am__fastdepCXX_TRUE@,|#_!!_#|#,g +s,@am__fastdepCXX_FALSE@,|#_!!_#|,g +s,@CXXCPP@,|#_!!_#|g++ -E,g +s,@F77@,|#_!!_#|g77,g +s,@FFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_F77@,|#_!!_#|g77,g +s,@LIBTOOL@,|#_!!_#|$(SHELL) $(top_builddir)/libtool,g +s,@LIBTOOL_DEPS@,|#_!!_#|./ltmain.sh,g +s,@INSTALL_LTDL_TRUE@,|#_!!_#|#,g +s,@INSTALL_LTDL_FALSE@,|#_!!_#|,g +s,@CONVENIENCE_LTDL_TRUE@,|#_!!_#|,g +s,@CONVENIENCE_LTDL_FALSE@,|#_!!_#|#,g +s,@LIBADD_DL@,|#_!!_#|-ldl,g +s,@LIBOBJS@,|#_!!_#|,g +s,@LTLIBOBJS@,|#_!!_#|,g +:end +s/|#_!!_#|//g +CEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s/$/ / +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "libltdl" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "libltdl" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "1.2" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "libltdl 1.2" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "bug-libtool@gnu.org" , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DIRENT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*LTDL_SHLIB_EXT\)[ (].*,\1define\2 ".so" , +s,^\([ #]*\)[^ ]*\([ ]*LTDL_SHLIBPATH_VAR\)[ (].*,\1define\2 "LD_LIBRARY_PATH" , +s,^\([ #]*\)[^ ]*\([ ]*LTDL_SYSSEARCHPATH\)[ (].*,\1define\2 "/lib:/usr/lib:/lib64:/usr/lib64:/usr/X11R6/lib64:/usr/lib/atlas:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/lib/R/lib:/usr/local/lib" , +s,^\([ #]*\)[^ ]*\([ ]*LTDL_OBJDIR\)[ (].*,\1define\2 ".libs/" , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_PRELOADED_SYMBOLS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBDL\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLERROR\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ERROR_T\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_APPEND\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_CREATE_SEP\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_INSERT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_NEXT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ARGZ_STRINGIFY\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ASSERT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_CTYPE_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_ERRNO_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MALLOC_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDIO_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRCHR\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRRCHR\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMCPY\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMMOVE\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRCMP\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_CLOSEDIR\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_OPENDIR\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_READDIR\)[ (].*,\1define\2 1 , +s/ $// +CEOF + sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s,^[ #]*u.*,/* & */, +CEOF + sed -f "$tmp/defines.sed" "$tmp/out1" >"$tmp/out2" +ac_result="$tmp/out2" + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } diff --git a/libltdl/config.sub b/libltdl/config.sub new file mode 100755 index 0000000..5defff6 --- /dev/null +++ b/libltdl/config.sub @@ -0,0 +1,1622 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2007-01-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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# 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 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. + +# 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 +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-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + 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) + os= + basic_machine=$1 + ;; + -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*) + 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 \ + | 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 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | 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 | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-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-* \ + | 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-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | 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-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | 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-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | 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-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # 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 + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + 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 + ;; + cr16c) + basic_machine=cr16c-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 + ;; + 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'm not sure what "Sysv32" means. Should this be sysv3.2? + 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 + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + 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-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + 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 + ;; + 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 + ;; + 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) basic_machine=powerpc-unknown + ;; + ppc-*) 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 + ;; + 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 + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + 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 + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-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[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. + -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* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -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* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -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*) + # 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 + ;; + -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 + ;; + # 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 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + 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 + ;; + -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/libltdl/configure b/libltdl/configure new file mode 100755 index 0000000..737a094 --- /dev/null +++ b/libltdl/configure @@ -0,0 +1,23832 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for libltdl 1.2. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='libltdl' +PACKAGE_TARNAME='libltdl' +PACKAGE_VERSION='1.2' +PACKAGE_STRING='libltdl 1.2' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' + +ac_unique_file="ltdl.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +LN_S +ECHO +AR +RANLIB +DLLTOOL +AS +OBJDUMP +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +LIBTOOL_DEPS +INSTALL_LTDL_TRUE +INSTALL_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +CONVENIENCE_LTDL_FALSE +LIBADD_DL +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures libltdl 1.2 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/libltdl] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of libltdl 1.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +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 . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +libltdl configure 1.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +## ------------------------------- ## +## Libltdl specific configuration. ## +## ------------------------------- ## + +ac_aux_dir= +for ac_dir in . "$srcdir"/.; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then + if test -f ${srcdir}/ltmain.sh; then + # if libltdl is libtoolized, it is assumed to be stand-alone and + # installed unless the command line overrides it (tested above) + enable_ltdl_install=yes + else + { echo "$as_me:$LINENO: WARNING: *** The top-level configure must select either" >&5 +echo "$as_me: WARNING: *** The top-level configure must select either" >&2;} + { echo "$as_me:$LINENO: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&5 +echo "$as_me: WARNING: *** A\"\"C_LIBLTDL_INSTALLABLE or A\"\"C_LIBLTDL_CONVENIENCE." >&2;} + { { echo "$as_me:$LINENO: error: *** Maybe you want to --enable-ltdl-install?" >&5 +echo "$as_me: error: *** Maybe you want to --enable-ltdl-install?" >&2;} + { (exit 1); exit 1; }; } + fi +fi + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=libltdl + VERSION=1.2 + + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + +## ------------------ ## +## C compiler checks. ## +## ------------------ ## +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6; } +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6; } + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4514 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { echo "$as_me:$LINENO: result: $DLLTOOL" >&5 +echo "${ECHO_T}$DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 +echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AS="${ac_tool_prefix}as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { echo "$as_me:$LINENO: result: $AS" >&5 +echo "${ECHO_T}$AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AS="as" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 +echo "${ECHO_T}$ac_ct_AS" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +echo "${ECHO_T}$OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bug-libtool@gnu.org ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +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 + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=yes + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7551: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7555: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7841: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7845: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7945: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7949: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12831: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12835: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12935: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12939: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14616: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14620: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16820: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16824: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:17110: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:17114: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:17214: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:17218: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$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 + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then + enableval=$enable_ltdl_install; +fi + + + + +if test x"${enable_ltdl_install-no}" != xno; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + + +if test x"${enable_ltdl_convenience-no}" != xno; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking which extension is used for loadable modules" >&5 +echo $ECHO_N "checking which extension is used for loadable modules... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibext" >&5 +echo "${ECHO_T}$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +#define LTDL_SHLIB_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking which variable specifies run-time library path" >&5 +echo $ECHO_N "checking which variable specifies run-time library path... $ECHO_C" >&6; } +if test "${libltdl_cv_shlibpath_var+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_shlibpath_var="$shlibpath_var" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_shlibpath_var" >&5 +echo "${ECHO_T}$libltdl_cv_shlibpath_var" >&6; } +if test -n "$libltdl_cv_shlibpath_var"; then + +cat >>confdefs.h <<_ACEOF +#define LTDL_SHLIBPATH_VAR "$libltdl_cv_shlibpath_var" +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking for the default library search path" >&5 +echo $ECHO_N "checking for the default library search path... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_search_path+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec" +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_search_path" >&5 +echo "${ECHO_T}$libltdl_cv_sys_search_path" >&6; } +if test -n "$libltdl_cv_sys_search_path"; then + sys_search_path= + for dir in $libltdl_cv_sys_search_path; do + if test -z "$sys_search_path"; then + sys_search_path="$dir" + else + sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" + fi + done + +cat >>confdefs.h <<_ACEOF +#define LTDL_SYSSEARCHPATH "$sys_search_path" +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${libltdl_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_objdir="$objdir" + if test -n "$objdir"; then + : + else + rm -f .libs 2>/dev/null + mkdir .libs 2>/dev/null + if test -d .libs; then + libltdl_cv_objdir=.libs + else + # MS-DOS does not allow filenames that begin with a dot. + libltdl_cv_objdir=_libs + fi + rmdir .libs 2>/dev/null + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_objdir" >&5 +echo "${ECHO_T}$libltdl_cv_objdir" >&6; } + +cat >>confdefs.h <<_ACEOF +#define LTDL_OBJDIR "$libltdl_cv_objdir/" +_ACEOF + + + +{ echo "$as_me:$LINENO: checking whether libtool supports -dlopen/-dlpreopen" >&5 +echo $ECHO_N "checking whether libtool supports -dlopen/-dlpreopen... $ECHO_C" >&6; } +if test "${libltdl_cv_preloaded_symbols+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_preloaded_symbols" >&5 +echo "${ECHO_T}$libltdl_cv_preloaded_symbols" >&6; } +if test x"$libltdl_cv_preloaded_symbols" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PRELOADED_SYMBOLS 1 +_ACEOF + +fi + +LIBADD_DL= + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SHL_LOAD 1 +_ACEOF + +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SHL_LOAD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBDL 1 +_ACEOF + libltdl_cv_func_dlopen="yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBDL 1 +_ACEOF + + LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DLD 1 +_ACEOF + + LIBADD_DL="$LIBADD_DL -ldld" +else + { echo "$as_me:$LINENO: checking for _dyld_func_lookup" >&5 +echo $ECHO_N "checking for _dyld_func_lookup... $ECHO_C" >&6; } +if test "${ac_cv_func__dyld_func_lookup+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define _dyld_func_lookup to an innocuous variant, in case declares _dyld_func_lookup. + For example, HP-UX 11i declares gettimeofday. */ +#define _dyld_func_lookup innocuous__dyld_func_lookup + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char _dyld_func_lookup (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef _dyld_func_lookup + +/* 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 _dyld_func_lookup (); +/* 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__dyld_func_lookup || defined __stub____dyld_func_lookup +choke me +#endif + +int +main () +{ +return _dyld_func_lookup (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func__dyld_func_lookup=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func__dyld_func_lookup=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func__dyld_func_lookup" >&5 +echo "${ECHO_T}$ac_cv_func__dyld_func_lookup" >&6; } +if test $ac_cv_func__dyld_func_lookup = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DYLD 1 +_ACEOF + +fi + + +fi + + +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi + + +fi + + +fi + + +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + +for ac_func in dlerror +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$lt_save_LIBS" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for _ prefix in compiled symbols" >&5 +echo $ECHO_N "checking for _ prefix in compiled symbols... $ECHO_C" >&6; } +if test "${ac_cv_sys_symbol_underscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + ac_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sys_symbol_underscore" >&5 +echo "${ECHO_T}$ac_cv_sys_symbol_underscore" >&6; } + + +if test x"$ac_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + { echo "$as_me:$LINENO: checking whether we have to add an underscore for dlsym" >&5 +echo $ECHO_N "checking whether we have to add an underscore for dlsym... $ECHO_C" >&6; } +if test "${libltdl_cv_need_uscore+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DL" + if test "$cross_compiling" = yes; then : + libltdl_cv_need_uscore=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) libltdl_cv_need_uscore=no ;; + x$lt_dlneed_uscore) libltdl_cv_need_uscore=yes ;; + x$lt_dlunknown|x*) ;; + esac + else : + # compilation failed + + fi +fi +rm -fr conftest* + + LIBS="$save_LIBS" + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_need_uscore" >&5 +echo "${ECHO_T}$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define NEED_USCORE 1 +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether deplibs are loaded by dlopen" >&5 +echo $ECHO_N "checking whether deplibs are loaded by dlopen... $ECHO_C" >&6; } +if test "${libltdl_cv_sys_dlopen_deplibs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + libltdl_cv_sys_dlopen_deplibs=unknown + case "$host_os" in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + aix[45]*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + libltdl_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + interix*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explictly say `no'. + libltdl_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + libltdl_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + libltdl_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ echo "$as_me:$LINENO: result: $libltdl_cv_sys_dlopen_deplibs" >&5 +echo "${ECHO_T}$libltdl_cv_sys_dlopen_deplibs" >&6; } +if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then + +cat >>confdefs.h <<\_ACEOF +#define LTDL_DLOPEN_DEPLIBS 1 +_ACEOF + +fi + + +for ac_header in argz.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bug-libtool@gnu.org ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ echo "$as_me:$LINENO: checking for error_t" >&5 +echo $ECHO_N "checking for error_t... $ECHO_C" >&6; } +if test "${ac_cv_type_error_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_ARGZ_H +# include +#endif + +typedef error_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_error_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_error_t=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_error_t" >&5 +echo "${ECHO_T}$ac_cv_type_error_t" >&6; } +if test $ac_cv_type_error_t = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_ERROR_T 1 +_ACEOF + + +else + +cat >>confdefs.h <<\_ACEOF +#define error_t int +_ACEOF + +fi + + + + + + + +for ac_func in argz_append argz_create_sep argz_insert argz_next argz_stringify +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for ac_header in assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ + stdio.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bug-libtool@gnu.org ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + +for ac_header in dl.h sys/dl.h dld.h mach-o/dyld.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bug-libtool@gnu.org ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in string.h strings.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bug-libtool@gnu.org ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + break +fi + +done + + + + +for ac_func in strchr index +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in strrchr rindex +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memcpy bcopy +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + break +fi +done + + + +for ac_func in memmove strcmp +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +for ac_func in closedir opendir readdir +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libltdl $as_me 1.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +libltdl config.status 1.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +LN_S!$LN_S$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +DLLTOOL!$DLLTOOL$ac_delim +AS!$AS$ac_delim +OBJDUMP!$OBJDUMP$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +LIBTOOL_DEPS!$LIBTOOL_DEPS$ac_delim +INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim +INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim +CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim +CONVENIENCE_LTDL_FALSE!$CONVENIENCE_LTDL_FALSE$ac_delim +LIBADD_DL!$LIBADD_DL$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/libltdl/configure.ac b/libltdl/configure.ac new file mode 100644 index 0000000..1446efb --- /dev/null +++ b/libltdl/configure.ac @@ -0,0 +1,79 @@ +## Process this file with autoconf to create configure. -*- autoconf -*- +# Copyright 2001 Free Software Foundation, Inc. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA + + +dnl FIXME: Is this really new enough? +AC_PREREQ(2.50) + + +## ------------------------ ## +## Autoconf initialisation. ## +## ------------------------ ## +AC_INIT([libltdl], [1.2], [bug-libtool@gnu.org]) +AC_CONFIG_SRCDIR([ltdl.c]) + + +## ------------------------------- ## +## Libltdl specific configuration. ## +## ------------------------------- ## + +AC_CONFIG_AUX_DIR([.]) + +if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then + if test -f ${srcdir}/ltmain.sh; then + # if libltdl is libtoolized, it is assumed to be stand-alone and + # installed unless the command line overrides it (tested above) + enable_ltdl_install=yes + else + AC_MSG_WARN([*** The top-level configure must select either]) + AC_MSG_WARN([*** [A""C_LIBLTDL_INSTALLABLE] or [A""C_LIBLTDL_CONVENIENCE].]) + AC_MSG_ERROR([*** Maybe you want to --enable-ltdl-install?]) + fi +fi + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## +AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, -) +AM_CONFIG_HEADER([config.h:config-h.in]) + + +## ------------------ ## +## C compiler checks. ## +## ------------------ ## +AC_PROG_CC +AC_C_CONST +AC_C_INLINE + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +AC_LIBTOOL_WIN32_DLL +AC_PROG_LIBTOOL +AC_SUBST([LIBTOOL_DEPS]) + +AC_LIB_LTDL + + +## -------- ## +## Outputs. ## +## -------- ## +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/libltdl/install-sh b/libltdl/install-sh new file mode 100755 index 0000000..a5897de --- /dev/null +++ b/libltdl/install-sh @@ -0,0 +1,519 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2006-12-25.00 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dst_arg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libltdl/libtool b/libltdl/libtool new file mode 100755 index 0000000..f57a8d2 --- /dev/null +++ b/libltdl/libtool @@ -0,0 +1,7903 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU libltdl 1.2) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags=" CXX F77" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="gcc" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.24 Debian 1.5.24-1" +TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2007 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." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.[fF][09]?) xform=[fF][09]. ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g++" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.3/crtbeginS.o" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crtn.o" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: CXX + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g77" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag="" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: F77 + diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c new file mode 100644 index 0000000..409e5be --- /dev/null +++ b/libltdl/ltdl.c @@ -0,0 +1,4530 @@ +/* ltdl.c -- system independent dlopen wrapper + Copyright (C) 1998, 1999, 2000, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Originally by Thomas Tanner + This file is part of GNU Libtool. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. + +This library 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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA + +*/ + +#if HAVE_CONFIG_H +# include +#endif + +#if HAVE_UNISTD_H +# include +#endif + +#if HAVE_STDIO_H +# include +#endif + +/* Include the header defining malloc. On K&R C compilers, + that's , on ANSI C and ISO C compilers, that's . */ +#if HAVE_STDLIB_H +# include +#else +# if HAVE_MALLOC_H +# include +# endif +#endif + +#if HAVE_STRING_H +# include +#else +# if HAVE_STRINGS_H +# include +# endif +#endif + +#if HAVE_CTYPE_H +# include +#endif + +#if HAVE_MEMORY_H +# include +#endif + +#if HAVE_ERRNO_H +# include +#endif + + +#ifndef __WINDOWS__ +# ifdef __WIN32__ +# define __WINDOWS__ +# endif +#endif + + +#undef LT_USE_POSIX_DIRENT +#ifdef HAVE_CLOSEDIR +# ifdef HAVE_OPENDIR +# ifdef HAVE_READDIR +# ifdef HAVE_DIRENT_H +# define LT_USE_POSIX_DIRENT +# endif /* HAVE_DIRENT_H */ +# endif /* HAVE_READDIR */ +# endif /* HAVE_OPENDIR */ +#endif /* HAVE_CLOSEDIR */ + + +#undef LT_USE_WINDOWS_DIRENT_EMULATION +#ifndef LT_USE_POSIX_DIRENT +# ifdef __WINDOWS__ +# define LT_USE_WINDOWS_DIRENT_EMULATION +# endif /* __WINDOWS__ */ +#endif /* LT_USE_POSIX_DIRENT */ + + +#ifdef LT_USE_POSIX_DIRENT +# include +# define LT_D_NAMLEN(dirent) (strlen((dirent)->d_name)) +#else +# ifdef LT_USE_WINDOWS_DIRENT_EMULATION +# define LT_D_NAMLEN(dirent) (strlen((dirent)->d_name)) +# else +# define dirent direct +# define LT_D_NAMLEN(dirent) ((dirent)->d_namlen) +# if HAVE_SYS_NDIR_H +# include +# endif +# if HAVE_SYS_DIR_H +# include +# endif +# if HAVE_NDIR_H +# include +# endif +# endif +#endif + +#if HAVE_ARGZ_H +# include +#endif + +#if HAVE_ASSERT_H +# include +#else +# define assert(arg) ((void) 0) +#endif + +#include "ltdl.h" + +#if WITH_DMALLOC +# include +#endif + + + + +/* --- WINDOWS SUPPORT --- */ + +/* DLL building support on win32 hosts; mostly to workaround their + ridiculous implementation of data symbol exporting. */ +#ifndef LT_GLOBAL_DATA +# if defined(__WINDOWS__) || defined(__CYGWIN__) +# ifdef DLL_EXPORT /* defined by libtool (if required) */ +# define LT_GLOBAL_DATA __declspec(dllexport) +# endif +# endif +# ifndef LT_GLOBAL_DATA /* static linking or !__WINDOWS__ */ +# define LT_GLOBAL_DATA +# endif +#endif + +/* fopen() mode flags for reading a text file */ +#undef LT_READTEXT_MODE +#if defined(__WINDOWS__) || defined(__CYGWIN__) +# define LT_READTEXT_MODE "rt" +#else +# define LT_READTEXT_MODE "r" +#endif + +#ifdef LT_USE_WINDOWS_DIRENT_EMULATION + +#include + +#define dirent lt_dirent +#define DIR lt_DIR + +struct dirent +{ + char d_name[2048]; + int d_namlen; +}; + +typedef struct _DIR +{ + HANDLE hSearch; + WIN32_FIND_DATA Win32FindData; + BOOL firsttime; + struct dirent file_info; +} DIR; + +#endif /* LT_USE_WINDOWS_DIRENT_EMULATION */ + + +/* --- MANIFEST CONSTANTS --- */ + + +/* Standard libltdl search path environment variable name */ +#undef LTDL_SEARCHPATH_VAR +#define LTDL_SEARCHPATH_VAR "LTDL_LIBRARY_PATH" + +/* Standard libtool archive file extension. */ +#undef LTDL_ARCHIVE_EXT +#define LTDL_ARCHIVE_EXT ".la" + +/* max. filename length */ +#ifndef LT_FILENAME_MAX +# define LT_FILENAME_MAX 1024 +#endif + +/* This is the maximum symbol size that won't require malloc/free */ +#undef LT_SYMBOL_LENGTH +#define LT_SYMBOL_LENGTH 128 + +/* This accounts for the _LTX_ separator */ +#undef LT_SYMBOL_OVERHEAD +#define LT_SYMBOL_OVERHEAD 5 + + + + +/* --- MEMORY HANDLING --- */ + + +/* These are the functions used internally. In addition to making + use of the associated function pointers above, they also perform + error handling. */ +static char *lt_estrdup LT_PARAMS((const char *str)); +static lt_ptr lt_emalloc LT_PARAMS((size_t size)); +static lt_ptr lt_erealloc LT_PARAMS((lt_ptr addr, size_t size)); + +/* static lt_ptr rpl_realloc LT_PARAMS((lt_ptr ptr, size_t size)); */ +#define rpl_realloc realloc + +/* These are the pointers that can be changed by the caller: */ +LT_GLOBAL_DATA lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) + = (lt_ptr (*) LT_PARAMS((size_t))) malloc; +LT_GLOBAL_DATA lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)) + = (lt_ptr (*) LT_PARAMS((lt_ptr, size_t))) rpl_realloc; +LT_GLOBAL_DATA void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)) + = (void (*) LT_PARAMS((lt_ptr))) free; + +/* The following macros reduce the amount of typing needed to cast + assigned memory. */ +#if WITH_DMALLOC + +#define LT_DLMALLOC(tp, n) ((tp *) xmalloc ((n) * sizeof(tp))) +#define LT_DLREALLOC(tp, p, n) ((tp *) xrealloc ((p), (n) * sizeof(tp))) +#define LT_DLFREE(p) \ + LT_STMT_START { if (p) (p) = (xfree (p), (lt_ptr) 0); } LT_STMT_END + +#define LT_EMALLOC(tp, n) ((tp *) xmalloc ((n) * sizeof(tp))) +#define LT_EREALLOC(tp, p, n) ((tp *) xrealloc ((p), (n) * sizeof(tp))) + +#else + +#define LT_DLMALLOC(tp, n) ((tp *) lt_dlmalloc ((n) * sizeof(tp))) +#define LT_DLREALLOC(tp, p, n) ((tp *) lt_dlrealloc ((p), (n) * sizeof(tp))) +#define LT_DLFREE(p) \ + LT_STMT_START { if (p) (p) = (lt_dlfree (p), (lt_ptr) 0); } LT_STMT_END + +#define LT_EMALLOC(tp, n) ((tp *) lt_emalloc ((n) * sizeof(tp))) +#define LT_EREALLOC(tp, p, n) ((tp *) lt_erealloc ((p), (n) * sizeof(tp))) + +#endif + +#define LT_DLMEM_REASSIGN(p, q) LT_STMT_START { \ + if ((p) != (q)) { if (p) lt_dlfree (p); (p) = (q); (q) = 0; } \ + } LT_STMT_END + + +/* --- REPLACEMENT FUNCTIONS --- */ + + +#undef strdup +#define strdup rpl_strdup + +static char *strdup LT_PARAMS((const char *str)); + +static char * +strdup(str) + const char *str; +{ + char *tmp = 0; + + if (str) + { + tmp = LT_DLMALLOC (char, 1+ strlen (str)); + if (tmp) + { + strcpy(tmp, str); + } + } + + return tmp; +} + + +#if ! HAVE_STRCMP + +#undef strcmp +#define strcmp rpl_strcmp + +static int strcmp LT_PARAMS((const char *str1, const char *str2)); + +static int +strcmp (str1, str2) + const char *str1; + const char *str2; +{ + if (str1 == str2) + return 0; + if (str1 == 0) + return -1; + if (str2 == 0) + return 1; + + for (;*str1 && *str2; ++str1, ++str2) + { + if (*str1 != *str2) + break; + } + + return (int)(*str1 - *str2); +} +#endif + + +#if ! HAVE_STRCHR + +# if HAVE_INDEX +# define strchr index +# else +# define strchr rpl_strchr + +static const char *strchr LT_PARAMS((const char *str, int ch)); + +static const char* +strchr(str, ch) + const char *str; + int ch; +{ + const char *p; + + for (p = str; *p != (char)ch && *p != LT_EOS_CHAR; ++p) + /*NOWORK*/; + + return (*p == (char)ch) ? p : 0; +} + +# endif +#endif /* !HAVE_STRCHR */ + + +#if ! HAVE_STRRCHR + +# if HAVE_RINDEX +# define strrchr rindex +# else +# define strrchr rpl_strrchr + +static const char *strrchr LT_PARAMS((const char *str, int ch)); + +static const char* +strrchr(str, ch) + const char *str; + int ch; +{ + const char *p, *q = 0; + + for (p = str; *p != LT_EOS_CHAR; ++p) + { + if (*p == (char) ch) + { + q = p; + } + } + + return q; +} + +# endif +#endif + +/* NOTE: Neither bcopy nor the memcpy implementation below can + reliably handle copying in overlapping areas of memory. Use + memmove (for which there is a fallback implmentation below) + if you need that behaviour. */ +#if ! HAVE_MEMCPY + +# if HAVE_BCOPY +# define memcpy(dest, src, size) bcopy (src, dest, size) +# else +# define memcpy rpl_memcpy + +static lt_ptr memcpy LT_PARAMS((lt_ptr dest, const lt_ptr src, size_t size)); + +static lt_ptr +memcpy (dest, src, size) + lt_ptr dest; + const lt_ptr src; + size_t size; +{ + const char * s = src; + char * d = dest; + size_t i = 0; + + for (i = 0; i < size; ++i) + { + d[i] = s[i]; + } + + return dest; +} + +# endif /* !HAVE_BCOPY */ +#endif /* !HAVE_MEMCPY */ + +#if ! HAVE_MEMMOVE +# define memmove rpl_memmove + +static lt_ptr memmove LT_PARAMS((lt_ptr dest, const lt_ptr src, size_t size)); + +static lt_ptr +memmove (dest, src, size) + lt_ptr dest; + const lt_ptr src; + size_t size; +{ + const char * s = src; + char * d = dest; + size_t i; + + if (d < s) + for (i = 0; i < size; ++i) + { + d[i] = s[i]; + } + else if (d > s && size > 0) + for (i = size -1; ; --i) + { + d[i] = s[i]; + if (i == 0) + break; + } + + return dest; +} + +#endif /* !HAVE_MEMMOVE */ + +#ifdef LT_USE_WINDOWS_DIRENT_EMULATION + +static void closedir LT_PARAMS((DIR *entry)); + +static void +closedir(entry) + DIR *entry; +{ + assert(entry != (DIR *) NULL); + FindClose(entry->hSearch); + lt_dlfree((lt_ptr)entry); +} + + +static DIR * opendir LT_PARAMS((const char *path)); + +static DIR* +opendir (path) + const char *path; +{ + char file_specification[LT_FILENAME_MAX]; + DIR *entry; + + assert(path != (char *) NULL); + /* allow space for: path + '\\' '\\' '*' '.' '*' + '\0' */ + (void) strncpy (file_specification, path, LT_FILENAME_MAX-6); + file_specification[LT_FILENAME_MAX-6] = LT_EOS_CHAR; + (void) strcat(file_specification,"\\"); + entry = LT_DLMALLOC (DIR,sizeof(DIR)); + if (entry != (DIR *) 0) + { + entry->firsttime = TRUE; + entry->hSearch = FindFirstFile(file_specification,&entry->Win32FindData); + } + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + (void) strcat(file_specification,"\\*.*"); + entry->hSearch = FindFirstFile(file_specification,&entry->Win32FindData); + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + LT_DLFREE (entry); + return (DIR *) 0; + } + } + return(entry); +} + + +static struct dirent *readdir LT_PARAMS((DIR *entry)); + +static struct dirent *readdir(entry) + DIR *entry; +{ + int + status; + + if (entry == (DIR *) 0) + return((struct dirent *) 0); + if (!entry->firsttime) + { + status = FindNextFile(entry->hSearch,&entry->Win32FindData); + if (status == 0) + return((struct dirent *) 0); + } + entry->firsttime = FALSE; + (void) strncpy(entry->file_info.d_name,entry->Win32FindData.cFileName, + LT_FILENAME_MAX-1); + entry->file_info.d_name[LT_FILENAME_MAX - 1] = LT_EOS_CHAR; + entry->file_info.d_namlen = strlen(entry->file_info.d_name); + return(&entry->file_info); +} + +#endif /* LT_USE_WINDOWS_DIRENT_EMULATION */ + +/* According to Alexandre Oliva , + ``realloc is not entirely portable'' + In any case we want to use the allocator supplied by the user without + burdening them with an lt_dlrealloc function pointer to maintain. + Instead implement our own version (with known boundary conditions) + using lt_dlmalloc and lt_dlfree. */ + +/* #undef realloc + #define realloc rpl_realloc +*/ +#if 0 + /* You can't (re)define realloc unless you also (re)define malloc. + Right now, this code uses the size of the *destination* to decide + how much to copy. That's not right, but you can't know the size + of the source unless you know enough about, or wrote malloc. So + this code is disabled... */ + +static lt_ptr +realloc (ptr, size) + lt_ptr ptr; + size_t size; +{ + if (size == 0) + { + /* For zero or less bytes, free the original memory */ + if (ptr != 0) + { + lt_dlfree (ptr); + } + + return (lt_ptr) 0; + } + else if (ptr == 0) + { + /* Allow reallocation of a NULL pointer. */ + return lt_dlmalloc (size); + } + else + { + /* Allocate a new block, copy and free the old block. */ + lt_ptr mem = lt_dlmalloc (size); + + if (mem) + { + memcpy (mem, ptr, size); + lt_dlfree (ptr); + } + + /* Note that the contents of PTR are not damaged if there is + insufficient memory to realloc. */ + return mem; + } +} +#endif + + +#if ! HAVE_ARGZ_APPEND +# define argz_append rpl_argz_append + +static error_t argz_append LT_PARAMS((char **pargz, size_t *pargz_len, + const char *buf, size_t buf_len)); + +static error_t +argz_append (pargz, pargz_len, buf, buf_len) + char **pargz; + size_t *pargz_len; + const char *buf; + size_t buf_len; +{ + size_t argz_len; + char *argz; + + assert (pargz); + assert (pargz_len); + assert ((*pargz && *pargz_len) || (!*pargz && !*pargz_len)); + + /* If nothing needs to be appended, no more work is required. */ + if (buf_len == 0) + return 0; + + /* Ensure there is enough room to append BUF_LEN. */ + argz_len = *pargz_len + buf_len; + argz = LT_DLREALLOC (char, *pargz, argz_len); + if (!argz) + return ENOMEM; + + /* Copy characters from BUF after terminating '\0' in ARGZ. */ + memcpy (argz + *pargz_len, buf, buf_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} +#endif /* !HAVE_ARGZ_APPEND */ + + +#if ! HAVE_ARGZ_CREATE_SEP +# define argz_create_sep rpl_argz_create_sep + +static error_t argz_create_sep LT_PARAMS((const char *str, int delim, + char **pargz, size_t *pargz_len)); + +static error_t +argz_create_sep (str, delim, pargz, pargz_len) + const char *str; + int delim; + char **pargz; + size_t *pargz_len; +{ + size_t argz_len; + char *argz = 0; + + assert (str); + assert (pargz); + assert (pargz_len); + + /* Make a copy of STR, but replacing each occurrence of + DELIM with '\0'. */ + argz_len = 1+ LT_STRLEN (str); + if (argz_len) + { + const char *p; + char *q; + + argz = LT_DLMALLOC (char, argz_len); + if (!argz) + return ENOMEM; + + for (p = str, q = argz; *p != LT_EOS_CHAR; ++p) + { + if (*p == delim) + { + /* Ignore leading delimiters, and fold consecutive + delimiters in STR into a single '\0' in ARGZ. */ + if ((q > argz) && (q[-1] != LT_EOS_CHAR)) + *q++ = LT_EOS_CHAR; + else + --argz_len; + } + else + *q++ = *p; + } + /* Copy terminating LT_EOS_CHAR. */ + *q = *p; + } + + /* If ARGZ_LEN has shrunk to nothing, release ARGZ's memory. */ + if (!argz_len) + LT_DLFREE (argz); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} +#endif /* !HAVE_ARGZ_CREATE_SEP */ + + +#if ! HAVE_ARGZ_INSERT +# define argz_insert rpl_argz_insert + +static error_t argz_insert LT_PARAMS((char **pargz, size_t *pargz_len, + char *before, const char *entry)); + +static error_t +argz_insert (pargz, pargz_len, before, entry) + char **pargz; + size_t *pargz_len; + char *before; + const char *entry; +{ + assert (pargz); + assert (pargz_len); + assert (entry && *entry); + + /* No BEFORE address indicates ENTRY should be inserted after the + current last element. */ + if (!before) + return argz_append (pargz, pargz_len, entry, 1+ LT_STRLEN (entry)); + + /* This probably indicates a programmer error, but to preserve + semantics, scan back to the start of an entry if BEFORE points + into the middle of it. */ + while ((before > *pargz) && (before[-1] != LT_EOS_CHAR)) + --before; + + { + size_t entry_len = 1+ LT_STRLEN (entry); + size_t argz_len = *pargz_len + entry_len; + size_t offset = before - *pargz; + char *argz = LT_DLREALLOC (char, *pargz, argz_len); + + if (!argz) + return ENOMEM; + + /* Make BEFORE point to the equivalent offset in ARGZ that it + used to have in *PARGZ incase realloc() moved the block. */ + before = argz + offset; + + /* Move the ARGZ entries starting at BEFORE up into the new + space at the end -- making room to copy ENTRY into the + resulting gap. */ + memmove (before + entry_len, before, *pargz_len - offset); + memcpy (before, entry, entry_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + } + + return 0; +} +#endif /* !HAVE_ARGZ_INSERT */ + + +#if ! HAVE_ARGZ_NEXT +# define argz_next rpl_argz_next + +static char *argz_next LT_PARAMS((char *argz, size_t argz_len, + const char *entry)); + +static char * +argz_next (argz, argz_len, entry) + char *argz; + size_t argz_len; + const char *entry; +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (entry) + { + /* Either ARGZ/ARGZ_LEN is empty, or ENTRY points into an address + within the ARGZ vector. */ + assert ((!argz && !argz_len) + || ((argz <= entry) && (entry < (argz + argz_len)))); + + /* Move to the char immediately after the terminating + '\0' of ENTRY. */ + entry = 1+ strchr (entry, LT_EOS_CHAR); + + /* Return either the new ENTRY, or else NULL if ARGZ is + exhausted. */ + return (entry >= argz + argz_len) ? 0 : (char *) entry; + } + else + { + /* This should probably be flagged as a programmer error, + since starting an argz_next loop with the iterator set + to ARGZ is safer. To preserve semantics, handle the NULL + case by returning the start of ARGZ (if any). */ + if (argz_len > 0) + return argz; + else + return 0; + } +} +#endif /* !HAVE_ARGZ_NEXT */ + + + +#if ! HAVE_ARGZ_STRINGIFY +# define argz_stringify rpl_argz_stringify + +static void argz_stringify LT_PARAMS((char *argz, size_t argz_len, + int sep)); + +static void +argz_stringify (argz, argz_len, sep) + char *argz; + size_t argz_len; + int sep; +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (sep) + { + --argz_len; /* don't stringify the terminating EOS */ + while (--argz_len > 0) + { + if (argz[argz_len] == LT_EOS_CHAR) + argz[argz_len] = sep; + } + } +} +#endif /* !HAVE_ARGZ_STRINGIFY */ + + + + +/* --- TYPE DEFINITIONS -- */ + + +/* This type is used for the array of caller data sets in each handler. */ +typedef struct { + lt_dlcaller_id key; + lt_ptr data; +} lt_caller_data; + + + + +/* --- OPAQUE STRUCTURES DECLARED IN LTDL.H --- */ + + +/* Extract the diagnostic strings from the error table macro in the same + order as the enumerated indices in ltdl.h. */ + +static const char *lt_dlerror_strings[] = + { +#define LT_ERROR(name, diagnostic) (diagnostic), + lt_dlerror_table +#undef LT_ERROR + + 0 + }; + +/* This structure is used for the list of registered loaders. */ +struct lt_dlloader { + struct lt_dlloader *next; + const char *loader_name; /* identifying name for each loader */ + const char *sym_prefix; /* prefix for symbols */ + lt_module_open *module_open; + lt_module_close *module_close; + lt_find_sym *find_sym; + lt_dlloader_exit *dlloader_exit; + lt_user_data dlloader_data; +}; + +struct lt_dlhandle_struct { + struct lt_dlhandle_struct *next; + lt_dlloader *loader; /* dlopening interface */ + lt_dlinfo info; + int depcount; /* number of dependencies */ + lt_dlhandle *deplibs; /* dependencies */ + lt_module module; /* system module handle */ + lt_ptr system; /* system specific data */ + lt_caller_data *caller_data; /* per caller associated data */ + int flags; /* various boolean stats */ +}; + +/* Various boolean flags can be stored in the flags field of an + lt_dlhandle_struct... */ +#define LT_DLGET_FLAG(handle, flag) (((handle)->flags & (flag)) == (flag)) +#define LT_DLSET_FLAG(handle, flag) ((handle)->flags |= (flag)) + +#define LT_DLRESIDENT_FLAG (0x01 << 0) +/* ...add more flags here... */ + +#define LT_DLIS_RESIDENT(handle) LT_DLGET_FLAG(handle, LT_DLRESIDENT_FLAG) + + +#define LT_DLSTRERROR(name) lt_dlerror_strings[LT_CONC(LT_ERROR_,name)] + +static const char objdir[] = LTDL_OBJDIR; +static const char archive_ext[] = LTDL_ARCHIVE_EXT; +#ifdef LTDL_SHLIB_EXT +static const char shlib_ext[] = LTDL_SHLIB_EXT; +#endif +#ifdef LTDL_SYSSEARCHPATH +static const char sys_search_path[] = LTDL_SYSSEARCHPATH; +#endif + + + + +/* --- MUTEX LOCKING --- */ + + +/* Macros to make it easier to run the lock functions only if they have + been registered. The reason for the complicated lock macro is to + ensure that the stored error message from the last error is not + accidentally erased if the current function doesn't generate an + error of its own. */ +#define LT_DLMUTEX_LOCK() LT_STMT_START { \ + if (lt_dlmutex_lock_func) (*lt_dlmutex_lock_func)(); \ + } LT_STMT_END +#define LT_DLMUTEX_UNLOCK() LT_STMT_START { \ + if (lt_dlmutex_unlock_func) (*lt_dlmutex_unlock_func)();\ + } LT_STMT_END +#define LT_DLMUTEX_SETERROR(errormsg) LT_STMT_START { \ + if (lt_dlmutex_seterror_func) \ + (*lt_dlmutex_seterror_func) (errormsg); \ + else lt_dllast_error = (errormsg); } LT_STMT_END +#define LT_DLMUTEX_GETERROR(errormsg) LT_STMT_START { \ + if (lt_dlmutex_geterror_func) \ + (errormsg) = (*lt_dlmutex_geterror_func) (); \ + else (errormsg) = lt_dllast_error; } LT_STMT_END + +/* The mutex functions stored here are global, and are necessarily the + same for all threads that wish to share access to libltdl. */ +static lt_dlmutex_lock *lt_dlmutex_lock_func = 0; +static lt_dlmutex_unlock *lt_dlmutex_unlock_func = 0; +static lt_dlmutex_seterror *lt_dlmutex_seterror_func = 0; +static lt_dlmutex_geterror *lt_dlmutex_geterror_func = 0; +static const char *lt_dllast_error = 0; + + +/* Either set or reset the mutex functions. Either all the arguments must + be valid functions, or else all can be NULL to turn off locking entirely. + The registered functions should be manipulating a static global lock + from the lock() and unlock() callbacks, which needs to be reentrant. */ +int +lt_dlmutex_register (lock, unlock, seterror, geterror) + lt_dlmutex_lock *lock; + lt_dlmutex_unlock *unlock; + lt_dlmutex_seterror *seterror; + lt_dlmutex_geterror *geterror; +{ + lt_dlmutex_unlock *old_unlock = lt_dlmutex_unlock_func; + int errors = 0; + + /* Lock using the old lock() callback, if any. */ + LT_DLMUTEX_LOCK (); + + if ((lock && unlock && seterror && geterror) + || !(lock || unlock || seterror || geterror)) + { + lt_dlmutex_lock_func = lock; + lt_dlmutex_unlock_func = unlock; + lt_dlmutex_seterror_func = seterror; + lt_dlmutex_geterror_func = geterror; + } + else + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_MUTEX_ARGS)); + ++errors; + } + + /* Use the old unlock() callback we saved earlier, if any. Otherwise + record any errors using internal storage. */ + if (old_unlock) + (*old_unlock) (); + + /* Return the number of errors encountered during the execution of + this function. */ + return errors; +} + + + + +/* --- ERROR HANDLING --- */ + + +static const char **user_error_strings = 0; +static int errorcount = LT_ERROR_MAX; + +int +lt_dladderror (diagnostic) + const char *diagnostic; +{ + int errindex = 0; + int result = -1; + const char **temp = (const char **) 0; + + assert (diagnostic); + + LT_DLMUTEX_LOCK (); + + errindex = errorcount - LT_ERROR_MAX; + temp = LT_EREALLOC (const char *, user_error_strings, 1 + errindex); + if (temp) + { + user_error_strings = temp; + user_error_strings[errindex] = diagnostic; + result = errorcount++; + } + + LT_DLMUTEX_UNLOCK (); + + return result; +} + +int +lt_dlseterror (errindex) + int errindex; +{ + int errors = 0; + + LT_DLMUTEX_LOCK (); + + if (errindex >= errorcount || errindex < 0) + { + /* Ack! Error setting the error message! */ + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_ERRORCODE)); + ++errors; + } + else if (errindex < LT_ERROR_MAX) + { + /* No error setting the error message! */ + LT_DLMUTEX_SETERROR (lt_dlerror_strings[errindex]); + } + else + { + /* No error setting the error message! */ + LT_DLMUTEX_SETERROR (user_error_strings[errindex - LT_ERROR_MAX]); + } + + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +static lt_ptr +lt_emalloc (size) + size_t size; +{ + lt_ptr mem = lt_dlmalloc (size); + if (size && !mem) + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_MEMORY)); + return mem; +} + +static lt_ptr +lt_erealloc (addr, size) + lt_ptr addr; + size_t size; +{ + lt_ptr mem = lt_dlrealloc (addr, size); + if (size && !mem) + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_MEMORY)); + return mem; +} + +static char * +lt_estrdup (str) + const char *str; +{ + char *copy = strdup (str); + if (LT_STRLEN (str) && !copy) + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_MEMORY)); + return copy; +} + + + + +/* --- DLOPEN() INTERFACE LOADER --- */ + + +#if HAVE_LIBDL + +/* dynamic linking with dlopen/dlsym */ + +#if HAVE_DLFCN_H +# include +#endif + +#if HAVE_SYS_DL_H +# include +#endif + +/* We may have to define LT_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_LAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_LAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_LAZY_OR_NOW DL_LAZY +# endif +# endif /* !RTLD_LAZY */ +#endif +#ifndef LT_LAZY_OR_NOW +# ifdef RTLD_NOW +# define LT_LAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_LAZY_OR_NOW DL_NOW +# endif +# endif /* !RTLD_NOW */ +#endif +#ifndef LT_LAZY_OR_NOW +# define LT_LAZY_OR_NOW 0 +#endif /* !LT_LAZY_OR_NOW */ + +#if HAVE_DLERROR +# define DLERROR(arg) dlerror () +#else +# define DLERROR(arg) LT_DLSTRERROR (arg) +#endif + +static lt_module +sys_dl_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + lt_module module = dlopen (filename, LT_LAZY_OR_NOW); + + if (!module) + { + LT_DLMUTEX_SETERROR (DLERROR (CANNOT_OPEN)); + } + + return module; +} + +static int +sys_dl_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int errors = 0; + + if (dlclose (module) != 0) + { + LT_DLMUTEX_SETERROR (DLERROR (CANNOT_CLOSE)); + ++errors; + } + + return errors; +} + +static lt_ptr +sys_dl_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = dlsym (module, symbol); + + if (!address) + { + LT_DLMUTEX_SETERROR (DLERROR (SYMBOL_NOT_FOUND)); + } + + return address; +} + +static struct lt_user_dlloader sys_dl = + { +# ifdef NEED_USCORE + "_", +# else + 0, +# endif + sys_dl_open, sys_dl_close, sys_dl_sym, 0, 0 }; + + +#endif /* HAVE_LIBDL */ + + + +/* --- SHL_LOAD() INTERFACE LOADER --- */ + +#if HAVE_SHL_LOAD + +/* dynamic linking with shl_load (HP-UX) (comments from gmodule) */ + +#ifdef HAVE_DL_H +# include +#endif + +/* some flags are missing on some systems, so we provide + * harmless defaults. + * + * Mandatory: + * BIND_IMMEDIATE - Resolve symbol references when the library is loaded. + * BIND_DEFERRED - Delay code symbol resolution until actual reference. + * + * Optionally: + * BIND_FIRST - Place the library at the head of the symbol search + * order. + * BIND_NONFATAL - The default BIND_IMMEDIATE behavior is to treat all + * unsatisfied symbols as fatal. This flag allows + * binding of unsatisfied code symbols to be deferred + * until use. + * [Perl: For certain libraries, like DCE, deferred + * binding often causes run time problems. Adding + * BIND_NONFATAL to BIND_IMMEDIATE still allows + * unresolved references in situations like this.] + * BIND_NOSTART - Do not call the initializer for the shared library + * when the library is loaded, nor on a future call to + * shl_unload(). + * BIND_VERBOSE - Print verbose messages concerning possible + * unsatisfied symbols. + * + * hp9000s700/hp9000s800: + * BIND_RESTRICTED - Restrict symbols visible by the library to those + * present at library load time. + * DYNAMIC_PATH - Allow the loader to dynamically search for the + * library specified by the path argument. + */ + +#ifndef DYNAMIC_PATH +# define DYNAMIC_PATH 0 +#endif +#ifndef BIND_RESTRICTED +# define BIND_RESTRICTED 0 +#endif + +#define LT_BIND_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH) + +static lt_module +sys_shl_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + static shl_t self = (shl_t) 0; + lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L); + + /* Since searching for a symbol against a NULL module handle will also + look in everything else that was already loaded and exported with + the -E compiler flag, we always cache a handle saved before any + modules are loaded. */ + if (!self) + { + lt_ptr address; + shl_findsym (&self, "main", TYPE_UNDEFINED, &address); + } + + if (!filename) + { + module = self; + } + else + { + module = shl_load (filename, LT_BIND_FLAGS, 0L); + + if (!module) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); + } + } + + return module; +} + +static int +sys_shl_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int errors = 0; + + if (module && (shl_unload ((shl_t) (module)) != 0)) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_CLOSE)); + ++errors; + } + + return errors; +} + +static lt_ptr +sys_shl_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = 0; + + /* sys_shl_open should never return a NULL module handle */ + if (module == (lt_module) 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + } + else if (!shl_findsym((shl_t*) &module, symbol, TYPE_UNDEFINED, &address)) + { + if (!address) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + } + } + + return address; +} + +static struct lt_user_dlloader sys_shl = { + 0, sys_shl_open, sys_shl_close, sys_shl_sym, 0, 0 +}; + +#endif /* HAVE_SHL_LOAD */ + + + + +/* --- LOADLIBRARY() INTERFACE LOADER --- */ + +#ifdef __WINDOWS__ + +/* dynamic linking for Win32 */ + +#include + +/* Forward declaration; required to implement handle search below. */ +static lt_dlhandle handles; + +static lt_module +sys_wll_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + lt_dlhandle cur; + lt_module module = 0; + const char *errormsg = 0; + char *searchname = 0; + char *ext; + char self_name_buf[MAX_PATH]; + + if (!filename) + { + /* Get the name of main module */ + *self_name_buf = 0; + GetModuleFileName (NULL, self_name_buf, sizeof (self_name_buf)); + filename = ext = self_name_buf; + } + else + { + ext = strrchr (filename, '.'); + } + + if (ext) + { + /* FILENAME already has an extension. */ + searchname = lt_estrdup (filename); + } + else + { + /* Append a `.' to stop Windows from adding an + implicit `.dll' extension. */ + searchname = LT_EMALLOC (char, 2+ LT_STRLEN (filename)); + if (searchname) + sprintf (searchname, "%s.", filename); + } + if (!searchname) + return 0; + + { + /* Silence dialog from LoadLibrary on some failures. + No way to get the error mode, but to set it, + so set it twice to preserve any previous flags. */ + UINT errormode = SetErrorMode(SEM_FAILCRITICALERRORS); + SetErrorMode(errormode | SEM_FAILCRITICALERRORS); + +#if defined(__CYGWIN__) + { + char wpath[MAX_PATH]; + cygwin_conv_to_full_win32_path (searchname, wpath); + module = LoadLibrary (wpath); + } +#else + module = LoadLibrary (searchname); +#endif + + /* Restore the error mode. */ + SetErrorMode(errormode); + } + + LT_DLFREE (searchname); + + /* libltdl expects this function to fail if it is unable + to physically load the library. Sadly, LoadLibrary + will search the loaded libraries for a match and return + one of them if the path search load fails. + + We check whether LoadLibrary is returning a handle to + an already loaded module, and simulate failure if we + find one. */ + LT_DLMUTEX_LOCK (); + cur = handles; + while (cur) + { + if (!cur->module) + { + cur = 0; + break; + } + + if (cur->module == module) + { + break; + } + + cur = cur->next; + } + LT_DLMUTEX_UNLOCK (); + + if (cur || !module) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); + module = 0; + } + + return module; +} + +static int +sys_wll_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int errors = 0; + + if (FreeLibrary(module) == 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_CLOSE)); + ++errors; + } + + return errors; +} + +static lt_ptr +sys_wll_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = GetProcAddress (module, symbol); + + if (!address) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + } + + return address; +} + +static struct lt_user_dlloader sys_wll = { + 0, sys_wll_open, sys_wll_close, sys_wll_sym, 0, 0 +}; + +#endif /* __WINDOWS__ */ + + + + +/* --- LOAD_ADD_ON() INTERFACE LOADER --- */ + + +#ifdef __BEOS__ + +/* dynamic linking for BeOS */ + +#include + +static lt_module +sys_bedl_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + image_id image = 0; + + if (filename) + { + image = load_add_on (filename); + } + else + { + image_info info; + int32 cookie = 0; + if (get_next_image_info (0, &cookie, &info) == B_OK) + image = load_add_on (info.name); + } + + if (image <= 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); + image = 0; + } + + return (lt_module) image; +} + +static int +sys_bedl_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int errors = 0; + + if (unload_add_on ((image_id) module) != B_OK) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_CLOSE)); + ++errors; + } + + return errors; +} + +static lt_ptr +sys_bedl_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = 0; + image_id image = (image_id) module; + + if (get_image_symbol (image, symbol, B_SYMBOL_TYPE_ANY, address) != B_OK) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + address = 0; + } + + return address; +} + +static struct lt_user_dlloader sys_bedl = { + 0, sys_bedl_open, sys_bedl_close, sys_bedl_sym, 0, 0 +}; + +#endif /* __BEOS__ */ + + + + +/* --- DLD_LINK() INTERFACE LOADER --- */ + + +#if HAVE_DLD + +/* dynamic linking with dld */ + +#if HAVE_DLD_H +#include +#endif + +static lt_module +sys_dld_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + lt_module module = strdup (filename); + + if (dld_link (filename) != 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); + LT_DLFREE (module); + module = 0; + } + + return module; +} + +static int +sys_dld_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int errors = 0; + + if (dld_unlink_by_file ((char*)(module), 1) != 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_CLOSE)); + ++errors; + } + else + { + LT_DLFREE (module); + } + + return errors; +} + +static lt_ptr +sys_dld_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = dld_get_func (symbol); + + if (!address) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + } + + return address; +} + +static struct lt_user_dlloader sys_dld = { + 0, sys_dld_open, sys_dld_close, sys_dld_sym, 0, 0 +}; + +#endif /* HAVE_DLD */ + +/* --- DYLD() MACOSX/DARWIN INTERFACE LOADER --- */ +#if HAVE_DYLD + + +#if HAVE_MACH_O_DYLD_H +#if !defined(__APPLE_CC__) && !defined(__MWERKS__) && !defined(__private_extern__) +/* Is this correct? Does it still function properly? */ +#define __private_extern__ extern +#endif +# include +#endif +#include + +/* We have to put some stuff here that isn't in older dyld.h files */ +#ifndef ENUM_DYLD_BOOL +# define ENUM_DYLD_BOOL +# undef FALSE +# undef TRUE + enum DYLD_BOOL { + FALSE, + TRUE + }; +#endif +#ifndef LC_REQ_DYLD +# define LC_REQ_DYLD 0x80000000 +#endif +#ifndef LC_LOAD_WEAK_DYLIB +# define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) +#endif +static const struct mach_header * (*ltdl_NSAddImage)(const char *image_name, unsigned long options) = 0; +static NSSymbol (*ltdl_NSLookupSymbolInImage)(const struct mach_header *image,const char *symbolName, unsigned long options) = 0; +static enum DYLD_BOOL (*ltdl_NSIsSymbolNameDefinedInImage)(const struct mach_header *image, const char *symbolName) = 0; +static enum DYLD_BOOL (*ltdl_NSMakePrivateModulePublic)(NSModule module) = 0; + +#ifndef NSADDIMAGE_OPTION_NONE +#define NSADDIMAGE_OPTION_NONE 0x0 +#endif +#ifndef NSADDIMAGE_OPTION_RETURN_ON_ERROR +#define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 +#endif +#ifndef NSADDIMAGE_OPTION_WITH_SEARCHING +#define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 +#endif +#ifndef NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED +#define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 +#endif +#ifndef NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME +#define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 +#endif +#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND +#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 +#endif +#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW +#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 +#endif +#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY +#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 +#endif +#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR +#define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 +#endif + + +static const char * +lt_int_dyld_error(othererror) + char* othererror; +{ +/* return the dyld error string, or the passed in error string if none */ + NSLinkEditErrors ler; + int lerno; + const char *errstr; + const char *file; + NSLinkEditError(&ler,&lerno,&file,&errstr); + if (!errstr || !strlen(errstr)) errstr = othererror; + return errstr; +} + +static const struct mach_header * +lt_int_dyld_get_mach_header_from_nsmodule(module) + NSModule module; +{ +/* There should probably be an apple dyld api for this */ + int i=_dyld_image_count(); + int j; + const char *modname=NSNameOfModule(module); + const struct mach_header *mh=NULL; + if (!modname) return NULL; + for (j = 0; j < i; j++) + { + if (!strcmp(_dyld_get_image_name(j),modname)) + { + mh=_dyld_get_image_header(j); + break; + } + } + return mh; +} + +static const char* lt_int_dyld_lib_install_name(mh) + const struct mach_header *mh; +{ +/* NSAddImage is also used to get the loaded image, but it only works if the lib + is installed, for uninstalled libs we need to check the install_names against + each other. Note that this is still broken if DYLD_IMAGE_SUFFIX is set and a + different lib was loaded as a result +*/ + int j; + struct load_command *lc; + unsigned long offset = sizeof(struct mach_header); + const char* retStr=NULL; + for (j = 0; j < mh->ncmds; j++) + { + lc = (struct load_command*)(((unsigned long)mh) + offset); + if (LC_ID_DYLIB == lc->cmd) + { + retStr=(char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc); + } + offset += lc->cmdsize; + } + return retStr; +} + +static const struct mach_header * +lt_int_dyld_match_loaded_lib_by_install_name(const char *name) +{ + int i=_dyld_image_count(); + int j; + const struct mach_header *mh=NULL; + const char *id=NULL; + for (j = 0; j < i; j++) + { + id=lt_int_dyld_lib_install_name(_dyld_get_image_header(j)); + if ((id) && (!strcmp(id,name))) + { + mh=_dyld_get_image_header(j); + break; + } + } + return mh; +} + +static NSSymbol +lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh) + const char *symbol; + const struct mach_header *mh; +{ + /* Safe to assume our mh is good */ + int j; + struct load_command *lc; + unsigned long offset = sizeof(struct mach_header); + NSSymbol retSym = 0; + const struct mach_header *mh1; + if ((ltdl_NSLookupSymbolInImage) && NSIsSymbolNameDefined(symbol) ) + { + for (j = 0; j < mh->ncmds; j++) + { + lc = (struct load_command*)(((unsigned long)mh) + offset); + if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd)) + { + mh1=lt_int_dyld_match_loaded_lib_by_install_name((char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc)); + if (!mh1) + { + /* Maybe NSAddImage can find it */ + mh1=ltdl_NSAddImage((char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc), + NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED + + NSADDIMAGE_OPTION_WITH_SEARCHING + + NSADDIMAGE_OPTION_RETURN_ON_ERROR ); + } + if (mh1) + { + retSym = ltdl_NSLookupSymbolInImage(mh1, + symbol, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW + | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR + ); + if (retSym) break; + } + } + offset += lc->cmdsize; + } + } + return retSym; +} + +static int +sys_dyld_init() +{ + int retCode = 0; + int err = 0; + if (!_dyld_present()) { + retCode=1; + } + else { + err = _dyld_func_lookup("__dyld_NSAddImage",(unsigned long*)<dl_NSAddImage); + err = _dyld_func_lookup("__dyld_NSLookupSymbolInImage",(unsigned long*)<dl_NSLookupSymbolInImage); + err = _dyld_func_lookup("__dyld_NSIsSymbolNameDefinedInImage",(unsigned long*)<dl_NSIsSymbolNameDefinedInImage); + err = _dyld_func_lookup("__dyld_NSMakePrivateModulePublic",(unsigned long*)<dl_NSMakePrivateModulePublic); + } + return retCode; +} + +static lt_module +sys_dyld_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + lt_module module = 0; + NSObjectFileImage ofi = 0; + NSObjectFileImageReturnCode ofirc; + + if (!filename) + return (lt_module)-1; + ofirc = NSCreateObjectFileImageFromFile(filename, &ofi); + switch (ofirc) + { + case NSObjectFileImageSuccess: + module = NSLinkModule(ofi, filename, + NSLINKMODULE_OPTION_RETURN_ON_ERROR + | NSLINKMODULE_OPTION_PRIVATE + | NSLINKMODULE_OPTION_BINDNOW); + NSDestroyObjectFileImage(ofi); + if (module) + ltdl_NSMakePrivateModulePublic(module); + break; + case NSObjectFileImageInappropriateFile: + if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage) + { + module = (lt_module)ltdl_NSAddImage(filename, NSADDIMAGE_OPTION_RETURN_ON_ERROR); + break; + } + default: + LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN))); + return 0; + } + if (!module) LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN))); + return module; +} + +static int +sys_dyld_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + int retCode = 0; + int flags = 0; + if (module == (lt_module)-1) return 0; +#ifdef __BIG_ENDIAN__ + if (((struct mach_header *)module)->magic == MH_MAGIC) +#else + if (((struct mach_header *)module)->magic == MH_CIGAM) +#endif + { + LT_DLMUTEX_SETERROR("Can not close a dylib"); + retCode = 1; + } + else + { +#if 1 +/* Currently, if a module contains c++ static destructors and it is unloaded, we + get a segfault in atexit(), due to compiler and dynamic loader differences of + opinion, this works around that. +*/ + if ((const struct section *)NULL != + getsectbynamefromheader(lt_int_dyld_get_mach_header_from_nsmodule(module), + "__DATA","__mod_term_func")) + { + flags += NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED; + } +#endif +#ifdef __ppc__ + flags += NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES; +#endif + if (!NSUnLinkModule(module,flags)) + { + retCode=1; + LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_CLOSE))); + } + } + + return retCode; +} + +static lt_ptr +sys_dyld_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_ptr address = 0; + NSSymbol *nssym = 0; + void *unused; + const struct mach_header *mh=NULL; + char saveError[256] = "Symbol not found"; + if (module == (lt_module)-1) + { + _dyld_lookup_and_bind(symbol,(unsigned long*)&address,&unused); + return address; + } +#ifdef __BIG_ENDIAN__ + if (((struct mach_header *)module)->magic == MH_MAGIC) +#else + if (((struct mach_header *)module)->magic == MH_CIGAM) +#endif + { + if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage) + { + mh=module; + if (ltdl_NSIsSymbolNameDefinedInImage((struct mach_header*)module,symbol)) + { + nssym = ltdl_NSLookupSymbolInImage((struct mach_header*)module, + symbol, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW + | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR + ); + } + } + + } + else { + nssym = NSLookupSymbolInModule(module, symbol); + } + if (!nssym) + { + strncpy(saveError, lt_int_dyld_error(LT_DLSTRERROR(SYMBOL_NOT_FOUND)), 255); + saveError[255] = 0; + if (!mh) mh=lt_int_dyld_get_mach_header_from_nsmodule(module); + nssym = lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh); + } + if (!nssym) + { + LT_DLMUTEX_SETERROR (saveError); + return NULL; + } + return NSAddressOfSymbol(nssym); +} + +static struct lt_user_dlloader sys_dyld = + { "_", sys_dyld_open, sys_dyld_close, sys_dyld_sym, 0, 0 }; + + +#endif /* HAVE_DYLD */ + + +/* --- DLPREOPEN() INTERFACE LOADER --- */ + + +/* emulate dynamic linking using preloaded_symbols */ + +typedef struct lt_dlsymlists_t +{ + struct lt_dlsymlists_t *next; + const lt_dlsymlist *syms; +} lt_dlsymlists_t; + +static const lt_dlsymlist *default_preloaded_symbols = 0; +static lt_dlsymlists_t *preloaded_symbols = 0; + +static int +presym_init (loader_data) + lt_user_data loader_data; +{ + int errors = 0; + + LT_DLMUTEX_LOCK (); + + preloaded_symbols = 0; + if (default_preloaded_symbols) + { + errors = lt_dlpreload (default_preloaded_symbols); + } + + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +static int +presym_free_symlists () +{ + lt_dlsymlists_t *lists; + + LT_DLMUTEX_LOCK (); + + lists = preloaded_symbols; + while (lists) + { + lt_dlsymlists_t *tmp = lists; + + lists = lists->next; + LT_DLFREE (tmp); + } + preloaded_symbols = 0; + + LT_DLMUTEX_UNLOCK (); + + return 0; +} + +static int +presym_exit (loader_data) + lt_user_data loader_data; +{ + presym_free_symlists (); + return 0; +} + +static int +presym_add_symlist (preloaded) + const lt_dlsymlist *preloaded; +{ + lt_dlsymlists_t *tmp; + lt_dlsymlists_t *lists; + int errors = 0; + + LT_DLMUTEX_LOCK (); + + lists = preloaded_symbols; + while (lists) + { + if (lists->syms == preloaded) + { + goto done; + } + lists = lists->next; + } + + tmp = LT_EMALLOC (lt_dlsymlists_t, 1); + if (tmp) + { + memset (tmp, 0, sizeof(lt_dlsymlists_t)); + tmp->syms = preloaded; + tmp->next = preloaded_symbols; + preloaded_symbols = tmp; + } + else + { + ++errors; + } + + done: + LT_DLMUTEX_UNLOCK (); + return errors; +} + +static lt_module +presym_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; +{ + lt_dlsymlists_t *lists; + lt_module module = (lt_module) 0; + + LT_DLMUTEX_LOCK (); + lists = preloaded_symbols; + + if (!lists) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_SYMBOLS)); + goto done; + } + + /* Can't use NULL as the reflective symbol header, as NULL is + used to mark the end of the entire symbol list. Self-dlpreopened + symbols follow this magic number, chosen to be an unlikely + clash with a real module name. */ + if (!filename) + { + filename = "@PROGRAM@"; + } + + while (lists) + { + const lt_dlsymlist *syms = lists->syms; + + while (syms->name) + { + if (!syms->address && strcmp(syms->name, filename) == 0) + { + module = (lt_module) syms; + goto done; + } + ++syms; + } + + lists = lists->next; + } + + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + + done: + LT_DLMUTEX_UNLOCK (); + return module; +} + +static int +presym_close (loader_data, module) + lt_user_data loader_data; + lt_module module; +{ + /* Just to silence gcc -Wall */ + module = 0; + return 0; +} + +static lt_ptr +presym_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; +{ + lt_dlsymlist *syms = (lt_dlsymlist*) module; + + ++syms; + while (syms->address) + { + if (strcmp(syms->name, symbol) == 0) + { + return syms->address; + } + + ++syms; + } + + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + + return 0; +} + +static struct lt_user_dlloader presym = { + 0, presym_open, presym_close, presym_sym, presym_exit, 0 +}; + + + + + +/* --- DYNAMIC MODULE LOADING --- */ + + +/* The type of a function used at each iteration of foreach_dirinpath(). */ +typedef int foreach_callback_func LT_PARAMS((char *filename, lt_ptr data1, + lt_ptr data2)); + +static int foreach_dirinpath LT_PARAMS((const char *search_path, + const char *base_name, + foreach_callback_func *func, + lt_ptr data1, lt_ptr data2)); + +static int find_file_callback LT_PARAMS((char *filename, lt_ptr data, + lt_ptr ignored)); +static int find_handle_callback LT_PARAMS((char *filename, lt_ptr data, + lt_ptr ignored)); +static int foreachfile_callback LT_PARAMS((char *filename, lt_ptr data1, + lt_ptr data2)); + + +static int canonicalize_path LT_PARAMS((const char *path, + char **pcanonical)); +static int argzize_path LT_PARAMS((const char *path, + char **pargz, + size_t *pargz_len)); +static FILE *find_file LT_PARAMS((const char *search_path, + const char *base_name, + char **pdir)); +static lt_dlhandle *find_handle LT_PARAMS((const char *search_path, + const char *base_name, + lt_dlhandle *handle)); +static int find_module LT_PARAMS((lt_dlhandle *handle, + const char *dir, + const char *libdir, + const char *dlname, + const char *old_name, + int installed)); +static int free_vars LT_PARAMS((char *dlname, char *oldname, + char *libdir, char *deplibs)); +static int load_deplibs LT_PARAMS((lt_dlhandle handle, + char *deplibs)); +static int trim LT_PARAMS((char **dest, + const char *str)); +static int try_dlopen LT_PARAMS((lt_dlhandle *handle, + const char *filename)); +static int tryall_dlopen LT_PARAMS((lt_dlhandle *handle, + const char *filename)); +static int unload_deplibs LT_PARAMS((lt_dlhandle handle)); +static int lt_argz_insert LT_PARAMS((char **pargz, + size_t *pargz_len, + char *before, + const char *entry)); +static int lt_argz_insertinorder LT_PARAMS((char **pargz, + size_t *pargz_len, + const char *entry)); +static int lt_argz_insertdir LT_PARAMS((char **pargz, + size_t *pargz_len, + const char *dirnam, + struct dirent *dp)); +static int lt_dlpath_insertdir LT_PARAMS((char **ppath, + char *before, + const char *dir)); +static int list_files_by_dir LT_PARAMS((const char *dirnam, + char **pargz, + size_t *pargz_len)); +static int file_not_found LT_PARAMS((void)); + +static char *user_search_path= 0; +static lt_dlloader *loaders = 0; +static lt_dlhandle handles = 0; +static int initialized = 0; + +/* Initialize libltdl. */ +int +lt_dlinit () +{ + int errors = 0; + + LT_DLMUTEX_LOCK (); + + /* Initialize only at first call. */ + if (++initialized == 1) + { + handles = 0; + user_search_path = 0; /* empty search path */ + +#if HAVE_LIBDL + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dl, "dlopen"); +#endif +#if HAVE_SHL_LOAD + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_shl, "dlopen"); +#endif +#ifdef __WINDOWS__ + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_wll, "dlopen"); +#endif +#ifdef __BEOS__ + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_bedl, "dlopen"); +#endif +#if HAVE_DLD + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dld, "dld"); +#endif +#if HAVE_DYLD + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dyld, "dyld"); + errors += sys_dyld_init(); +#endif + errors += lt_dlloader_add (lt_dlloader_next (0), &presym, "dlpreload"); + + if (presym_init (presym.dlloader_data)) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INIT_LOADER)); + ++errors; + } + else if (errors != 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (DLOPEN_NOT_SUPPORTED)); + ++errors; + } + } + + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +int +lt_dlpreload (preloaded) + const lt_dlsymlist *preloaded; +{ + int errors = 0; + + if (preloaded) + { + errors = presym_add_symlist (preloaded); + } + else + { + presym_free_symlists(); + + LT_DLMUTEX_LOCK (); + if (default_preloaded_symbols) + { + errors = lt_dlpreload (default_preloaded_symbols); + } + LT_DLMUTEX_UNLOCK (); + } + + return errors; +} + +int +lt_dlpreload_default (preloaded) + const lt_dlsymlist *preloaded; +{ + LT_DLMUTEX_LOCK (); + default_preloaded_symbols = preloaded; + LT_DLMUTEX_UNLOCK (); + return 0; +} + +int +lt_dlexit () +{ + /* shut down libltdl */ + lt_dlloader *loader; + int errors = 0; + + LT_DLMUTEX_LOCK (); + loader = loaders; + + if (!initialized) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SHUTDOWN)); + ++errors; + goto done; + } + + /* shut down only at last call. */ + if (--initialized == 0) + { + int level; + + while (handles && LT_DLIS_RESIDENT (handles)) + { + handles = handles->next; + } + + /* close all modules */ + for (level = 1; handles; ++level) + { + lt_dlhandle cur = handles; + int saw_nonresident = 0; + + while (cur) + { + lt_dlhandle tmp = cur; + cur = cur->next; + if (!LT_DLIS_RESIDENT (tmp)) + saw_nonresident = 1; + if (!LT_DLIS_RESIDENT (tmp) && tmp->info.ref_count <= level) + { + if (lt_dlclose (tmp)) + { + ++errors; + } + /* Make sure that the handle pointed to by 'cur' still exists. + lt_dlclose recursively closes dependent libraries which removes + them from the linked list. One of these might be the one + pointed to by 'cur'. */ + if (cur) + { + for (tmp = handles; tmp; tmp = tmp->next) + if (tmp == cur) + break; + if (! tmp) + cur = handles; + } + } + } + /* done if only resident modules are left */ + if (!saw_nonresident) + break; + } + + /* close all loaders */ + while (loader) + { + lt_dlloader *next = loader->next; + lt_user_data data = loader->dlloader_data; + if (loader->dlloader_exit && loader->dlloader_exit (data)) + { + ++errors; + } + + LT_DLMEM_REASSIGN (loader, next); + } + loaders = 0; + } + + done: + LT_DLMUTEX_UNLOCK (); + return errors; +} + +static int +tryall_dlopen (handle, filename) + lt_dlhandle *handle; + const char *filename; +{ + lt_dlhandle cur; + lt_dlloader *loader; + const char *saved_error; + int errors = 0; + + LT_DLMUTEX_GETERROR (saved_error); + LT_DLMUTEX_LOCK (); + + cur = handles; + loader = loaders; + + /* check whether the module was already opened */ + while (cur) + { + /* try to dlopen the program itself? */ + if (!cur->info.filename && !filename) + { + break; + } + + if (cur->info.filename && filename + && strcmp (cur->info.filename, filename) == 0) + { + break; + } + + cur = cur->next; + } + + if (cur) + { + ++cur->info.ref_count; + *handle = cur; + goto done; + } + + cur = *handle; + if (filename) + { + /* Comment out the check of file permissions using access. + This call seems to always return -1 with error EACCES. + */ + /* We need to catch missing file errors early so that + file_not_found() can detect what happened. + if (access (filename, R_OK) != 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + ++errors; + goto done; + } */ + + cur->info.filename = lt_estrdup (filename); + if (!cur->info.filename) + { + ++errors; + goto done; + } + } + else + { + cur->info.filename = 0; + } + + while (loader) + { + lt_user_data data = loader->dlloader_data; + + cur->module = loader->module_open (data, filename); + + if (cur->module != 0) + { + break; + } + loader = loader->next; + } + + if (!loader) + { + LT_DLFREE (cur->info.filename); + ++errors; + goto done; + } + + cur->loader = loader; + LT_DLMUTEX_SETERROR (saved_error); + + done: + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +static int +tryall_dlopen_module (handle, prefix, dirname, dlname) + lt_dlhandle *handle; + const char *prefix; + const char *dirname; + const char *dlname; +{ + int error = 0; + char *filename = 0; + size_t filename_len = 0; + size_t dirname_len = LT_STRLEN (dirname); + + assert (handle); + assert (dirname); + assert (dlname); +#ifdef LT_DIRSEP_CHAR + /* Only canonicalized names (i.e. with DIRSEP chars already converted) + should make it into this function: */ + assert (strchr (dirname, LT_DIRSEP_CHAR) == 0); +#endif + + if (dirname_len > 0) + if (dirname[dirname_len -1] == '/') + --dirname_len; + filename_len = dirname_len + 1 + LT_STRLEN (dlname); + + /* Allocate memory, and combine DIRNAME and MODULENAME into it. + The PREFIX (if any) is handled below. */ + filename = LT_EMALLOC (char, dirname_len + 1 + filename_len + 1); + if (!filename) + return 1; + + sprintf (filename, "%.*s/%s", (int) dirname_len, dirname, dlname); + + /* Now that we have combined DIRNAME and MODULENAME, if there is + also a PREFIX to contend with, simply recurse with the arguments + shuffled. Otherwise, attempt to open FILENAME as a module. */ + if (prefix) + { + error += tryall_dlopen_module (handle, + (const char *) 0, prefix, filename); + } + else if (tryall_dlopen (handle, filename) != 0) + { + ++error; + } + + LT_DLFREE (filename); + return error; +} + +static int +find_module (handle, dir, libdir, dlname, old_name, installed) + lt_dlhandle *handle; + const char *dir; + const char *libdir; + const char *dlname; + const char *old_name; + int installed; +{ + /* Try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available. */ + if (old_name && tryall_dlopen (handle, old_name) == 0) + { + return 0; + } + + /* Try to open the dynamic library. */ + if (dlname) + { + /* try to open the installed module */ + if (installed && libdir) + { + if (tryall_dlopen_module (handle, + (const char *) 0, libdir, dlname) == 0) + return 0; + } + + /* try to open the not-installed module */ + if (!installed) + { + if (tryall_dlopen_module (handle, dir, objdir, dlname) == 0) + return 0; + } + + /* maybe it was moved to another directory */ + { + if (dir && (tryall_dlopen_module (handle, + (const char *) 0, dir, dlname) == 0)) + return 0; + } + } + + return 1; +} + + +static int +canonicalize_path (path, pcanonical) + const char *path; + char **pcanonical; +{ + char *canonical = 0; + + assert (path && *path); + assert (pcanonical); + + canonical = LT_EMALLOC (char, 1+ LT_STRLEN (path)); + if (!canonical) + return 1; + + { + size_t dest = 0; + size_t src; + for (src = 0; path[src] != LT_EOS_CHAR; ++src) + { + /* Path separators are not copied to the beginning or end of + the destination, or if another separator would follow + immediately. */ + if (path[src] == LT_PATHSEP_CHAR) + { + if ((dest == 0) + || (path[1+ src] == LT_PATHSEP_CHAR) + || (path[1+ src] == LT_EOS_CHAR)) + continue; + } + + /* Anything other than a directory separator is copied verbatim. */ + if ((path[src] != '/') +#ifdef LT_DIRSEP_CHAR + && (path[src] != LT_DIRSEP_CHAR) +#endif + ) + { + canonical[dest++] = path[src]; + } + /* Directory separators are converted and copied only if they are + not at the end of a path -- i.e. before a path separator or + NULL terminator. */ + else if ((path[1+ src] != LT_PATHSEP_CHAR) + && (path[1+ src] != LT_EOS_CHAR) +#ifdef LT_DIRSEP_CHAR + && (path[1+ src] != LT_DIRSEP_CHAR) +#endif + && (path[1+ src] != '/')) + { + canonical[dest++] = '/'; + } + } + + /* Add an end-of-string marker at the end. */ + canonical[dest] = LT_EOS_CHAR; + } + + /* Assign new value. */ + *pcanonical = canonical; + + return 0; +} + +static int +argzize_path (path, pargz, pargz_len) + const char *path; + char **pargz; + size_t *pargz_len; +{ + error_t error; + + assert (path); + assert (pargz); + assert (pargz_len); + + if ((error = argz_create_sep (path, LT_PATHSEP_CHAR, pargz, pargz_len))) + { + switch (error) + { + case ENOMEM: + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_MEMORY)); + break; + default: + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (UNKNOWN)); + break; + } + + return 1; + } + + return 0; +} + +/* Repeatedly call FUNC with each LT_PATHSEP_CHAR delimited element + of SEARCH_PATH and references to DATA1 and DATA2, until FUNC returns + non-zero or all elements are exhausted. If BASE_NAME is non-NULL, + it is appended to each SEARCH_PATH element before FUNC is called. */ +static int +foreach_dirinpath (search_path, base_name, func, data1, data2) + const char *search_path; + const char *base_name; + foreach_callback_func *func; + lt_ptr data1; + lt_ptr data2; +{ + int result = 0; + int filenamesize = 0; + size_t lenbase = LT_STRLEN (base_name); + size_t argz_len = 0; + char *argz = 0; + char *filename = 0; + char *canonical = 0; + + LT_DLMUTEX_LOCK (); + + if (!search_path || !*search_path) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + goto cleanup; + } + + if (canonicalize_path (search_path, &canonical) != 0) + goto cleanup; + + if (argzize_path (canonical, &argz, &argz_len) != 0) + goto cleanup; + + { + char *dir_name = 0; + while ((dir_name = argz_next (argz, argz_len, dir_name))) + { + size_t lendir = LT_STRLEN (dir_name); + + if (lendir +1 +lenbase >= filenamesize) + { + LT_DLFREE (filename); + filenamesize = lendir +1 +lenbase +1; /* "/d" + '/' + "f" + '\0' */ + filename = LT_EMALLOC (char, filenamesize); + if (!filename) + goto cleanup; + } + + assert (filenamesize > lendir); + strcpy (filename, dir_name); + + if (base_name && *base_name) + { + if (filename[lendir -1] != '/') + filename[lendir++] = '/'; + strcpy (filename +lendir, base_name); + } + + if ((result = (*func) (filename, data1, data2))) + { + break; + } + } + } + + cleanup: + LT_DLFREE (argz); + LT_DLFREE (canonical); + LT_DLFREE (filename); + + LT_DLMUTEX_UNLOCK (); + + return result; +} + +/* If FILEPATH can be opened, store the name of the directory component + in DATA1, and the opened FILE* structure address in DATA2. Otherwise + DATA1 is unchanged, but DATA2 is set to a pointer to NULL. */ +static int +find_file_callback (filename, data1, data2) + char *filename; + lt_ptr data1; + lt_ptr data2; +{ + char **pdir = (char **) data1; + FILE **pfile = (FILE **) data2; + int is_done = 0; + + assert (filename && *filename); + assert (pdir); + assert (pfile); + + if ((*pfile = fopen (filename, LT_READTEXT_MODE))) + { + char *dirend = strrchr (filename, '/'); + + if (dirend > filename) + *dirend = LT_EOS_CHAR; + + LT_DLFREE (*pdir); + *pdir = lt_estrdup (filename); + is_done = (*pdir == 0) ? -1 : 1; + } + + return is_done; +} + +static FILE * +find_file (search_path, base_name, pdir) + const char *search_path; + const char *base_name; + char **pdir; +{ + FILE *file = 0; + + foreach_dirinpath (search_path, base_name, find_file_callback, pdir, &file); + + return file; +} + +static int +find_handle_callback (filename, data, ignored) + char *filename; + lt_ptr data; + lt_ptr ignored; +{ + lt_dlhandle *handle = (lt_dlhandle *) data; + int notfound = access (filename, R_OK); + + /* Bail out if file cannot be read... */ + if (notfound) + return 0; + + /* Try to dlopen the file, but do not continue searching in any + case. */ + if (tryall_dlopen (handle, filename) != 0) + *handle = 0; + + return 1; +} + +/* If HANDLE was found return it, otherwise return 0. If HANDLE was + found but could not be opened, *HANDLE will be set to 0. */ +static lt_dlhandle * +find_handle (search_path, base_name, handle) + const char *search_path; + const char *base_name; + lt_dlhandle *handle; +{ + if (!search_path) + return 0; + + if (!foreach_dirinpath (search_path, base_name, find_handle_callback, + handle, 0)) + return 0; + + return handle; +} + +static int +load_deplibs (handle, deplibs) + lt_dlhandle handle; + char *deplibs; +{ +#if LTDL_DLOPEN_DEPLIBS + char *p, *save_search_path = 0; + int depcount = 0; + int i; + char **names = 0; +#endif + int errors = 0; + + handle->depcount = 0; + +#if LTDL_DLOPEN_DEPLIBS + if (!deplibs) + { + return errors; + } + ++errors; + + LT_DLMUTEX_LOCK (); + if (user_search_path) + { + save_search_path = lt_estrdup (user_search_path); + if (!save_search_path) + goto cleanup; + } + + /* extract search paths and count deplibs */ + p = deplibs; + while (*p) + { + if (!isspace ((int) *p)) + { + char *end = p+1; + while (*end && !isspace((int) *end)) + { + ++end; + } + + if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0) + { + char save = *end; + *end = 0; /* set a temporary string terminator */ + if (lt_dladdsearchdir(p+2)) + { + goto cleanup; + } + *end = save; + } + else + { + ++depcount; + } + + p = end; + } + else + { + ++p; + } + } + + if (!depcount) + { + errors = 0; + goto cleanup; + } + + names = LT_EMALLOC (char *, depcount * sizeof (char*)); + if (!names) + goto cleanup; + + /* now only extract the actual deplibs */ + depcount = 0; + p = deplibs; + while (*p) + { + if (isspace ((int) *p)) + { + ++p; + } + else + { + char *end = p+1; + while (*end && !isspace ((int) *end)) + { + ++end; + } + + if (strncmp(p, "-L", 2) != 0 && strncmp(p, "-R", 2) != 0) + { + char *name; + char save = *end; + *end = 0; /* set a temporary string terminator */ + if (strncmp(p, "-l", 2) == 0) + { + size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2); + name = LT_EMALLOC (char, 1+ name_len); + if (name) + sprintf (name, "lib%s", p+2); + } + else + name = lt_estrdup(p); + + if (!name) + goto cleanup_names; + + names[depcount++] = name; + *end = save; + } + p = end; + } + } + + /* load the deplibs (in reverse order) + At this stage, don't worry if the deplibs do not load correctly, + they may already be statically linked into the loading application + for instance. There will be a more enlightening error message + later on if the loaded module cannot resolve all of its symbols. */ + if (depcount) + { + int j = 0; + + handle->deplibs = (lt_dlhandle*) LT_EMALLOC (lt_dlhandle *, depcount); + if (!handle->deplibs) + goto cleanup_names; + + for (i = 0; i < depcount; ++i) + { + handle->deplibs[j] = lt_dlopenext(names[depcount-1-i]); + if (handle->deplibs[j]) + { + ++j; + } + } + + handle->depcount = j; /* Number of successfully loaded deplibs */ + errors = 0; + } + + cleanup_names: + for (i = 0; i < depcount; ++i) + { + LT_DLFREE (names[i]); + } + + cleanup: + LT_DLFREE (names); + /* restore the old search path */ + if (user_search_path) { + LT_DLFREE (user_search_path); + user_search_path = save_search_path; + } + LT_DLMUTEX_UNLOCK (); + +#endif + + return errors; +} + +static int +unload_deplibs (handle) + lt_dlhandle handle; +{ + int i; + int errors = 0; + + if (handle->depcount) + { + for (i = 0; i < handle->depcount; ++i) + { + if (!LT_DLIS_RESIDENT (handle->deplibs[i])) + { + errors += lt_dlclose (handle->deplibs[i]); + } + } + LT_DLFREE (handle->deplibs); + } + + return errors; +} + +static int +trim (dest, str) + char **dest; + const char *str; +{ + /* remove the leading and trailing "'" from str + and store the result in dest */ + const char *end = strrchr (str, '\''); + size_t len = LT_STRLEN (str); + char *tmp; + + LT_DLFREE (*dest); + + if (!end) + return 1; + + if (len > 3 && str[0] == '\'') + { + tmp = LT_EMALLOC (char, end - str); + if (!tmp) + return 1; + + strncpy(tmp, &str[1], (end - str) - 1); + tmp[len-3] = LT_EOS_CHAR; + *dest = tmp; + } + else + { + *dest = 0; + } + + return 0; +} + +static int +free_vars (dlname, oldname, libdir, deplibs) + char *dlname; + char *oldname; + char *libdir; + char *deplibs; +{ + LT_DLFREE (dlname); + LT_DLFREE (oldname); + LT_DLFREE (libdir); + LT_DLFREE (deplibs); + + return 0; +} + +static int +try_dlopen (phandle, filename) + lt_dlhandle *phandle; + const char *filename; +{ + const char * ext = 0; + const char * saved_error = 0; + char * canonical = 0; + char * base_name = 0; + char * dir = 0; + char * name = 0; + int errors = 0; + lt_dlhandle newhandle; + + assert (phandle); + assert (*phandle == 0); + + LT_DLMUTEX_GETERROR (saved_error); + + /* dlopen self? */ + if (!filename) + { + *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); + if (*phandle == 0) + return 1; + + memset (*phandle, 0, sizeof(struct lt_dlhandle_struct)); + newhandle = *phandle; + + /* lt_dlclose()ing yourself is very bad! Disallow it. */ + LT_DLSET_FLAG (*phandle, LT_DLRESIDENT_FLAG); + + if (tryall_dlopen (&newhandle, 0) != 0) + { + LT_DLFREE (*phandle); + return 1; + } + + goto register_handle; + } + + assert (filename && *filename); + + /* Doing this immediately allows internal functions to safely + assume only canonicalized paths are passed. */ + if (canonicalize_path (filename, &canonical) != 0) + { + ++errors; + goto cleanup; + } + + /* If the canonical module name is a path (relative or absolute) + then split it into a directory part and a name part. */ + base_name = strrchr (canonical, '/'); + if (base_name) + { + size_t dirlen = (1+ base_name) - canonical; + + dir = LT_EMALLOC (char, 1+ dirlen); + if (!dir) + { + ++errors; + goto cleanup; + } + + strncpy (dir, canonical, dirlen); + dir[dirlen] = LT_EOS_CHAR; + + ++base_name; + } + else + base_name = canonical; + + assert (base_name && *base_name); + + /* Check whether we are opening a libtool module (.la extension). */ + ext = strrchr (base_name, '.'); + if (ext && strcmp (ext, archive_ext) == 0) + { + /* this seems to be a libtool module */ + FILE * file = 0; + char * dlname = 0; + char * old_name = 0; + char * libdir = 0; + char * deplibs = 0; + char * line = 0; + size_t line_len; + + /* if we can't find the installed flag, it is probably an + installed libtool archive, produced with an old version + of libtool */ + int installed = 1; + + /* extract the module name from the file name */ + name = LT_EMALLOC (char, ext - base_name + 1); + if (!name) + { + ++errors; + goto cleanup; + } + + /* canonicalize the module name */ + { + size_t i; + for (i = 0; i < ext - base_name; ++i) + { + if (isalnum ((int)(base_name[i]))) + { + name[i] = base_name[i]; + } + else + { + name[i] = '_'; + } + } + name[ext - base_name] = LT_EOS_CHAR; + } + + /* Now try to open the .la file. If there is no directory name + component, try to find it first in user_search_path and then other + prescribed paths. Otherwise (or in any case if the module was not + yet found) try opening just the module name as passed. */ + if (!dir) + { + const char *search_path; + + LT_DLMUTEX_LOCK (); + search_path = user_search_path; + if (search_path) + file = find_file (user_search_path, base_name, &dir); + LT_DLMUTEX_UNLOCK (); + + if (!file) + { + search_path = getenv (LTDL_SEARCHPATH_VAR); + if (search_path) + file = find_file (search_path, base_name, &dir); + } + +#ifdef LTDL_SHLIBPATH_VAR + if (!file) + { + search_path = getenv (LTDL_SHLIBPATH_VAR); + if (search_path) + file = find_file (search_path, base_name, &dir); + } +#endif +#ifdef LTDL_SYSSEARCHPATH + if (!file && sys_search_path) + { + file = find_file (sys_search_path, base_name, &dir); + } +#endif + } + if (!file) + { + file = fopen (filename, LT_READTEXT_MODE); + } + + /* If we didn't find the file by now, it really isn't there. Set + the status flag, and bail out. */ + if (!file) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + ++errors; + goto cleanup; + } + + line_len = LT_FILENAME_MAX; + line = LT_EMALLOC (char, line_len); + if (!line) + { + fclose (file); + ++errors; + goto cleanup; + } + + /* read the .la file */ + while (!feof (file)) + { + if (!fgets (line, (int) line_len, file)) + { + break; + } + + /* Handle the case where we occasionally need to read a line + that is longer than the initial buffer size. */ + while ((line[LT_STRLEN(line) -1] != '\n') && (!feof (file))) + { + line = LT_DLREALLOC (char, line, line_len *2); + if (!fgets (&line[line_len -1], (int) line_len +1, file)) + { + break; + } + line_len *= 2; + } + + if (line[0] == '\n' || line[0] == '#') + { + continue; + } + +#undef STR_DLNAME +#define STR_DLNAME "dlname=" + if (strncmp (line, STR_DLNAME, sizeof (STR_DLNAME) - 1) == 0) + { + errors += trim (&dlname, &line[sizeof (STR_DLNAME) - 1]); + } + +#undef STR_OLD_LIBRARY +#define STR_OLD_LIBRARY "old_library=" + else if (strncmp (line, STR_OLD_LIBRARY, + sizeof (STR_OLD_LIBRARY) - 1) == 0) + { + errors += trim (&old_name, &line[sizeof (STR_OLD_LIBRARY) - 1]); + } +#undef STR_LIBDIR +#define STR_LIBDIR "libdir=" + else if (strncmp (line, STR_LIBDIR, sizeof (STR_LIBDIR) - 1) == 0) + { + errors += trim (&libdir, &line[sizeof(STR_LIBDIR) - 1]); + } + +#undef STR_DL_DEPLIBS +#define STR_DL_DEPLIBS "dependency_libs=" + else if (strncmp (line, STR_DL_DEPLIBS, + sizeof (STR_DL_DEPLIBS) - 1) == 0) + { + errors += trim (&deplibs, &line[sizeof (STR_DL_DEPLIBS) - 1]); + } + else if (strcmp (line, "installed=yes\n") == 0) + { + installed = 1; + } + else if (strcmp (line, "installed=no\n") == 0) + { + installed = 0; + } + +#undef STR_LIBRARY_NAMES +#define STR_LIBRARY_NAMES "library_names=" + else if (! dlname && strncmp (line, STR_LIBRARY_NAMES, + sizeof (STR_LIBRARY_NAMES) - 1) == 0) + { + char *last_libname; + errors += trim (&dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]); + if (!errors + && dlname + && (last_libname = strrchr (dlname, ' ')) != 0) + { + last_libname = lt_estrdup (last_libname + 1); + if (!last_libname) + { + ++errors; + goto cleanup; + } + LT_DLMEM_REASSIGN (dlname, last_libname); + } + } + + if (errors) + break; + } + + fclose (file); + LT_DLFREE (line); + + /* allocate the handle */ + *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); + if (*phandle == 0) + ++errors; + + if (errors) + { + free_vars (dlname, old_name, libdir, deplibs); + LT_DLFREE (*phandle); + goto cleanup; + } + + assert (*phandle); + + memset (*phandle, 0, sizeof(struct lt_dlhandle_struct)); + if (load_deplibs (*phandle, deplibs) == 0) + { + newhandle = *phandle; + /* find_module may replace newhandle */ + if (find_module (&newhandle, dir, libdir, dlname, old_name, installed)) + { + unload_deplibs (*phandle); + ++errors; + } + } + else + { + ++errors; + } + + free_vars (dlname, old_name, libdir, deplibs); + if (errors) + { + LT_DLFREE (*phandle); + goto cleanup; + } + + if (*phandle != newhandle) + { + unload_deplibs (*phandle); + } + } + else + { + /* not a libtool module */ + *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); + if (*phandle == 0) + { + ++errors; + goto cleanup; + } + + memset (*phandle, 0, sizeof (struct lt_dlhandle_struct)); + newhandle = *phandle; + + /* If the module has no directory name component, try to find it + first in user_search_path and then other prescribed paths. + Otherwise (or in any case if the module was not yet found) try + opening just the module name as passed. */ + if ((dir || (!find_handle (user_search_path, base_name, &newhandle) + && !find_handle (getenv (LTDL_SEARCHPATH_VAR), base_name, + &newhandle) +#ifdef LTDL_SHLIBPATH_VAR + && !find_handle (getenv (LTDL_SHLIBPATH_VAR), base_name, + &newhandle) +#endif +#ifdef LTDL_SYSSEARCHPATH + && !find_handle (sys_search_path, base_name, &newhandle) +#endif + ))) + { + if (tryall_dlopen (&newhandle, filename) != 0) + { + newhandle = NULL; + } + } + + if (!newhandle) + { + LT_DLFREE (*phandle); + ++errors; + goto cleanup; + } + } + + register_handle: + LT_DLMEM_REASSIGN (*phandle, newhandle); + + if ((*phandle)->info.ref_count == 0) + { + (*phandle)->info.ref_count = 1; + LT_DLMEM_REASSIGN ((*phandle)->info.name, name); + + LT_DLMUTEX_LOCK (); + (*phandle)->next = handles; + handles = *phandle; + LT_DLMUTEX_UNLOCK (); + } + + LT_DLMUTEX_SETERROR (saved_error); + + cleanup: + LT_DLFREE (dir); + LT_DLFREE (name); + LT_DLFREE (canonical); + + return errors; +} + +lt_dlhandle +lt_dlopen (filename) + const char *filename; +{ + lt_dlhandle handle = 0; + + /* Just incase we missed a code path in try_dlopen() that reports + an error, but forgets to reset handle... */ + if (try_dlopen (&handle, filename) != 0) + return 0; + + return handle; +} + +/* If the last error messge store was `FILE_NOT_FOUND', then return + non-zero. */ +static int +file_not_found () +{ + const char *error = 0; + + LT_DLMUTEX_GETERROR (error); + if (error == LT_DLSTRERROR (FILE_NOT_FOUND)) + return 1; + + return 0; +} + +/* If FILENAME has an ARCHIVE_EXT or SHLIB_EXT extension, try to + open the FILENAME as passed. Otherwise try appending ARCHIVE_EXT, + and if a file is still not found try again with SHLIB_EXT appended + instead. */ +lt_dlhandle +lt_dlopenext (filename) + const char *filename; +{ + lt_dlhandle handle = 0; + char * tmp = 0; + char * ext = 0; + size_t len; + int errors = 0; + + if (!filename) + { + return lt_dlopen (filename); + } + + assert (filename); + + len = LT_STRLEN (filename); + ext = strrchr (filename, '.'); + + /* If FILENAME already bears a suitable extension, there is no need + to try appending additional extensions. */ + if (ext && ((strcmp (ext, archive_ext) == 0) +#ifdef LTDL_SHLIB_EXT + || (strcmp (ext, shlib_ext) == 0) +#endif + )) + { + return lt_dlopen (filename); + } + + /* First try appending ARCHIVE_EXT. */ + tmp = LT_EMALLOC (char, len + LT_STRLEN (archive_ext) + 1); + if (!tmp) + return 0; + + strcpy (tmp, filename); + strcat (tmp, archive_ext); + errors = try_dlopen (&handle, tmp); + + /* If we found FILENAME, stop searching -- whether we were able to + load the file as a module or not. If the file exists but loading + failed, it is better to return an error message here than to + report FILE_NOT_FOUND when the alternatives (foo.so etc) are not + in the module search path. */ + if (handle || ((errors > 0) && !file_not_found ())) + { + LT_DLFREE (tmp); + return handle; + } + +#ifdef LTDL_SHLIB_EXT + /* Try appending SHLIB_EXT. */ + if (LT_STRLEN (shlib_ext) > LT_STRLEN (archive_ext)) + { + LT_DLFREE (tmp); + tmp = LT_EMALLOC (char, len + LT_STRLEN (shlib_ext) + 1); + if (!tmp) + return 0; + + strcpy (tmp, filename); + } + else + { + tmp[len] = LT_EOS_CHAR; + } + + strcat(tmp, shlib_ext); + errors = try_dlopen (&handle, tmp); + + /* As before, if the file was found but loading failed, return now + with the current error message. */ + if (handle || ((errors > 0) && !file_not_found ())) + { + LT_DLFREE (tmp); + return handle; + } +#endif + + /* Still here? Then we really did fail to locate any of the file + names we tried. */ + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + LT_DLFREE (tmp); + return 0; +} + + +static int +lt_argz_insert (pargz, pargz_len, before, entry) + char **pargz; + size_t *pargz_len; + char *before; + const char *entry; +{ + error_t error; + + /* Prior to Sep 8, 2005, newlib had a bug where argz_insert(pargz, + pargz_len, NULL, entry) failed with EINVAL. */ + if (before) + error = argz_insert (pargz, pargz_len, before, entry); + else + error = argz_append (pargz, pargz_len, entry, 1 + LT_STRLEN (entry)); + + if (error) + { + switch (error) + { + case ENOMEM: + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (NO_MEMORY)); + break; + default: + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (UNKNOWN)); + break; + } + return 1; + } + + return 0; +} + +static int +lt_argz_insertinorder (pargz, pargz_len, entry) + char **pargz; + size_t *pargz_len; + const char *entry; +{ + char *before = 0; + + assert (pargz); + assert (pargz_len); + assert (entry && *entry); + + if (*pargz) + while ((before = argz_next (*pargz, *pargz_len, before))) + { + int cmp = strcmp (entry, before); + + if (cmp < 0) break; + if (cmp == 0) return 0; /* No duplicates! */ + } + + return lt_argz_insert (pargz, pargz_len, before, entry); +} + +static int +lt_argz_insertdir (pargz, pargz_len, dirnam, dp) + char **pargz; + size_t *pargz_len; + const char *dirnam; + struct dirent *dp; +{ + char *buf = 0; + size_t buf_len = 0; + char *end = 0; + size_t end_offset = 0; + size_t dir_len = 0; + int errors = 0; + + assert (pargz); + assert (pargz_len); + assert (dp); + + dir_len = LT_STRLEN (dirnam); + end = dp->d_name + LT_D_NAMLEN(dp); + + /* Ignore version numbers. */ + { + char *p; + for (p = end; p -1 > dp->d_name; --p) + if (strchr (".0123456789", p[-1]) == 0) + break; + + if (*p == '.') + end = p; + } + + /* Ignore filename extension. */ + { + char *p; + for (p = end -1; p > dp->d_name; --p) + if (*p == '.') + { + end = p; + break; + } + } + + /* Prepend the directory name. */ + end_offset = end - dp->d_name; + buf_len = dir_len + 1+ end_offset; + buf = LT_EMALLOC (char, 1+ buf_len); + if (!buf) + return ++errors; + + assert (buf); + + strcpy (buf, dirnam); + strcat (buf, "/"); + strncat (buf, dp->d_name, end_offset); + buf[buf_len] = LT_EOS_CHAR; + + /* Try to insert (in order) into ARGZ/ARGZ_LEN. */ + if (lt_argz_insertinorder (pargz, pargz_len, buf) != 0) + ++errors; + + LT_DLFREE (buf); + + return errors; +} + +static int +list_files_by_dir (dirnam, pargz, pargz_len) + const char *dirnam; + char **pargz; + size_t *pargz_len; +{ + DIR *dirp = 0; + int errors = 0; + + assert (dirnam && *dirnam); + assert (pargz); + assert (pargz_len); + assert (dirnam[LT_STRLEN(dirnam) -1] != '/'); + + dirp = opendir (dirnam); + if (dirp) + { + struct dirent *dp = 0; + + while ((dp = readdir (dirp))) + if (dp->d_name[0] != '.') + if (lt_argz_insertdir (pargz, pargz_len, dirnam, dp)) + { + ++errors; + break; + } + + closedir (dirp); + } + else + ++errors; + + return errors; +} + + +/* If there are any files in DIRNAME, call the function passed in + DATA1 (with the name of each file and DATA2 as arguments). */ +static int +foreachfile_callback (dirname, data1, data2) + char *dirname; + lt_ptr data1; + lt_ptr data2; +{ + int (*func) LT_PARAMS((const char *filename, lt_ptr data)) + = (int (*) LT_PARAMS((const char *filename, lt_ptr data))) data1; + + int is_done = 0; + char *argz = 0; + size_t argz_len = 0; + + if (list_files_by_dir (dirname, &argz, &argz_len) != 0) + goto cleanup; + if (!argz) + goto cleanup; + + { + char *filename = 0; + while ((filename = argz_next (argz, argz_len, filename))) + if ((is_done = (*func) (filename, data2))) + break; + } + + cleanup: + LT_DLFREE (argz); + + return is_done; +} + + +/* Call FUNC for each unique extensionless file in SEARCH_PATH, along + with DATA. The filenames passed to FUNC would be suitable for + passing to lt_dlopenext. The extensions are stripped so that + individual modules do not generate several entries (e.g. libfoo.la, + libfoo.so, libfoo.so.1, libfoo.so.1.0.0). If SEARCH_PATH is NULL, + then the same directories that lt_dlopen would search are examined. */ +int +lt_dlforeachfile (search_path, func, data) + const char *search_path; + int (*func) LT_PARAMS ((const char *filename, lt_ptr data)); + lt_ptr data; +{ + int is_done = 0; + + if (search_path) + { + /* If a specific path was passed, search only the directories + listed in it. */ + is_done = foreach_dirinpath (search_path, 0, + foreachfile_callback, func, data); + } + else + { + /* Otherwise search the default paths. */ + is_done = foreach_dirinpath (user_search_path, 0, + foreachfile_callback, func, data); + if (!is_done) + { + is_done = foreach_dirinpath (getenv("LTDL_LIBRARY_PATH"), 0, + foreachfile_callback, func, data); + } + +#ifdef LTDL_SHLIBPATH_VAR + if (!is_done) + { + is_done = foreach_dirinpath (getenv(LTDL_SHLIBPATH_VAR), 0, + foreachfile_callback, func, data); + } +#endif +#ifdef LTDL_SYSSEARCHPATH + if (!is_done) + { + is_done = foreach_dirinpath (getenv(LTDL_SYSSEARCHPATH), 0, + foreachfile_callback, func, data); + } +#endif + } + + return is_done; +} + +int +lt_dlclose (handle) + lt_dlhandle handle; +{ + lt_dlhandle cur, last; + int errors = 0; + + LT_DLMUTEX_LOCK (); + + /* check whether the handle is valid */ + last = cur = handles; + while (cur && handle != cur) + { + last = cur; + cur = cur->next; + } + + if (!cur) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + ++errors; + goto done; + } + + handle->info.ref_count--; + + /* Note that even with resident modules, we must track the ref_count + correctly incase the user decides to reset the residency flag + later (even though the API makes no provision for that at the + moment). */ + if (handle->info.ref_count <= 0 && !LT_DLIS_RESIDENT (handle)) + { + lt_user_data data = handle->loader->dlloader_data; + + if (handle != handles) + { + last->next = handle->next; + } + else + { + handles = handle->next; + } + + errors += handle->loader->module_close (data, handle->module); + errors += unload_deplibs(handle); + + /* It is up to the callers to free the data itself. */ + LT_DLFREE (handle->caller_data); + + LT_DLFREE (handle->info.filename); + LT_DLFREE (handle->info.name); + LT_DLFREE (handle); + + goto done; + } + + if (LT_DLIS_RESIDENT (handle)) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CLOSE_RESIDENT_MODULE)); + ++errors; + } + + done: + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +lt_ptr +lt_dlsym (handle, symbol) + lt_dlhandle handle; + const char *symbol; +{ + size_t lensym; + char lsym[LT_SYMBOL_LENGTH]; + char *sym; + lt_ptr address; + lt_user_data data; + + if (!handle) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + return 0; + } + + if (!symbol) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); + return 0; + } + + lensym = LT_STRLEN (symbol) + LT_STRLEN (handle->loader->sym_prefix) + + LT_STRLEN (handle->info.name); + + if (lensym + LT_SYMBOL_OVERHEAD < LT_SYMBOL_LENGTH) + { + sym = lsym; + } + else + { + sym = LT_EMALLOC (char, lensym + LT_SYMBOL_OVERHEAD + 1); + if (!sym) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (BUFFER_OVERFLOW)); + return 0; + } + } + + data = handle->loader->dlloader_data; + if (handle->info.name) + { + const char *saved_error; + + LT_DLMUTEX_GETERROR (saved_error); + + /* this is a libtool module */ + if (handle->loader->sym_prefix) + { + strcpy(sym, handle->loader->sym_prefix); + strcat(sym, handle->info.name); + } + else + { + strcpy(sym, handle->info.name); + } + + strcat(sym, "_LTX_"); + strcat(sym, symbol); + + /* try "modulename_LTX_symbol" */ + address = handle->loader->find_sym (data, handle->module, sym); + if (address) + { + if (sym != lsym) + { + LT_DLFREE (sym); + } + return address; + } + LT_DLMUTEX_SETERROR (saved_error); + } + + /* otherwise try "symbol" */ + if (handle->loader->sym_prefix) + { + strcpy(sym, handle->loader->sym_prefix); + strcat(sym, symbol); + } + else + { + strcpy(sym, symbol); + } + + address = handle->loader->find_sym (data, handle->module, sym); + if (sym != lsym) + { + LT_DLFREE (sym); + } + + return address; +} + +const char * +lt_dlerror () +{ + const char *error; + + LT_DLMUTEX_GETERROR (error); + LT_DLMUTEX_SETERROR (0); + + return error ? error : NULL; +} + +static int +lt_dlpath_insertdir (ppath, before, dir) + char **ppath; + char *before; + const char *dir; +{ + int errors = 0; + char *canonical = 0; + char *argz = 0; + size_t argz_len = 0; + + assert (ppath); + assert (dir && *dir); + + if (canonicalize_path (dir, &canonical) != 0) + { + ++errors; + goto cleanup; + } + + assert (canonical && *canonical); + + /* If *PPATH is empty, set it to DIR. */ + if (*ppath == 0) + { + assert (!before); /* BEFORE cannot be set without PPATH. */ + assert (dir); /* Without DIR, don't call this function! */ + + *ppath = lt_estrdup (dir); + if (*ppath == 0) + ++errors; + + return errors; + } + + assert (ppath && *ppath); + + if (argzize_path (*ppath, &argz, &argz_len) != 0) + { + ++errors; + goto cleanup; + } + + /* Convert BEFORE into an equivalent offset into ARGZ. This only works + if *PPATH is already canonicalized, and hence does not change length + with respect to ARGZ. We canonicalize each entry as it is added to + the search path, and don't call this function with (uncanonicalized) + user paths, so this is a fair assumption. */ + if (before) + { + assert (*ppath <= before); + assert (before - *ppath <= strlen (*ppath)); + + before = before - *ppath + argz; + } + + if (lt_argz_insert (&argz, &argz_len, before, dir) != 0) + { + ++errors; + goto cleanup; + } + + argz_stringify (argz, argz_len, LT_PATHSEP_CHAR); + LT_DLMEM_REASSIGN (*ppath, argz); + + cleanup: + LT_DLFREE (canonical); + LT_DLFREE (argz); + + return errors; +} + +int +lt_dladdsearchdir (search_dir) + const char *search_dir; +{ + int errors = 0; + + if (search_dir && *search_dir) + { + LT_DLMUTEX_LOCK (); + if (lt_dlpath_insertdir (&user_search_path, 0, search_dir) != 0) + ++errors; + LT_DLMUTEX_UNLOCK (); + } + + return errors; +} + +int +lt_dlinsertsearchdir (before, search_dir) + const char *before; + const char *search_dir; +{ + int errors = 0; + + if (before) + { + LT_DLMUTEX_LOCK (); + if ((before < user_search_path) + || (before >= user_search_path + LT_STRLEN (user_search_path))) + { + LT_DLMUTEX_UNLOCK (); + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_POSITION)); + return 1; + } + LT_DLMUTEX_UNLOCK (); + } + + if (search_dir && *search_dir) + { + LT_DLMUTEX_LOCK (); + if (lt_dlpath_insertdir (&user_search_path, + (char *) before, search_dir) != 0) + { + ++errors; + } + LT_DLMUTEX_UNLOCK (); + } + + return errors; +} + +int +lt_dlsetsearchpath (search_path) + const char *search_path; +{ + int errors = 0; + + LT_DLMUTEX_LOCK (); + LT_DLFREE (user_search_path); + LT_DLMUTEX_UNLOCK (); + + if (!search_path || !LT_STRLEN (search_path)) + { + return errors; + } + + LT_DLMUTEX_LOCK (); + if (canonicalize_path (search_path, &user_search_path) != 0) + ++errors; + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +const char * +lt_dlgetsearchpath () +{ + const char *saved_path; + + LT_DLMUTEX_LOCK (); + saved_path = user_search_path; + LT_DLMUTEX_UNLOCK (); + + return saved_path; +} + +int +lt_dlmakeresident (handle) + lt_dlhandle handle; +{ + int errors = 0; + + if (!handle) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + ++errors; + } + else + { + LT_DLSET_FLAG (handle, LT_DLRESIDENT_FLAG); + } + + return errors; +} + +int +lt_dlisresident (handle) + lt_dlhandle handle; +{ + if (!handle) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + return -1; + } + + return LT_DLIS_RESIDENT (handle); +} + + + + +/* --- MODULE INFORMATION --- */ + +const lt_dlinfo * +lt_dlgetinfo (handle) + lt_dlhandle handle; +{ + if (!handle) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_HANDLE)); + return 0; + } + + return &(handle->info); +} + +lt_dlhandle +lt_dlhandle_next (place) + lt_dlhandle place; +{ + return place ? place->next : handles; +} + +int +lt_dlforeach (func, data) + int (*func) LT_PARAMS((lt_dlhandle handle, lt_ptr data)); + lt_ptr data; +{ + int errors = 0; + lt_dlhandle cur; + + LT_DLMUTEX_LOCK (); + + cur = handles; + while (cur) + { + lt_dlhandle tmp = cur; + + cur = cur->next; + if ((*func) (tmp, data)) + { + ++errors; + break; + } + } + + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +lt_dlcaller_id +lt_dlcaller_register () +{ + static lt_dlcaller_id last_caller_id = 0; + int result; + + LT_DLMUTEX_LOCK (); + result = ++last_caller_id; + LT_DLMUTEX_UNLOCK (); + + return result; +} + +lt_ptr +lt_dlcaller_set_data (key, handle, data) + lt_dlcaller_id key; + lt_dlhandle handle; + lt_ptr data; +{ + int n_elements = 0; + lt_ptr stale = (lt_ptr) 0; + int i; + + /* This needs to be locked so that the caller data can be updated + simultaneously by different threads. */ + LT_DLMUTEX_LOCK (); + + if (handle->caller_data) + while (handle->caller_data[n_elements].key) + ++n_elements; + + for (i = 0; i < n_elements; ++i) + { + if (handle->caller_data[i].key == key) + { + stale = handle->caller_data[i].data; + break; + } + } + + /* Ensure that there is enough room in this handle's caller_data + array to accept a new element (and an empty end marker). */ + if (i == n_elements) + { + lt_caller_data *temp + = LT_DLREALLOC (lt_caller_data, handle->caller_data, 2+ n_elements); + + if (!temp) + { + stale = 0; + goto done; + } + + handle->caller_data = temp; + + /* We only need this if we needed to allocate a new caller_data. */ + handle->caller_data[i].key = key; + handle->caller_data[1+ i].key = 0; + } + + handle->caller_data[i].data = data; + + done: + LT_DLMUTEX_UNLOCK (); + + return stale; +} + +lt_ptr +lt_dlcaller_get_data (key, handle) + lt_dlcaller_id key; + lt_dlhandle handle; +{ + lt_ptr result = (lt_ptr) 0; + + /* This needs to be locked so that the caller data isn't updated by + another thread part way through this function. */ + LT_DLMUTEX_LOCK (); + + /* Locate the index of the element with a matching KEY. */ + { + int i; + for (i = 0; handle->caller_data[i].key; ++i) + { + if (handle->caller_data[i].key == key) + { + result = handle->caller_data[i].data; + break; + } + } + } + + LT_DLMUTEX_UNLOCK (); + + return result; +} + + + +/* --- USER MODULE LOADER API --- */ + + +int +lt_dlloader_add (place, dlloader, loader_name) + lt_dlloader *place; + const struct lt_user_dlloader *dlloader; + const char *loader_name; +{ + int errors = 0; + lt_dlloader *node = 0, *ptr = 0; + + if ((dlloader == 0) /* diagnose null parameters */ + || (dlloader->module_open == 0) + || (dlloader->module_close == 0) + || (dlloader->find_sym == 0)) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); + return 1; + } + + /* Create a new dlloader node with copies of the user callbacks. */ + node = LT_EMALLOC (lt_dlloader, 1); + if (!node) + return 1; + + node->next = 0; + node->loader_name = loader_name; + node->sym_prefix = dlloader->sym_prefix; + node->dlloader_exit = dlloader->dlloader_exit; + node->module_open = dlloader->module_open; + node->module_close = dlloader->module_close; + node->find_sym = dlloader->find_sym; + node->dlloader_data = dlloader->dlloader_data; + + LT_DLMUTEX_LOCK (); + if (!loaders) + { + /* If there are no loaders, NODE becomes the list! */ + loaders = node; + } + else if (!place) + { + /* If PLACE is not set, add NODE to the end of the + LOADERS list. */ + for (ptr = loaders; ptr->next; ptr = ptr->next) + { + /*NOWORK*/; + } + + ptr->next = node; + } + else if (loaders == place) + { + /* If PLACE is the first loader, NODE goes first. */ + node->next = place; + loaders = node; + } + else + { + /* Find the node immediately preceding PLACE. */ + for (ptr = loaders; ptr->next != place; ptr = ptr->next) + { + /*NOWORK*/; + } + + if (ptr->next != place) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); + ++errors; + } + else + { + /* Insert NODE between PTR and PLACE. */ + node->next = place; + ptr->next = node; + } + } + + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +int +lt_dlloader_remove (loader_name) + const char *loader_name; +{ + lt_dlloader *place = lt_dlloader_find (loader_name); + lt_dlhandle handle; + int errors = 0; + + if (!place) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); + return 1; + } + + LT_DLMUTEX_LOCK (); + + /* Fail if there are any open modules which use this loader. */ + for (handle = handles; handle; handle = handle->next) + { + if (handle->loader == place) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (REMOVE_LOADER)); + ++errors; + goto done; + } + } + + if (place == loaders) + { + /* PLACE is the first loader in the list. */ + loaders = loaders->next; + } + else + { + /* Find the loader before the one being removed. */ + lt_dlloader *prev; + for (prev = loaders; prev->next; prev = prev->next) + { + if (!strcmp (prev->next->loader_name, loader_name)) + { + break; + } + } + + place = prev->next; + prev->next = prev->next->next; + } + + if (place->dlloader_exit) + { + errors = place->dlloader_exit (place->dlloader_data); + } + + LT_DLFREE (place); + + done: + LT_DLMUTEX_UNLOCK (); + + return errors; +} + +lt_dlloader * +lt_dlloader_next (place) + lt_dlloader *place; +{ + lt_dlloader *next; + + LT_DLMUTEX_LOCK (); + next = place ? place->next : loaders; + LT_DLMUTEX_UNLOCK (); + + return next; +} + +const char * +lt_dlloader_name (place) + lt_dlloader *place; +{ + const char *name = 0; + + if (place) + { + LT_DLMUTEX_LOCK (); + name = place ? place->loader_name : 0; + LT_DLMUTEX_UNLOCK (); + } + else + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); + } + + return name; +} + +lt_user_data * +lt_dlloader_data (place) + lt_dlloader *place; +{ + lt_user_data *data = 0; + + if (place) + { + LT_DLMUTEX_LOCK (); + data = place ? &(place->dlloader_data) : 0; + LT_DLMUTEX_UNLOCK (); + } + else + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); + } + + return data; +} + +lt_dlloader * +lt_dlloader_find (loader_name) + const char *loader_name; +{ + lt_dlloader *place = 0; + + LT_DLMUTEX_LOCK (); + for (place = loaders; place; place = place->next) + { + if (strcmp (place->loader_name, loader_name) == 0) + { + break; + } + } + LT_DLMUTEX_UNLOCK (); + + return place; +} diff --git a/libltdl/ltdl.h b/libltdl/ltdl.h new file mode 100644 index 0000000..a180245 --- /dev/null +++ b/libltdl/ltdl.h @@ -0,0 +1,367 @@ +/* ltdl.h -- generic dlopen functions + Copyright (C) 1998-2001, 2003, 2004, 2007 Free Software Foundation, Inc. + Originally by Thomas Tanner + This file is part of GNU Libtool. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. + +This library 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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free +Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA +*/ + +/* Only include this header file once. */ +#ifndef LTDL_H +#define LTDL_H 1 + +#include /* for size_t declaration */ + + +/* --- MACROS FOR PORTABILITY --- */ + + +/* Saves on those hard to debug '\0' typos.... */ +#define LT_EOS_CHAR '\0' + +/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at + the end of C declarations. */ +#ifdef __cplusplus +# define LT_BEGIN_C_DECLS extern "C" { +# define LT_END_C_DECLS } +#else +# define LT_BEGIN_C_DECLS /* empty */ +# define LT_END_C_DECLS /* empty */ +#endif + +LT_BEGIN_C_DECLS + + +/* LT_PARAMS is a macro used to wrap function prototypes, so that compilers + that don't understand ANSI C prototypes still work, and ANSI C + compilers can issue warnings about type mismatches. */ +#if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(WIN32) || defined(__cplusplus) +# define LT_PARAMS(protos) protos +# define lt_ptr void* +#else +# define LT_PARAMS(protos) () +# define lt_ptr char* +#endif + +/* LT_STMT_START/END are used to create macros which expand to a + a single compound statement in a portable way. */ +#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus) +# define LT_STMT_START (void)( +# define LT_STMT_END ) +#else +# if (defined (sun) || defined (__sun__)) +# define LT_STMT_START if (1) +# define LT_STMT_END else (void)0 +# else +# define LT_STMT_START do +# define LT_STMT_END while (0) +# endif +#endif + +/* LT_CONC creates a new concatenated symbol for the compiler + in a portable way. */ +#if defined(__STDC__) || defined(__cplusplus) || defined(_MSC_VER) || defined(_AIX) +# define LT_CONC(s,t) s##t +#else +# define LT_CONC(s,t) s/**/t +#endif + +/* LT_STRLEN can be used safely on NULL pointers. */ +#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0) + + + +/* --- WINDOWS SUPPORT --- */ + + +/* Canonicalise Windows and Cygwin recognition macros. */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ __CYGWIN32__ +# endif +#endif +#if defined(_WIN32) || defined(WIN32) +# ifndef __WINDOWS__ +# ifdef _WIN32 +# define __WINDOWS__ _WIN32 +# else +# ifdef WIN32 +# define __WINDOWS__ WIN32 +# endif +# endif +# endif +#endif + + +#ifdef __WINDOWS__ +# ifndef __CYGWIN__ +/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory + separator when it is set. */ +# define LT_DIRSEP_CHAR '\\' +# define LT_PATHSEP_CHAR ';' +# endif +#endif +#ifndef LT_PATHSEP_CHAR +# define LT_PATHSEP_CHAR ':' +#endif + +/* DLL building support on win32 hosts; mostly to workaround their + ridiculous implementation of data symbol exporting. */ +#ifndef LT_SCOPE +# if defined(__WINDOWS__) || defined(__CYGWIN__) +# ifdef DLL_EXPORT /* defined by libtool (if required) */ +# define LT_SCOPE __declspec(dllexport) +# endif +# ifdef LIBLTDL_DLL_IMPORT /* define if linking with this dll */ + /* note: cygwin/mingw compilers can rely instead on auto-import */ +# define LT_SCOPE extern __declspec(dllimport) +# endif +# endif +# ifndef LT_SCOPE /* static linking or !__WINDOWS__ */ +# define LT_SCOPE extern +# endif +#endif + + +#if defined(_MSC_VER) /* Visual Studio */ +# define R_OK 4 +#endif + + + +/* --- DYNAMIC MODULE LOADING API --- */ + + +typedef struct lt_dlhandle_struct *lt_dlhandle; /* A loaded module. */ + +/* Initialisation and finalisation functions for libltdl. */ +LT_SCOPE int lt_dlinit LT_PARAMS((void)); +LT_SCOPE int lt_dlexit LT_PARAMS((void)); + +/* Module search path manipulation. */ +LT_SCOPE int lt_dladdsearchdir LT_PARAMS((const char *search_dir)); +LT_SCOPE int lt_dlinsertsearchdir LT_PARAMS((const char *before, + const char *search_dir)); +LT_SCOPE int lt_dlsetsearchpath LT_PARAMS((const char *search_path)); +LT_SCOPE const char *lt_dlgetsearchpath LT_PARAMS((void)); +LT_SCOPE int lt_dlforeachfile LT_PARAMS(( + const char *search_path, + int (*func) (const char *filename, lt_ptr data), + lt_ptr data)); + +/* Portable libltdl versions of the system dlopen() API. */ +LT_SCOPE lt_dlhandle lt_dlopen LT_PARAMS((const char *filename)); +LT_SCOPE lt_dlhandle lt_dlopenext LT_PARAMS((const char *filename)); +LT_SCOPE lt_ptr lt_dlsym LT_PARAMS((lt_dlhandle handle, + const char *name)); +LT_SCOPE const char *lt_dlerror LT_PARAMS((void)); +LT_SCOPE int lt_dlclose LT_PARAMS((lt_dlhandle handle)); + +/* Module residency management. */ +LT_SCOPE int lt_dlmakeresident LT_PARAMS((lt_dlhandle handle)); +LT_SCOPE int lt_dlisresident LT_PARAMS((lt_dlhandle handle)); + + + + +/* --- MUTEX LOCKING --- */ + + +typedef void lt_dlmutex_lock LT_PARAMS((void)); +typedef void lt_dlmutex_unlock LT_PARAMS((void)); +typedef void lt_dlmutex_seterror LT_PARAMS((const char *errmsg)); +typedef const char *lt_dlmutex_geterror LT_PARAMS((void)); + +LT_SCOPE int lt_dlmutex_register LT_PARAMS((lt_dlmutex_lock *lock, + lt_dlmutex_unlock *unlock, + lt_dlmutex_seterror *seterror, + lt_dlmutex_geterror *geterror)); + + + + +/* --- MEMORY HANDLING --- */ + + +/* By default, the realloc function pointer is set to our internal + realloc implementation which iself uses lt_dlmalloc and lt_dlfree. + libltdl relies on a featureful realloc, but if you are sure yours + has the right semantics then you can assign it directly. Generally, + it is safe to assign just a malloc() and a free() function. */ +LT_SCOPE lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)); +LT_SCOPE lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)); +LT_SCOPE void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)); + + + + +/* --- PRELOADED MODULE SUPPORT --- */ + + +/* A preopened symbol. Arrays of this type comprise the exported + symbols for a dlpreopened module. */ +typedef struct { + const char *name; + lt_ptr address; +} lt_dlsymlist; + +LT_SCOPE int lt_dlpreload LT_PARAMS((const lt_dlsymlist *preloaded)); +LT_SCOPE int lt_dlpreload_default + LT_PARAMS((const lt_dlsymlist *preloaded)); + +#define LTDL_SET_PRELOADED_SYMBOLS() LT_STMT_START{ \ + extern const lt_dlsymlist lt_preloaded_symbols[]; \ + lt_dlpreload_default(lt_preloaded_symbols); \ + }LT_STMT_END + + + + +/* --- MODULE INFORMATION --- */ + + +/* Read only information pertaining to a loaded module. */ +typedef struct { + char *filename; /* file name */ + char *name; /* module name */ + int ref_count; /* number of times lt_dlopened minus + number of times lt_dlclosed. */ +} lt_dlinfo; + +LT_SCOPE const lt_dlinfo *lt_dlgetinfo LT_PARAMS((lt_dlhandle handle)); +LT_SCOPE lt_dlhandle lt_dlhandle_next LT_PARAMS((lt_dlhandle place)); +LT_SCOPE int lt_dlforeach LT_PARAMS(( + int (*func) (lt_dlhandle handle, lt_ptr data), + lt_ptr data)); + +/* Associating user data with loaded modules. */ +typedef unsigned lt_dlcaller_id; + +LT_SCOPE lt_dlcaller_id lt_dlcaller_register LT_PARAMS((void)); +LT_SCOPE lt_ptr lt_dlcaller_set_data LT_PARAMS((lt_dlcaller_id key, + lt_dlhandle handle, + lt_ptr data)); +LT_SCOPE lt_ptr lt_dlcaller_get_data LT_PARAMS((lt_dlcaller_id key, + lt_dlhandle handle)); + + + +/* --- USER MODULE LOADER API --- */ + + +typedef struct lt_dlloader lt_dlloader; +typedef lt_ptr lt_user_data; +typedef lt_ptr lt_module; + +/* Function pointer types for creating user defined module loaders. */ +typedef lt_module lt_module_open LT_PARAMS((lt_user_data loader_data, + const char *filename)); +typedef int lt_module_close LT_PARAMS((lt_user_data loader_data, + lt_module handle)); +typedef lt_ptr lt_find_sym LT_PARAMS((lt_user_data loader_data, + lt_module handle, + const char *symbol)); +typedef int lt_dlloader_exit LT_PARAMS((lt_user_data loader_data)); + +struct lt_user_dlloader { + const char *sym_prefix; + lt_module_open *module_open; + lt_module_close *module_close; + lt_find_sym *find_sym; + lt_dlloader_exit *dlloader_exit; + lt_user_data dlloader_data; +}; + +LT_SCOPE lt_dlloader *lt_dlloader_next LT_PARAMS((lt_dlloader *place)); +LT_SCOPE lt_dlloader *lt_dlloader_find LT_PARAMS(( + const char *loader_name)); +LT_SCOPE const char *lt_dlloader_name LT_PARAMS((lt_dlloader *place)); +LT_SCOPE lt_user_data *lt_dlloader_data LT_PARAMS((lt_dlloader *place)); +LT_SCOPE int lt_dlloader_add LT_PARAMS((lt_dlloader *place, + const struct lt_user_dlloader *dlloader, + const char *loader_name)); +LT_SCOPE int lt_dlloader_remove LT_PARAMS(( + const char *loader_name)); + + + +/* --- ERROR MESSAGE HANDLING --- */ + + +/* Defining error strings alongside their symbolic names in a macro in + this way allows us to expand the macro in different contexts with + confidence that the enumeration of symbolic names will map correctly + onto the table of error strings. */ +#define lt_dlerror_table \ + LT_ERROR(UNKNOWN, "unknown error") \ + LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available") \ + LT_ERROR(INVALID_LOADER, "invalid loader") \ + LT_ERROR(INIT_LOADER, "loader initialization failed") \ + LT_ERROR(REMOVE_LOADER, "loader removal failed") \ + LT_ERROR(FILE_NOT_FOUND, "file not found") \ + LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found") \ + LT_ERROR(NO_SYMBOLS, "no symbols defined") \ + LT_ERROR(CANNOT_OPEN, "can't open the module") \ + LT_ERROR(CANNOT_CLOSE, "can't close the module") \ + LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found") \ + LT_ERROR(NO_MEMORY, "not enough memory") \ + LT_ERROR(INVALID_HANDLE, "invalid module handle") \ + LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow") \ + LT_ERROR(INVALID_ERRORCODE, "invalid errorcode") \ + LT_ERROR(SHUTDOWN, "library already shutdown") \ + LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module") \ + LT_ERROR(INVALID_MUTEX_ARGS, "invalid mutex handler registration") \ + LT_ERROR(INVALID_POSITION, "invalid search path insert position") + +/* Enumerate the symbolic error names. */ +enum { +#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name), + lt_dlerror_table +#undef LT_ERROR + + LT_ERROR_MAX +}; + +/* These functions are only useful from inside custom module loaders. */ +LT_SCOPE int lt_dladderror LT_PARAMS((const char *diagnostic)); +LT_SCOPE int lt_dlseterror LT_PARAMS((int errorcode)); + + + + +/* --- SOURCE COMPATIBILITY WITH OLD LIBLTDL --- */ + + +#ifdef LT_NON_POSIX_NAMESPACE +# define lt_ptr_t lt_ptr +# define lt_module_t lt_module +# define lt_module_open_t lt_module_open +# define lt_module_close_t lt_module_close +# define lt_find_sym_t lt_find_sym +# define lt_dlloader_exit_t lt_dlloader_exit +# define lt_dlloader_t lt_dlloader +# define lt_dlloader_data_t lt_user_data +#endif + +LT_END_C_DECLS + +#endif /* !LTDL_H */ diff --git a/libltdl/ltmain.sh b/libltdl/ltmain.sh new file mode 100644 index 0000000..f924d30 --- /dev/null +++ b/libltdl/ltmain.sh @@ -0,0 +1,6938 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.24 Debian 1.5.24-1" +TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2007 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." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.[fF][09]?) xform=[fF][09]. ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/libltdl/missing b/libltdl/missing new file mode 100755 index 0000000..894e786 --- /dev/null +++ b/libltdl/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2005-06-08.21 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# 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. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case "$1" in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libltdl/stamp-h.in b/libltdl/stamp-h.in new file mode 100644 index 0000000..e69de29 diff --git a/libtool b/libtool new file mode 100755 index 0000000..34726ff --- /dev/null +++ b/libtool @@ -0,0 +1,7903 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU ski 1.1.3) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags=" CXX F77" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=no + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=yes + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=needless + +# The host system. +host_alias=i686-pc-linux-gnu +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="cc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="cc" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=yes + +# Whether dlopen of programs is supported. +dlopen_self=yes + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=no + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.24 Debian 1.5.24-1" +TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2007 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." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.[fF][09]?) xform=[fF][09]. ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=no + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=needless + +# The host system. +host_alias=i686-pc-linux-gnu +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="cc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g++" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=yes + +# Whether dlopen of programs is supported. +dlopen_self=yes + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=no + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.3/crtbeginS.o" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crtn.o" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: CXX + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# Libtool was configured on host rigel: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=no + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=needless + +# The host system. +host_alias=i686-pc-linux-gnu +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="cc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g77" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=yes + +# Whether dlopen of programs is supported. +dlopen_self=yes + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=no + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag="" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64 /usr/X11R6/lib64 /usr/lib/atlas /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/R/lib /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: F77 + diff --git a/ltmain.sh b/ltmain.sh new file mode 100644 index 0000000..f924d30 --- /dev/null +++ b/ltmain.sh @@ -0,0 +1,6938 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.24 Debian 1.5.24-1" +TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "\ +$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP + +Copyright (C) 2007 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." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.[fF][09]?) xform=[fF][09]. ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + major=`expr $current - $age` + else + major=`expr $current - $age + 1` + fi + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + case $archive_cmds in + *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; + *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; + esac + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/macros/Makefile b/macros/Makefile new file mode 100644 index 0000000..dd60568 --- /dev/null +++ b/macros/Makefile @@ -0,0 +1,373 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# macros/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = macros +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +MACROS = \ + libtool.m4 \ + aclocal-include.m4 \ + compilers.m4 + +EXTRA_DIST = \ + $(MACROS) \ + autogen.sh + +MAINTAINERCLEANFILES = macros.dep +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu macros/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu macros/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + + +macros.dep: Makefile.am + @echo '$$(top_srcdir)/aclocal.m4: $(MACROS:%=macros/%)' > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/macros/Makefile.am b/macros/Makefile.am new file mode 100644 index 0000000..d4400aa --- /dev/null +++ b/macros/Makefile.am @@ -0,0 +1,34 @@ +## Please update this variable if any new macros are created +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + +MACROS = \ + libtool.m4 \ + aclocal-include.m4 \ + compilers.m4 + +EXTRA_DIST= \ + $(MACROS) \ + autogen.sh + +MAINTAINERCLEANFILES=macros.dep + +@MAINT@macros.dep: Makefile.am +@MAINT@ @echo '$$(top_srcdir)/aclocal.m4: $(MACROS:%=macros/%)' > $@ diff --git a/macros/Makefile.in b/macros/Makefile.in new file mode 100644 index 0000000..f245542 --- /dev/null +++ b/macros/Makefile.in @@ -0,0 +1,373 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = macros +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +MACROS = \ + libtool.m4 \ + aclocal-include.m4 \ + compilers.m4 + +EXTRA_DIST = \ + $(MACROS) \ + autogen.sh + +MAINTAINERCLEANFILES = macros.dep +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu macros/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu macros/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + + +@MAINT@macros.dep: Makefile.am +@MAINT@ @echo '$$(top_srcdir)/aclocal.m4: $(MACROS:%=macros/%)' > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/macros/aclocal-include.m4 b/macros/aclocal-include.m4 new file mode 100644 index 0000000..8b65217 --- /dev/null +++ b/macros/aclocal-include.m4 @@ -0,0 +1,32 @@ +dnl aclocal-include.m4 +dnl +dnl Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl +dnl +dnl This macro adds the name macrodir to the set of directories +dnl that `aclocal' searches for macros. + +dnl serial 1 + +AC_DEFUN([AM_ACLOCAL_INCLUDE], +[ + AM_CONDITIONAL(INSIDE_GNOME_COMMON, test x = y) + + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done +]) diff --git a/macros/autogen.sh b/macros/autogen.sh new file mode 100755 index 0000000..9a0825b --- /dev/null +++ b/macros/autogen.sh @@ -0,0 +1,176 @@ +#!/bin/sh +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# +# Run this to generate all the initial makefiles, etc. + +DIE=0 + +(autoconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`autoconf' installed to compile ski." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + +(grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && { + (libtool --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`libtool' installed to compile ski." + echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + } +} + +grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && { + grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \ + (gettext --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`gettext' installed to compile ski." + echo "Get ftp://alpha.gnu.org/gnu/gettext-0.16.1.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + } +} + +(automake --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`automake' installed to compile ski." + echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.10.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + NO_AUTOMAKE=yes +} + +# not all distros have an 'aclocal'. debian, in particular, uses +# 'aclocal-X.Y'. so, set variables properly. +ACLOCAL=aclocal +test -n "$NO_AUTOMAKE" || test -f "/etc/debian_version" && { + version=`automake --version | head -1 | cut -d' ' -f4 | cut -d. -f1-2 | \ + cut -d- -f1` + ACLOCAL=aclocal-${version} + ACLOCAL_FLAGS="-I /usr/share/aclocal-${version}" +} + +# if no automake, don't bother testing for aclocal +test -n "$NO_AUTOMAKE" || ($ACLOCAL --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: Missing \`$ACLOCAL'. The version of \`automake'" + echo "installed doesn't appear recent enough." + echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.10.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 +} + +if test "$DIE" -eq 1; then + exit 1 +fi + +if test -z "$*"; then + echo "**Warning**: I am going to run \`configure' with no arguments." + echo "If you wish to pass any to it, please specify them on the" + echo \`$0\'" command line." + echo +fi + +case $CC in +xlc ) + am_opt=--include-deps;; +esac + +for coin in `find $srcdir -name configure.ac -print` +do + echo "=> working on $coin" + dr=`dirname $coin` + cf=`basename $coin` + if test -f $dr/NO-AUTO-GEN; then + echo skipping $dr -- flagged as no auto-gen + else + echo processing $dr + macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin` + ( cd $dr + aclocalinclude="$ACLOCAL_FLAGS" + for k in $macrodirs; do + if test -d $k; then + aclocalinclude="$aclocalinclude -I $k" + fi + done + if grep "^AM_GNU_GETTEXT" $cf >/dev/null; then + if grep "sed.*POTFILES" $cf >/dev/null; then + : do nothing -- we still have an old unmodified configure.ac + else + echo "Creating $dr/aclocal.m4 ..." + test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 + echo "Running gettextize... Ignore non-fatal messages." + echo "no" | gettextize --force --copy + echo "Making $dr/aclocal.m4 writable ..." + test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 + fi + fi + if grep "^AC_LIBLTDL_CONVENIENCE" $cf >/dev/null; then + lt_opt=--ltdl + fi + if grep "^AM_PROG_LIBTOOL" $cf >/dev/null; then + echo "Running libtoolize..." + libtoolize --force --copy $lt_opt + if test -f libltdl/Makefile.am; then + sed -e 's/\$(OBJECTS): libtool/ltdl.lo: libtool/' \ + < libltdl/Makefile.am > libltdl/Makefile.am.new; + rm -f libltdl/Makefile.am; + mv libltdl/Makefile.am.new libltdl/Makefile.am + fi + fi + echo "Running $ACLOCAL $aclocalinclude ..." + $ACLOCAL $aclocalinclude || { + echo + echo "**Error**: $ACLOCAL failed. This may mean that you have not" + echo "installed all of the packages you need, or you may need to" + echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" + echo "for the prefix where you installed the packages whose" + echo "macros were not found" + exit 1 + } + if grep "^AM_CONFIG_HEADER" $cf >/dev/null; then + echo "Running autoheader..." + autoheader || { echo "**Error**: autoheader failed."; exit 1; } + fi + echo "Running automake --add-missing --gnu $am_opt ..." + automake --add-missing --gnu $am_opt || + { echo "**Error**: automake failed."; exit 1; } + echo "Running autoconf ..." + autoconf || { echo "**Error**: autoconf failed."; exit 1; } + ) || exit 1 + fi +done + +conf_flags="" +conf_flags="$conf_flags --enable-maintainer-mode" +conf_flags="$conf_flags --enable-compile-warnings" +conf_flags="$conf_flags --enable-dependency-tracking" +#conf_flags="$conf_flags --enable-iso-c" + +if test x$NOCONFIGURE = x; then + # NOTE: srcdir must be already set or passed to each configure via --srcdir + echo Running $srcdir/configure $conf_flags "$@" ... + $srcdir/configure $conf_flags "$@" \ + && echo Now type \`make\' to compile $PKG_NAME || exit 1 +else + echo Skipping configure process. +fi diff --git a/macros/compilers.m4 b/macros/compilers.m4 new file mode 100644 index 0000000..39817c8 --- /dev/null +++ b/macros/compilers.m4 @@ -0,0 +1,58 @@ +dnl +dnl Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl + +# AC_LANG_COMPILER_INTEL +# ---------------------- +m4_define([_AC_LANG_COMPILER_INTEL], +[AC_CACHE_CHECK([whether we are using Intel _AC_LANG compiler], + [ac_cv_[]_AC_LANG_ABBREV[]_compiler_intel], +[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ +#ifndef __INTEL_COMPILER + choke me +#endif +]])], + [ac_compiler_intel=yes], + [ac_compiler_intel=no]) +ac_cv_[]_AC_LANG_ABBREV[]_compiler_intel=$ac_compiler_intel +])])# _AC_LANG_COMPILER_INTEL + +# AC_LANG_COMPILER_HP +# ------------------- +m4_define([_AC_LANG_COMPILER_HP], +[AC_CACHE_CHECK([whether we are using HP _AC_LANG compiler], + [ac_cv_[]_AC_LANG_ABBREV[]_compiler_hp], +[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ +#if ( !defined( __cplusplus ) && (!defined(__hpux) || defined(__GNUC__) ) ) \ + || ( defined( __cplusplus ) && !defined( __HP_aCC ) ) + choke me +#endif +]])], + [ac_compiler_hp=yes], + [ac_compiler_hp=no]) +ac_cv_[]_AC_LANG_ABBREV[]_compiler_hp=$ac_compiler_hp +])])# _AC_LANG_COMPILER_HP + +AC_DEFUN([AC_LANG_COMPILER_CHECK],[ +# Check for Intel & HP's C compilers +AC_LANG_PUSH(C)dnl +_AC_LANG_COMPILER_INTEL +ICC=`test $ac_compiler_intel = yes && echo yes` +_AC_LANG_COMPILER_HP +HPCC=`test $ac_compiler_hp = yes && echo yes` +AC_LANG_POP(C)dnl +])# AC_LANG_COMPILER_CHECK diff --git a/macros/debian.m4 b/macros/debian.m4 new file mode 100644 index 0000000..b93e179 --- /dev/null +++ b/macros/debian.m4 @@ -0,0 +1,31 @@ +dnl debian.m4 +dnl +dnl Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl +dnl +dnl This macro allows an option to enable building on a debian system +dnl or not + +AC_ARG_ENABLE(debian, +[ --enable-debian Build for a Debian environment], +[case "${enableval}" in + yes) debian=true ;; + no) debian=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-debian) ;; +esac],[debian=false]) +AM_CONDITIONAL(DEBIAN, test x$debian = xtrue) + diff --git a/macros/sed.m4 b/macros/sed.m4 new file mode 100644 index 0000000..74fbf47 --- /dev/null +++ b/macros/sed.m4 @@ -0,0 +1,25 @@ +dnl sed.m4 +dnl +dnl Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl +dnl +dnl This macro verifies that a copy of sed exists + +AC_DEFUN([AC_PROG_SED], +[ + AC_CHECK_PROG(SED, sed, sed, /bin/sed) +]) diff --git a/misc/bskinc b/misc/bskinc new file mode 100644 index 0000000..00758c3 --- /dev/null +++ b/misc/bskinc @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +exec /usr/bin/bski -forceuser -noconsole $* diff --git a/misc/ia64fmt b/misc/ia64fmt new file mode 100644 index 0000000..0072161 --- /dev/null +++ b/misc/ia64fmt @@ -0,0 +1,115 @@ +#!/bin/sh +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# +# ia64fmt This shell script takes care of starting and stopping +# ia64 binary interpreter +# +# Author: S.Eranian +# +# chkconfig: 2345 80 30 +# description: install the binary_fmt module and also make sure the ia64 +# interpreter is configured properly +# processname: +# config: +# pidfile: + +fmt_base=/proc/sys/fs/binfmt_misc/ +interp=/usr/bin/bskinc + +function verify_binfmt_mnt +{ + if test -d $fmt_base; then + /sbin/modprobe binfmt_misc + fi + mntd=$( mount | grep binfmt_misc ) + if test "$mntd"X = X; then + mount -t binfmt_misc binfmt_misc $fmt_base + fi +} + +# See how we were called. +case "$1" in + start) + echo -n "Installing IA-64 interpreter: " + verify_binfmt_mnt + echo ":ia64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x32\x00::$interp:" >$fmt_base/register + echo -n static, + echo ":ia64dyn:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x32\x00::$interp:" >$fmt_base/register + echo dynamic + ;; + + stop) + echo -n "Removing IA-64 interpreter: " + if test -f $fmt_base/ia64; then + echo -1 >$fmt_base/ia64 + fi + if test -f $fmt_base/ia64dyn; then + echo -1 >$fmt_base/ia64dyn + fi + echo done + ;; + + restart) + echo -n "Restarting IA-64 interpreter: " + verify_binfmt_mnt + if [ -f $fmt_base/ia64 ]; then + echo -1 >$fmt_base/ia64 + fi + if test -f $fmt_base/ia64dyn; then + echo -1 >$fmt_base/ia64dyn + fi + echo ":ia64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x32\x00::$interp:" >$fmt_base/register + echo -n static, + echo ":ia64dyn:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x32\x00::$interp:" >$fmt_base/register + echo dynamic + ;; + + status) + if [ ! -d $fmt_base ]; then + echo binfmt_misc support not present + exit 1 + fi + + echo binfmt_misc status is `cat $fmt_base/status` + + if [ ! -f $fmt_base/ia64 ]; then + echo ia64 static not configured + exit 1 + fi + + if [ ! -f $fmt_base/ia64dyn ]; then + echo ia64 dynamic not configured + exit 1 + fi + + cat $fmt_base/ia64 + cat $fmt_base/ia64dyn + ;; + + force-reload) + /etc/init.d/ski stop + /etc/init.d/ski start + ;; + *) + echo "Usage: ia64fmt {start|stop|restart|status}" + exit 1 +esac + +exit 0 + diff --git a/missing b/missing new file mode 120000 index 0000000..0ba95d1 --- /dev/null +++ b/missing @@ -0,0 +1 @@ +/usr/share/automake-1.9/missing \ No newline at end of file diff --git a/ski-config b/ski-config new file mode 100755 index 0000000..04c4f06 --- /dev/null +++ b/ski-config @@ -0,0 +1,84 @@ +#!/bin/sh + +prefix=/usr/local +exec_prefix=${prefix} +exec_prefix_set=no + +usage() +{ + cat <&2 +fi + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo 1.1.3-gplv2 + exit 0 + ;; + --cflags) + echo_cflags=yes + ;; + --ldflags) + echo_ldflags=yes + ;; + --libs) + echo_libs=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi +if test "$echo_cflags" = "yes"; then + skiversion=1.1 + echo -I${prefix}/include/ski-$skiversion -I${exec_prefix}/lib/ski/include $includes +fi +if test "$echo_ldflags" = "yes"; then + echo -L${exec_prefix}/lib +fi +if test "$echo_libs" = "yes"; then + echo -lskiui -lski +fi diff --git a/ski-config.in b/ski-config.in new file mode 100644 index 0000000..057aa3b --- /dev/null +++ b/ski-config.in @@ -0,0 +1,84 @@ +#!/bin/sh + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +exec_prefix_set=no + +usage() +{ + cat <&2 +fi + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo @SKI_VERSION@-@SKI_RELEASE@ + exit 0 + ;; + --cflags) + echo_cflags=yes + ;; + --ldflags) + echo_ldflags=yes + ;; + --libs) + echo_libs=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi +if test "$echo_cflags" = "yes"; then + skiversion=@SKI_MAJOR_VERSION@.@SKI_MINOR_VERSION@ + echo -I@includedir@/ski-$skiversion -I@libdir@/ski/include $includes +fi +if test "$echo_ldflags" = "yes"; then + echo -L@libdir@ +fi +if test "$echo_libs" = "yes"; then + echo -lskiui -lski +fi diff --git a/ski.spec b/ski.spec new file mode 100644 index 0000000..f222a4c --- /dev/null +++ b/ski.spec @@ -0,0 +1,125 @@ +%define RELEASE gplv2.iPDL.1 +%define _prefix /usr/local + +Summary: The Ski simulator +Name: ski +Version: 1.1.3 +Release: %{RELEASE} +Copyright: Copyright Hewlett-Packard Development Company, L.P. +Vendor: Hewlett-Packard +Group: Applications/Simulator +Source: ftp://golbat.cup.hp.com/pub/dists/ski/%{name}-%{version}.tar.gz +Url: http://golbat.cup.hp.com/ski.html +BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root +Prefix: %{_prefix} +%ifos linux +Prereq: /sbin/ldconfig +%endif + +%description +The Ski simulator + +%package devel +Summary: The Ski simulator support library. +Group: Development/Libraries +Requires: ski = %{version} + +%description devel +The ski-devel package includes the static libraries and header files +for the support library for the Ski simulator. + +Install ski-devel if you want to develop programs which will use Ski. + +%prep +%setup -q + +%build +%ifos linux +CONFIGURE_FLAGS="--with-bfd-includes=/usr/ia64-redhat-linux/include/i386 \ + --with-bfd-libs=/usr/ia64-redhat-linux/lib/i386" +%endif + +if test "x$CC" = xicc; then + export CFLAGS="-O3 -tpp6 -axiM" + RPM_BUILD_NCPUS=1 +else + export CFLAGS="-O3 -fno-strict-aliasing -fomit-frame-pointer \ + `echo $RPM_OPT_FLAGS | sed -e 's|-O[0-9]*[ \t\r]*||g'`"; +fi + +%configure --enable-shared $CONFIGURE_FLAGS + +# if RPM_BUILD_NCPUS unset, set it +if [ -z "$RPM_BUILD_NCPUS" ] ; then +%ifos linux + if [ -x /usr/bin/getconf ] ; then + RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN) + if [ $RPM_BUILD_NCPUS -eq 0 ]; then + RPM_BUILD_NCPUS=1 + else + RPM_BUILD_NCPUS=`expr $RPM_BUILD_NCPUS \* 3 / 2` + fi + else + RPM_BUILD_NCPUS=1 + fi +%else + RPM_BUILD_NCPUS=1 +%endif +fi + +make -j$RPM_BUILD_NCPUS + +%install +rm -rf $RPM_BUILD_ROOT +%makeinstall + +strip $RPM_BUILD_ROOT%{_bindir}/ski +ln -f $RPM_BUILD_ROOT%{_bindir}/ski $RPM_BUILD_ROOT%{_bindir}/xski +ln -f $RPM_BUILD_ROOT%{_bindir}/ski $RPM_BUILD_ROOT%{_bindir}/bski +mkdir -p $RPM_BUILD_ROOT/usr/lib/X11/app-defaults +cp $RPM_BUILD_ROOT%{_libdir}/X11/app-defaults/XSki \ + $RPM_BUILD_ROOT/usr/lib/X11/app-defaults + +%clean +[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT + +%ifos linux +%post +{ + grep "^%{prefix}/lib$" /etc/ld.so.conf &> /dev/null + [ $? -ne 0 ] && echo "%{prefix}/lib" >> /etc/ld.so.conf + /sbin/ldconfig +} + +%postun +{ + if [ "$1" = "0" ]; then + grep -v "^%{prefix}/lib$" /etc/ld.so.conf > /etc/ld.so.conf.new + # preserve permissions + cat /etc/ld.so.conf.new > /etc/ld.so.conf + rm -f /etc/ld.so.conf.new + fi + /sbin/ldconfig +} +%endif + +%files +%defattr(-, root, root) + +%{_bindir}/ski +%{_bindir}/xski +%{_bindir}/bski +%{_libdir}/libski*.s?.* +/usr/lib/X11/app-defaults/XSki + +%files devel +%defattr(-, root, root) + +%{_bindir}/ski-config +%{_libdir}/lib*.s? +%{_libdir}/lib*.a +%{_includedir}/* + +%changelog +* Tue May 14 2002 Laurent Morichetti (0.9.77 release) +- Initial diff --git a/ski.spec.in b/ski.spec.in new file mode 100644 index 0000000..6b34a0f --- /dev/null +++ b/ski.spec.in @@ -0,0 +1,125 @@ +%define RELEASE @SKI_RELEASE@.iPDL.1 +%define _prefix @prefix@ + +Summary: The Ski simulator +Name: ski +Version: @VERSION@ +Release: %{RELEASE} +Copyright: Copyright Hewlett-Packard Development Company, L.P. +Vendor: Hewlett-Packard +Group: Applications/Simulator +Source: ftp://golbat.cup.hp.com/pub/dists/ski/%{name}-%{version}.tar.gz +Url: http://golbat.cup.hp.com/ski.html +BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root +Prefix: %{_prefix} +%ifos linux +Prereq: /sbin/ldconfig +%endif + +%description +The Ski simulator + +%package devel +Summary: The Ski simulator support library. +Group: Development/Libraries +Requires: ski = %{version} + +%description devel +The ski-devel package includes the static libraries and header files +for the support library for the Ski simulator. + +Install ski-devel if you want to develop programs which will use Ski. + +%prep +%setup -q + +%build +%ifos linux +CONFIGURE_FLAGS="--with-bfd-includes=/usr/ia64-redhat-linux/include/i386 \ + --with-bfd-libs=/usr/ia64-redhat-linux/lib/i386" +%endif + +if test "x$CC" = xicc; then + export CFLAGS="-O3 -tpp6 -axiM" + RPM_BUILD_NCPUS=1 +else + export CFLAGS="-O3 -fno-strict-aliasing -fomit-frame-pointer \ + `echo $RPM_OPT_FLAGS | sed -e 's|-O[0-9]*[ \t\r]*||g'`"; +fi + +%configure --enable-shared $CONFIGURE_FLAGS + +# if RPM_BUILD_NCPUS unset, set it +if [ -z "$RPM_BUILD_NCPUS" ] ; then +%ifos linux + if [ -x /usr/bin/getconf ] ; then + RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN) + if [ $RPM_BUILD_NCPUS -eq 0 ]; then + RPM_BUILD_NCPUS=1 + else + RPM_BUILD_NCPUS=`expr $RPM_BUILD_NCPUS \* 3 / 2` + fi + else + RPM_BUILD_NCPUS=1 + fi +%else + RPM_BUILD_NCPUS=1 +%endif +fi + +make -j$RPM_BUILD_NCPUS + +%install +rm -rf $RPM_BUILD_ROOT +%makeinstall + +strip $RPM_BUILD_ROOT%{_bindir}/ski +ln -f $RPM_BUILD_ROOT%{_bindir}/ski $RPM_BUILD_ROOT%{_bindir}/xski +ln -f $RPM_BUILD_ROOT%{_bindir}/ski $RPM_BUILD_ROOT%{_bindir}/bski +mkdir -p $RPM_BUILD_ROOT/usr/lib/X11/app-defaults +cp $RPM_BUILD_ROOT%{_libdir}/X11/app-defaults/XSki \ + $RPM_BUILD_ROOT/usr/lib/X11/app-defaults + +%clean +[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT + +%ifos linux +%post +{ + grep "^%{prefix}/lib$" /etc/ld.so.conf &> /dev/null + [ $? -ne 0 ] && echo "%{prefix}/lib" >> /etc/ld.so.conf + /sbin/ldconfig +} + +%postun +{ + if [ "$1" = "0" ]; then + grep -v "^%{prefix}/lib$" /etc/ld.so.conf > /etc/ld.so.conf.new + # preserve permissions + cat /etc/ld.so.conf.new > /etc/ld.so.conf + rm -f /etc/ld.so.conf.new + fi + /sbin/ldconfig +} +%endif + +%files +%defattr(-, root, root) + +%{_bindir}/ski +%{_bindir}/xski +%{_bindir}/bski +%{_libdir}/libski*.s?.* +/usr/lib/X11/app-defaults/XSki + +%files devel +%defattr(-, root, root) + +%{_bindir}/ski-config +%{_libdir}/lib*.s? +%{_libdir}/lib*.a +%{_includedir}/* + +%changelog +* Tue May 14 2002 Laurent Morichetti (0.9.77 release) +- Initial diff --git a/src/.deps/asm.Plo b/src/.deps/asm.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/asm.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/asm_hash.Plo b/src/.deps/asm_hash.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/asm_hash.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/batch.Plo b/src/.deps/batch.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/batch.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/combfns.Plo b/src/.deps/combfns.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/combfns.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/convert.Plo b/src/.deps/convert.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/convert.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/cur.Plo b/src/.deps/cur.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/cur.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/das_instr.Plo b/src/.deps/das_instr.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/das_instr.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/data.Plo b/src/.deps/data.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/data.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/dos.Plo b/src/.deps/dos.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/dos.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/dwarf-hpux.Plo b/src/.deps/dwarf-hpux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/dwarf-hpux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/dwarf-linux.Plo b/src/.deps/dwarf-linux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/dwarf-linux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/dwarf.Plo b/src/.deps/dwarf.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/dwarf.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/eparse.Plo b/src/.deps/eparse.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/eparse.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/escan.Plo b/src/.deps/escan.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/escan.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/firmware.Plo b/src/.deps/firmware.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/firmware.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/float.Plo b/src/.deps/float.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/float.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ia_das.Plo b/src/.deps/ia_das.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ia_das.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ia_exec.Plo b/src/.deps/ia_exec.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ia_exec.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ia_read.Plo b/src/.deps/ia_read.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ia_read.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ia_write.Plo b/src/.deps/ia_write.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ia_write.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/iadas_decoder.Plo b/src/.deps/iadas_decoder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/iadas_decoder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/iaexec_decoder.Plo b/src/.deps/iaexec_decoder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/iaexec_decoder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/impl.Plo b/src/.deps/impl.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/impl.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/instr.Plo b/src/.deps/instr.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/instr.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/interruption.Plo b/src/.deps/interruption.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/interruption.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/libdas.Plo b/src/.deps/libdas.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/libdas.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/libsrs.Plo b/src/.deps/libsrs.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/libsrs.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/libsym.Plo b/src/.deps/libsym.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/libsym.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/libtrace.Plo b/src/.deps/libtrace.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/libtrace.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/load.Plo b/src/.deps/load.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/load.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/main.Po b/src/.deps/main.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/main.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/memory.Plo b/src/.deps/memory.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/memory.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/memui.Plo b/src/.deps/memui.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/memui.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/menu.Plo b/src/.deps/menu.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/menu.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/misc.Plo b/src/.deps/misc.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/misc.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/netdev.Plo b/src/.deps/netdev.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/netdev.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/os_support.Plo b/src/.deps/os_support.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/os_support.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/osload-hpux.Plo b/src/.deps/osload-hpux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/osload-hpux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/osload-linux.Plo b/src/.deps/osload-linux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/osload-linux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/osload.Plo b/src/.deps/osload.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/osload.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/platform.Plo b/src/.deps/platform.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/platform.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/predecode.Plo b/src/.deps/predecode.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/predecode.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/program.Plo b/src/.deps/program.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/program.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/signal.Plo b/src/.deps/signal.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/signal.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/sim.Plo b/src/.deps/sim.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/sim.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ski.Plo b/src/.deps/ski.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ski.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ski_hook.Plo b/src/.deps/ski_hook.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ski_hook.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssDBT.Plo b/src/.deps/ssDBT.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssDBT.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssDCmd.Plo b/src/.deps/ssDCmd.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssDCmd.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssDDM.Plo b/src/.deps/ssDDM.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssDDM.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssDPrs.Plo b/src/.deps/ssDPrs.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssDPrs.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssDSym.Plo b/src/.deps/ssDSym.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssDSym.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssX.Plo b/src/.deps/ssX.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssX.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssXDSD.Plo b/src/.deps/ssXDSD.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssXDSD.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ssc.Plo b/src/.deps/ssc.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ssc.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/state.Plo b/src/.deps/state.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/state.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/syscall-hpux.Plo b/src/.deps/syscall-hpux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/syscall-hpux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/syscall-linux.Plo b/src/.deps/syscall-linux.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/syscall-linux.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/syscall.Plo b/src/.deps/syscall.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/syscall.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/tlb.Plo b/src/.deps/tlb.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/tlb.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/trace.Plo b/src/.deps/trace.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/trace.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/traceui.Plo b/src/.deps/traceui.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/traceui.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/ui.Plo b/src/.deps/ui.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/ui.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/.deps/version.Plo b/src/.deps/version.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/.deps/version.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/Copyright b/src/Copyright new file mode 100644 index 0000000..a1ce14b --- /dev/null +++ b/src/Copyright @@ -0,0 +1,19 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..17d66df --- /dev/null +++ b/src/Makefile @@ -0,0 +1,1267 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +bin_PROGRAMS = ski$(EXEEXT) +subdir = src +DIST_COMMON = $(noinst_HEADERS) $(skiinclude_HEADERS) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in eparse.c escan.c +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = ski_elf.h +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(skiincludedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +am__DEPENDENCIES_1 = +libski_la_DEPENDENCIES = encoder/libencoder.la decoder/libdecoder.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am__libski_la_SOURCES_DIST = combfns.h combfns.c predecode.c \ + predecode.h immed.h iaexec_decoder.c icnt_core.h icnt_ui.h \ + state.c sim.c memory.c float.c interruption.c tlb.c ia_read.c \ + ia_exec.c ia_write.c dos.c memui.c trace.c libtrace.c impl.c \ + os_support.c ski_hook.c instr.c netdev.c linux/dwarf-linux.c \ + linux/osload-linux.c linux/syscall-linux.c \ + linux/syscall-linux.h hpux/dwarf-hpux.c hpux/osload-hpux.c \ + hpux/syscall-hpux.c hpux/syscall-hpux.h freebsd/convert.c \ + freebsd/dwarf.c freebsd/firmware.c freebsd/machdep.h \ + freebsd/misc.c freebsd/osload.c freebsd/signal.c freebsd/ssc.c \ + freebsd/syscall.c freebsd/syscall.h libsym.c +am__objects_1 = combfns.lo +am__objects_2 = predecode.lo +am__objects_3 = iaexec_decoder.lo +am__objects_4 = +am__objects_5 = netdev.lo +am__objects_6 = dwarf-linux.lo osload-linux.lo syscall-linux.lo +am__objects_7 = $(am__objects_6) +am__objects_8 = dwarf-hpux.lo osload-hpux.lo syscall-hpux.lo +#am__objects_9 = $(am__objects_8) +am__objects_10 = convert.lo dwarf.lo firmware.lo misc.lo osload.lo \ + signal.lo ssc.lo syscall.lo +#am__objects_11 = $(am__objects_10) +am_libski_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) state.lo sim.lo memory.lo \ + float.lo interruption.lo tlb.lo ia_read.lo ia_exec.lo \ + ia_write.lo dos.lo memui.lo trace.lo libtrace.lo impl.lo \ + os_support.lo ski_hook.lo instr.lo $(am__objects_5) \ + $(am__objects_7) $(am__objects_9) $(am__objects_11) libsym.lo +libski_la_OBJECTS = $(am_libski_la_OBJECTS) +libskiui_la_DEPENDENCIES = +am__objects_12 = asm_hash.lo +am__objects_13 = iadas_decoder.lo +am__objects_14 = das_instr.lo +am_libskiui_la_OBJECTS = $(am__objects_12) $(am__objects_13) \ + $(am__objects_4) $(am__objects_14) ski.lo menu.lo ssDBT.lo \ + ssDDM.lo ssDCmd.lo program.lo data.lo ssDSym.lo ssDPrs.lo \ + traceui.lo ia_das.lo ui.lo batch.lo cur.lo ssX.lo ssXDSD.lo \ + asm.lo version.lo eparse.lo escan.lo load.lo platform.lo \ + libdas.lo libsrs.lo +libskiui_la_OBJECTS = $(am_libskiui_la_OBJECTS) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_ski_OBJECTS = main.$(OBJEXT) +ski_OBJECTS = $(am_ski_OBJECTS) +ski_DEPENDENCIES = libskiui.la libski.la +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \ + $(AM_YFLAGS) +SOURCES = $(libski_la_SOURCES) $(EXTRA_libski_la_SOURCES) \ + $(libskiui_la_SOURCES) $(ski_SOURCES) +DIST_SOURCES = $(am__libski_la_SOURCES_DIST) \ + $(EXTRA_libski_la_SOURCES) $(libskiui_la_SOURCES) \ + $(ski_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +DATA = $(noinst_DATA) +skiincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(noinst_HEADERS) $(skiinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS = decoder encoder fake-xterm +AM_CPPFLAGS = $(INCLTDL) $(X_CFLAGS) $(DWARF_CFLAGS) -I$(srcdir)/decoder \ + -I$(srcdir)/encoder -I$(top_builddir)/src/encoder \ + -I$(top_builddir)/src/decoder + +lib_LTLIBRARIES = libski.la libskiui.la +ENCODING_FILES = \ + encodings/encoding.decode \ + encodings/encoding.encode \ + encodings/encoding.format \ + encodings/encoding.imm \ + encodings/encoding.opcode \ + encodings/encoding.unusedop + +noinst_SCRIPTS = \ + asm.awk \ + das.awk \ + mkfns.awk \ + opcode.awk \ + combfns.awk \ + fmtimm.awk \ + mkicnt.awk \ + predecode.awk \ + iaexec_dec.sed \ + iadas_dec.sed \ + ia_types.sed \ + make_asm + +noinst_DATA = \ + execTbl \ + $(ENCODING_FILES) \ + Copyright + +COMBFNS_FILES = \ + exec.c \ + fp_exec.c \ + mem_exec.c \ + mm_exec.c \ + read.c \ + sys_exec.c \ + write.c + +COMBFNS_DERIVED = \ + combfns.h combfns.c + +PREDECODE_DERIVED = \ + predecode.c \ + predecode.h \ + immed.h + +IAEXEC_DECODER_DERIVED = \ + iaexec_decoder.c + +IADAS_DECODER_DERIVED = \ + iadas_decoder.c + +IADAS_TYPES_DERIVED = \ + iadas_types.h + +DAS_INSTR_DERIVED = \ + das_instr.c + +ASM_HASH_DERIVED = \ + asm_hash.c + +ICNT_DERIVED = \ + icnt_core.h \ + icnt_ui.h + +#NETDEV_C = +NETDEV_C = netdev.c +BUILT_SOURCES = \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + $(ASM_HASH_DERIVED) \ + $(ICNT_DERIVED) \ + instr.c + +ski_SOURCES = \ + main.c + +ski_LDFLAGS = -all-static + +# on HPUX libtool does not work w/ -all-static +#ski_LDFLAGS = -static + +# Debian wants everything to be dynamically linked +ski_LDFLAGS = +ski_LDADD = libskiui.la libski.la +skiincludedir = $(includedir)/ski-$(SKI_MAJOR_VERSION).$(SKI_MINOR_VERSION) +skiinclude_HEADERS = \ + asm.h \ + bits.h \ + coreui.h \ + exportui.h \ + fields.h \ + libcore.h \ + libsym.h \ + memory.h \ + os_support.h \ + platform.h \ + sim.h \ + ski.h \ + state.h \ + std.h \ + types.h + +noinst_HEADERS = \ + tlb.h \ + instinfo.h \ + sign_ext.h \ + interruption.h \ + ia_types.h \ + ia_state.h \ + ia_exec.h \ + ssc.h \ + float.h \ + ia_read.h \ + ia_write.h \ + libtrace.h \ + trace.h \ + instr.h \ + ia_decoder.h \ + package.h \ + libsrs.h \ + lp64struct.h \ + libui.h \ + memui.h \ + ia_das.h \ + das_instr.h \ + ssDCmd.h \ + lm.h \ + data.h \ + dos.h \ + program.h \ + eparse.h \ + libdas.h \ + netdev.h \ + osload.h + +EXTRA_linux_FILES = \ + linux/dwarf-linux.c \ + linux/osload-linux.c \ + linux/syscall-linux.c \ + linux/syscall-linux.h + +#linux_FILES = +linux_FILES = $(EXTRA_linux_FILES) +EXTRA_hpux_FILES = \ + hpux/dwarf-hpux.c \ + hpux/osload-hpux.c \ + hpux/syscall-hpux.c \ + hpux/syscall-hpux.h + +hpux_FILES = +#hpux_FILES = $(EXTRA_hpux_FILES) +EXTRA_freebsd_FILES = \ + freebsd/convert.c \ + freebsd/dwarf.c \ + freebsd/firmware.c \ + freebsd/machdep.h \ + freebsd/misc.c \ + freebsd/osload.c \ + freebsd/signal.c \ + freebsd/ssc.c \ + freebsd/syscall.c \ + freebsd/syscall.h + +freebsd_FILES = +#freebsd_FILES = $(EXTRA_freebsd_FILES) +libskiui_la_SOURCES = \ + $(ASM_HASH_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + ski.c \ + menu.c \ + ssDBT.c \ + ssDDM.c \ + ssDCmd.c \ + program.c \ + data.c \ + ssDSym.c \ + ssDPrs.c \ + traceui.c \ + ia_das.c \ + ui.c \ + batch.c \ + cur.c \ + ssX.c \ + ssXDSD.c \ + asm.c \ + version.c \ + eparse.y \ + escan.l \ + load.c \ + platform.c \ + libdas.c \ + libsrs.c + +libski_la_SOURCES = \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(ICNT_DERIVED) \ + state.c \ + sim.c \ + memory.c \ + float.c \ + interruption.c \ + tlb.c \ + ia_read.c \ + ia_exec.c \ + ia_write.c \ + dos.c \ + memui.c \ + trace.c \ + libtrace.c \ + impl.c \ + os_support.c \ + ski_hook.c \ + instr.c \ + $(NETDEV_C) \ + $(linux_FILES) \ + $(hpux_FILES) \ + $(freebsd_FILES) \ + libsym.c + +EXTRA_libski_la_SOURCES = \ + $(EXTRA_linux_FILES) \ + $(EXTRA_hpux_FILES) \ + $(EXTRA_freebsd_FILES) \ + netdev.c + +libski_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libski_la_LIBADD = encoder/libencoder.la decoder/libdecoder.la $(LIBLTDL) \ + $(DWARF_LIBS) + +libskiui_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libskiui_la_LIBADD = $(X_INTERFACE_LIBS) +EXTRA_DIST = \ + exec_hd.c \ + ia_decoder.c \ + missing/ski_elf.h \ + $(COMBFNS_FILES) \ + $(noinst_DATA) \ + $(noinst_SCRIPTS) + +XSKI = +#XSKI = xski +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .l .lo .o .obj .y +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libski.la: $(libski_la_OBJECTS) $(libski_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libski_la_LDFLAGS) $(libski_la_OBJECTS) $(libski_la_LIBADD) $(LIBS) +libskiui.la: $(libskiui_la_OBJECTS) $(libskiui_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libskiui_la_LDFLAGS) $(libskiui_la_OBJECTS) $(libskiui_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ski$(EXEEXT): $(ski_OBJECTS) $(ski_DEPENDENCIES) + @rm -f ski$(EXEEXT) + $(LINK) $(ski_LDFLAGS) $(ski_OBJECTS) $(ski_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/asm.Plo +include ./$(DEPDIR)/asm_hash.Plo +include ./$(DEPDIR)/batch.Plo +include ./$(DEPDIR)/combfns.Plo +include ./$(DEPDIR)/convert.Plo +include ./$(DEPDIR)/cur.Plo +include ./$(DEPDIR)/das_instr.Plo +include ./$(DEPDIR)/data.Plo +include ./$(DEPDIR)/dos.Plo +include ./$(DEPDIR)/dwarf-hpux.Plo +include ./$(DEPDIR)/dwarf-linux.Plo +include ./$(DEPDIR)/dwarf.Plo +include ./$(DEPDIR)/eparse.Plo +include ./$(DEPDIR)/escan.Plo +include ./$(DEPDIR)/firmware.Plo +include ./$(DEPDIR)/float.Plo +include ./$(DEPDIR)/ia_das.Plo +include ./$(DEPDIR)/ia_exec.Plo +include ./$(DEPDIR)/ia_read.Plo +include ./$(DEPDIR)/ia_write.Plo +include ./$(DEPDIR)/iadas_decoder.Plo +include ./$(DEPDIR)/iaexec_decoder.Plo +include ./$(DEPDIR)/impl.Plo +include ./$(DEPDIR)/instr.Plo +include ./$(DEPDIR)/interruption.Plo +include ./$(DEPDIR)/libdas.Plo +include ./$(DEPDIR)/libsrs.Plo +include ./$(DEPDIR)/libsym.Plo +include ./$(DEPDIR)/libtrace.Plo +include ./$(DEPDIR)/load.Plo +include ./$(DEPDIR)/main.Po +include ./$(DEPDIR)/memory.Plo +include ./$(DEPDIR)/memui.Plo +include ./$(DEPDIR)/menu.Plo +include ./$(DEPDIR)/misc.Plo +include ./$(DEPDIR)/netdev.Plo +include ./$(DEPDIR)/os_support.Plo +include ./$(DEPDIR)/osload-hpux.Plo +include ./$(DEPDIR)/osload-linux.Plo +include ./$(DEPDIR)/osload.Plo +include ./$(DEPDIR)/platform.Plo +include ./$(DEPDIR)/predecode.Plo +include ./$(DEPDIR)/program.Plo +include ./$(DEPDIR)/signal.Plo +include ./$(DEPDIR)/sim.Plo +include ./$(DEPDIR)/ski.Plo +include ./$(DEPDIR)/ski_hook.Plo +include ./$(DEPDIR)/ssDBT.Plo +include ./$(DEPDIR)/ssDCmd.Plo +include ./$(DEPDIR)/ssDDM.Plo +include ./$(DEPDIR)/ssDPrs.Plo +include ./$(DEPDIR)/ssDSym.Plo +include ./$(DEPDIR)/ssX.Plo +include ./$(DEPDIR)/ssXDSD.Plo +include ./$(DEPDIR)/ssc.Plo +include ./$(DEPDIR)/state.Plo +include ./$(DEPDIR)/syscall-hpux.Plo +include ./$(DEPDIR)/syscall-linux.Plo +include ./$(DEPDIR)/syscall.Plo +include ./$(DEPDIR)/tlb.Plo +include ./$(DEPDIR)/trace.Plo +include ./$(DEPDIR)/traceui.Plo +include ./$(DEPDIR)/ui.Plo +include ./$(DEPDIR)/version.Plo + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +dwarf-linux.lo: linux/dwarf-linux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf-linux.lo -MD -MP -MF "$(DEPDIR)/dwarf-linux.Tpo" -c -o dwarf-linux.lo `test -f 'linux/dwarf-linux.c' || echo '$(srcdir)/'`linux/dwarf-linux.c; \ + then mv -f "$(DEPDIR)/dwarf-linux.Tpo" "$(DEPDIR)/dwarf-linux.Plo"; else rm -f "$(DEPDIR)/dwarf-linux.Tpo"; exit 1; fi +# source='linux/dwarf-linux.c' object='dwarf-linux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf-linux.lo `test -f 'linux/dwarf-linux.c' || echo '$(srcdir)/'`linux/dwarf-linux.c + +osload-linux.lo: linux/osload-linux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload-linux.lo -MD -MP -MF "$(DEPDIR)/osload-linux.Tpo" -c -o osload-linux.lo `test -f 'linux/osload-linux.c' || echo '$(srcdir)/'`linux/osload-linux.c; \ + then mv -f "$(DEPDIR)/osload-linux.Tpo" "$(DEPDIR)/osload-linux.Plo"; else rm -f "$(DEPDIR)/osload-linux.Tpo"; exit 1; fi +# source='linux/osload-linux.c' object='osload-linux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload-linux.lo `test -f 'linux/osload-linux.c' || echo '$(srcdir)/'`linux/osload-linux.c + +syscall-linux.lo: linux/syscall-linux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall-linux.lo -MD -MP -MF "$(DEPDIR)/syscall-linux.Tpo" -c -o syscall-linux.lo `test -f 'linux/syscall-linux.c' || echo '$(srcdir)/'`linux/syscall-linux.c; \ + then mv -f "$(DEPDIR)/syscall-linux.Tpo" "$(DEPDIR)/syscall-linux.Plo"; else rm -f "$(DEPDIR)/syscall-linux.Tpo"; exit 1; fi +# source='linux/syscall-linux.c' object='syscall-linux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall-linux.lo `test -f 'linux/syscall-linux.c' || echo '$(srcdir)/'`linux/syscall-linux.c + +dwarf-hpux.lo: hpux/dwarf-hpux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf-hpux.lo -MD -MP -MF "$(DEPDIR)/dwarf-hpux.Tpo" -c -o dwarf-hpux.lo `test -f 'hpux/dwarf-hpux.c' || echo '$(srcdir)/'`hpux/dwarf-hpux.c; \ + then mv -f "$(DEPDIR)/dwarf-hpux.Tpo" "$(DEPDIR)/dwarf-hpux.Plo"; else rm -f "$(DEPDIR)/dwarf-hpux.Tpo"; exit 1; fi +# source='hpux/dwarf-hpux.c' object='dwarf-hpux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf-hpux.lo `test -f 'hpux/dwarf-hpux.c' || echo '$(srcdir)/'`hpux/dwarf-hpux.c + +osload-hpux.lo: hpux/osload-hpux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload-hpux.lo -MD -MP -MF "$(DEPDIR)/osload-hpux.Tpo" -c -o osload-hpux.lo `test -f 'hpux/osload-hpux.c' || echo '$(srcdir)/'`hpux/osload-hpux.c; \ + then mv -f "$(DEPDIR)/osload-hpux.Tpo" "$(DEPDIR)/osload-hpux.Plo"; else rm -f "$(DEPDIR)/osload-hpux.Tpo"; exit 1; fi +# source='hpux/osload-hpux.c' object='osload-hpux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload-hpux.lo `test -f 'hpux/osload-hpux.c' || echo '$(srcdir)/'`hpux/osload-hpux.c + +syscall-hpux.lo: hpux/syscall-hpux.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall-hpux.lo -MD -MP -MF "$(DEPDIR)/syscall-hpux.Tpo" -c -o syscall-hpux.lo `test -f 'hpux/syscall-hpux.c' || echo '$(srcdir)/'`hpux/syscall-hpux.c; \ + then mv -f "$(DEPDIR)/syscall-hpux.Tpo" "$(DEPDIR)/syscall-hpux.Plo"; else rm -f "$(DEPDIR)/syscall-hpux.Tpo"; exit 1; fi +# source='hpux/syscall-hpux.c' object='syscall-hpux.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall-hpux.lo `test -f 'hpux/syscall-hpux.c' || echo '$(srcdir)/'`hpux/syscall-hpux.c + +convert.lo: freebsd/convert.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convert.lo -MD -MP -MF "$(DEPDIR)/convert.Tpo" -c -o convert.lo `test -f 'freebsd/convert.c' || echo '$(srcdir)/'`freebsd/convert.c; \ + then mv -f "$(DEPDIR)/convert.Tpo" "$(DEPDIR)/convert.Plo"; else rm -f "$(DEPDIR)/convert.Tpo"; exit 1; fi +# source='freebsd/convert.c' object='convert.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convert.lo `test -f 'freebsd/convert.c' || echo '$(srcdir)/'`freebsd/convert.c + +dwarf.lo: freebsd/dwarf.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf.lo -MD -MP -MF "$(DEPDIR)/dwarf.Tpo" -c -o dwarf.lo `test -f 'freebsd/dwarf.c' || echo '$(srcdir)/'`freebsd/dwarf.c; \ + then mv -f "$(DEPDIR)/dwarf.Tpo" "$(DEPDIR)/dwarf.Plo"; else rm -f "$(DEPDIR)/dwarf.Tpo"; exit 1; fi +# source='freebsd/dwarf.c' object='dwarf.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf.lo `test -f 'freebsd/dwarf.c' || echo '$(srcdir)/'`freebsd/dwarf.c + +firmware.lo: freebsd/firmware.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT firmware.lo -MD -MP -MF "$(DEPDIR)/firmware.Tpo" -c -o firmware.lo `test -f 'freebsd/firmware.c' || echo '$(srcdir)/'`freebsd/firmware.c; \ + then mv -f "$(DEPDIR)/firmware.Tpo" "$(DEPDIR)/firmware.Plo"; else rm -f "$(DEPDIR)/firmware.Tpo"; exit 1; fi +# source='freebsd/firmware.c' object='firmware.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o firmware.lo `test -f 'freebsd/firmware.c' || echo '$(srcdir)/'`freebsd/firmware.c + +misc.lo: freebsd/misc.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc.lo -MD -MP -MF "$(DEPDIR)/misc.Tpo" -c -o misc.lo `test -f 'freebsd/misc.c' || echo '$(srcdir)/'`freebsd/misc.c; \ + then mv -f "$(DEPDIR)/misc.Tpo" "$(DEPDIR)/misc.Plo"; else rm -f "$(DEPDIR)/misc.Tpo"; exit 1; fi +# source='freebsd/misc.c' object='misc.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc.lo `test -f 'freebsd/misc.c' || echo '$(srcdir)/'`freebsd/misc.c + +osload.lo: freebsd/osload.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload.lo -MD -MP -MF "$(DEPDIR)/osload.Tpo" -c -o osload.lo `test -f 'freebsd/osload.c' || echo '$(srcdir)/'`freebsd/osload.c; \ + then mv -f "$(DEPDIR)/osload.Tpo" "$(DEPDIR)/osload.Plo"; else rm -f "$(DEPDIR)/osload.Tpo"; exit 1; fi +# source='freebsd/osload.c' object='osload.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload.lo `test -f 'freebsd/osload.c' || echo '$(srcdir)/'`freebsd/osload.c + +signal.lo: freebsd/signal.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT signal.lo -MD -MP -MF "$(DEPDIR)/signal.Tpo" -c -o signal.lo `test -f 'freebsd/signal.c' || echo '$(srcdir)/'`freebsd/signal.c; \ + then mv -f "$(DEPDIR)/signal.Tpo" "$(DEPDIR)/signal.Plo"; else rm -f "$(DEPDIR)/signal.Tpo"; exit 1; fi +# source='freebsd/signal.c' object='signal.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o signal.lo `test -f 'freebsd/signal.c' || echo '$(srcdir)/'`freebsd/signal.c + +ssc.lo: freebsd/ssc.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssc.lo -MD -MP -MF "$(DEPDIR)/ssc.Tpo" -c -o ssc.lo `test -f 'freebsd/ssc.c' || echo '$(srcdir)/'`freebsd/ssc.c; \ + then mv -f "$(DEPDIR)/ssc.Tpo" "$(DEPDIR)/ssc.Plo"; else rm -f "$(DEPDIR)/ssc.Tpo"; exit 1; fi +# source='freebsd/ssc.c' object='ssc.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssc.lo `test -f 'freebsd/ssc.c' || echo '$(srcdir)/'`freebsd/ssc.c + +syscall.lo: freebsd/syscall.c + if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall.lo -MD -MP -MF "$(DEPDIR)/syscall.Tpo" -c -o syscall.lo `test -f 'freebsd/syscall.c' || echo '$(srcdir)/'`freebsd/syscall.c; \ + then mv -f "$(DEPDIR)/syscall.Tpo" "$(DEPDIR)/syscall.Plo"; else rm -f "$(DEPDIR)/syscall.Tpo"; exit 1; fi +# source='freebsd/syscall.c' object='syscall.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall.lo `test -f 'freebsd/syscall.c' || echo '$(srcdir)/'`freebsd/syscall.c + +.l.c: + $(LEXCOMPILE) $< + sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ + rm -f $(LEX_OUTPUT_ROOT).c + +.y.c: + $(YACCCOMPILE) $< + if test -f y.tab.h; then \ + to=`echo "$*_H" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ + sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ + y.tab.h >$*.ht; \ + rm -f y.tab.h; \ + if cmp -s $*.ht $*.h; then \ + rm -f $*.ht ;\ + else \ + mv $*.ht $*.h; \ + fi; \ + fi + if test -f y.output; then \ + mv y.output $*.output; \ + fi + sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ + rm -f y.tab.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-skiincludeHEADERS: $(skiinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(skiincludedir)" || $(mkdir_p) "$(DESTDIR)$(skiincludedir)" + @list='$(skiinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(skiincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(skiincludedir)/$$f'"; \ + $(skiincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(skiincludedir)/$$f"; \ + done + +uninstall-skiincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(skiinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(skiincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(skiincludedir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/encodings $(distdir)/missing + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ + $(HEADERS) all-local +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(skiincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -rm -f eparse.c + -rm -f escan.c + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-skiincludeHEADERS + +install-exec-am: install-binPROGRAMS install-libLTLIBRARIES + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-skiincludeHEADERS + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local check \ + check-am clean clean-binPROGRAMS clean-generic \ + clean-libLTLIBRARIES clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-recursive \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-skiincludeHEADERS install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-skiincludeHEADERS + + +all-local: bski $(XSKI) + +bski $(XSKI): ski + @rm -f $@; ln ski $@ + +das_instr.c: das.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/libdas.c $(srcdir)/Copyright + @rm -f $(DAS_INSTR_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/das.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +icnt_ui.h: icnt_core.h +icnt_core.h: mkicnt.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/Copyright + @rm -f $(ICNT_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkicnt.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + touch icnt_ui.h + +asm_hash.c: $(encdir)/encoding.opcode \ + asm.awk make_asm $(srcdir)/Copyright + @rm -f $(ASM_HASH_DERIVED) + sh $(srcdir)/make_asm -p $(encdir) -e /dev/null + +iaexec_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iaexec_dec.sed + @rm -f $(IAEXEC_DECODER_DERIVED) + sed -f $(srcdir)/iaexec_dec.sed $(srcdir)/ia_decoder.c > iaexec_decoder.c + +iadas_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iadas_dec.sed + @rm -f $(IADAS_DECODER_DERIVED) + sed -f $(srcdir)/iadas_dec.sed $(srcdir)/ia_decoder.c > iadas_decoder.c + +iadas_types.h: $(srcdir)/ia_types.h $(srcdir)/ia_types.sed + @rm -f $(IADAS_TYPES_DERIVED) + sed -f $(srcdir)/ia_types.sed $(srcdir)/ia_types.h > iadas_types.h + +combfns.h: combfns.c +combfns.c: execTbl $(COMBFNS_FILES) mkfns.awk combfns.awk + @(rm -rf ./temp; mkdir temp; rm -f $(COMBFNS_DERIVED)) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkfns.awk \ + $(srcdir)/exec.c \ + $(srcdir)/fp_exec.c \ + $(srcdir)/mem_exec.c \ + $(srcdir)/mm_exec.c \ + $(srcdir)/read.c \ + $(srcdir)/sys_exec.c \ + $(srcdir)/write.c + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/combfns.awk \ + $(srcdir)/execTbl + @touch combfns.h + @rm -rf ./temp + +predecode.h: predecode.c +immed.h: predecode.c +predecode.c: $(encdir)/encoding.format $(encdir)/encoding.imm \ + fmtimm.awk predecode.awk $(srcdir)/Copyright + @rm -rf $(PREDECODE_DERIVED) + $(AWK) -v encdir=$(encdir) -f $(srcdir)/fmtimm.awk \ + $(encdir)/encoding.format | \ + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/predecode.awk - + @touch predecode.h immed.h + +instr.c: $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + opcode.awk execTbl $(srcdir)/Copyright + @rm -f instr.c + $(AWK) -v prefix=$(srcdir)/ \ + -f $(srcdir)/opcode.awk $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +eparse.h: eparse.c + +distclean-local: + -rm -f $(XSKI) bski $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..731d97c --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,397 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + + +SUBDIRS= decoder encoder fake-xterm + +AM_CPPFLAGS= $(INCLTDL) $(X_CFLAGS) $(DWARF_CFLAGS) -I$(srcdir)/decoder \ + -I$(srcdir)/encoder -I$(top_builddir)/src/encoder \ + -I$(top_builddir)/src/decoder + +lib_LTLIBRARIES=libski.la libskiui.la + +bin_PROGRAMS= ski + +ENCODING_FILES= \ + encodings/encoding.decode \ + encodings/encoding.encode \ + encodings/encoding.format \ + encodings/encoding.imm \ + encodings/encoding.opcode \ + encodings/encoding.unusedop + +noinst_SCRIPTS= \ + asm.awk \ + das.awk \ + mkfns.awk \ + opcode.awk \ + combfns.awk \ + fmtimm.awk \ + mkicnt.awk \ + predecode.awk \ + iaexec_dec.sed \ + iadas_dec.sed \ + ia_types.sed \ + make_asm + +noinst_DATA= \ + execTbl \ + $(ENCODING_FILES) \ + Copyright + +COMBFNS_FILES= \ + exec.c \ + fp_exec.c \ + mem_exec.c \ + mm_exec.c \ + read.c \ + sys_exec.c \ + write.c + +COMBFNS_DERIVED= \ + combfns.h combfns.c + +PREDECODE_DERIVED= \ + predecode.c \ + predecode.h \ + immed.h + +IAEXEC_DECODER_DERIVED= \ + iaexec_decoder.c + +IADAS_DECODER_DERIVED= \ + iadas_decoder.c + +IADAS_TYPES_DERIVED= \ + iadas_types.h + +DAS_INSTR_DERIVED= \ + das_instr.c + +ASM_HASH_DERIVED= \ + asm_hash.c + +ICNT_DERIVED= \ + icnt_core.h \ + icnt_ui.h + +if WITH_NETDEV +NETDEV_C=netdev.c +else +NETDEV_C= +endif + +BUILT_SOURCES= \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + $(ASM_HASH_DERIVED) \ + $(ICNT_DERIVED) \ + instr.c + +ski_SOURCES= \ + main.c + +if HPUX +# on HPUX libtool does not work w/ -all-static +ski_LDFLAGS=-static +else +ski_LDFLAGS=-all-static +endif + +if LINUX +# Debian wants everything to be dynamically linked +ski_LDFLAGS = +endif + +ski_LDADD= libskiui.la libski.la + +skiincludedir= $(includedir)/ski-$(SKI_MAJOR_VERSION).$(SKI_MINOR_VERSION) +skiinclude_HEADERS= \ + asm.h \ + bits.h \ + coreui.h \ + exportui.h \ + fields.h \ + libcore.h \ + libsym.h \ + memory.h \ + os_support.h \ + platform.h \ + sim.h \ + ski.h \ + state.h \ + std.h \ + types.h + +noinst_HEADERS= \ + tlb.h \ + instinfo.h \ + sign_ext.h \ + interruption.h \ + ia_types.h \ + ia_state.h \ + ia_exec.h \ + ssc.h \ + float.h \ + ia_read.h \ + ia_write.h \ + libtrace.h \ + trace.h \ + instr.h \ + ia_decoder.h \ + package.h \ + libsrs.h \ + lp64struct.h \ + libui.h \ + memui.h \ + ia_das.h \ + das_instr.h \ + ssDCmd.h \ + lm.h \ + data.h \ + dos.h \ + program.h \ + eparse.h \ + libdas.h \ + netdev.h \ + osload.h + +EXTRA_linux_FILES = \ + linux/dwarf-linux.c \ + linux/osload-linux.c \ + linux/syscall-linux.c \ + linux/syscall-linux.h + +if LINUX +linux_FILES = $(EXTRA_linux_FILES) +else +linux_FILES = +endif + +EXTRA_hpux_FILES = \ + hpux/dwarf-hpux.c \ + hpux/osload-hpux.c \ + hpux/syscall-hpux.c \ + hpux/syscall-hpux.h + +if HPUX +hpux_FILES = $(EXTRA_hpux_FILES) +else +hpux_FILES = +endif + +EXTRA_freebsd_FILES = \ + freebsd/convert.c \ + freebsd/dwarf.c \ + freebsd/firmware.c \ + freebsd/machdep.h \ + freebsd/misc.c \ + freebsd/osload.c \ + freebsd/signal.c \ + freebsd/ssc.c \ + freebsd/syscall.c \ + freebsd/syscall.h + +if FREEBSD +freebsd_FILES = $(EXTRA_freebsd_FILES) +else +freebsd_FILES = +endif + +libskiui_la_SOURCES= \ + $(ASM_HASH_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + ski.c \ + menu.c \ + ssDBT.c \ + ssDDM.c \ + ssDCmd.c \ + program.c \ + data.c \ + ssDSym.c \ + ssDPrs.c \ + traceui.c \ + ia_das.c \ + ui.c \ + batch.c \ + cur.c \ + ssX.c \ + ssXDSD.c \ + asm.c \ + version.c \ + eparse.y \ + escan.l \ + load.c \ + platform.c \ + libdas.c \ + libsrs.c + +libski_la_SOURCES= \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(ICNT_DERIVED) \ + state.c \ + sim.c \ + memory.c \ + float.c \ + interruption.c \ + tlb.c \ + ia_read.c \ + ia_exec.c \ + ia_write.c \ + dos.c \ + memui.c \ + trace.c \ + libtrace.c \ + impl.c \ + os_support.c \ + ski_hook.c \ + instr.c \ + $(NETDEV_C) \ + $(linux_FILES) \ + $(hpux_FILES) \ + $(freebsd_FILES) \ + libsym.c + +EXTRA_libski_la_SOURCES = \ + $(EXTRA_linux_FILES) \ + $(EXTRA_hpux_FILES) \ + $(EXTRA_freebsd_FILES) \ + netdev.c + +libski_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libski_la_LIBADD= encoder/libencoder.la decoder/libdecoder.la $(LIBLTDL) \ + $(DWARF_LIBS) + +libskiui_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libskiui_la_LIBADD= $(X_INTERFACE_LIBS) + +EXTRA_DIST= \ + exec_hd.c \ + ia_decoder.c \ + missing/ski_elf.h \ + $(COMBFNS_FILES) \ + $(noinst_DATA) \ + $(noinst_SCRIPTS) + +if WITH_X_INTERFACE +XSKI= xski +else +XSKI= +endif + +all-local: bski $(XSKI) + +bski $(XSKI): ski + @rm -f $@; ln ski $@ + +## DERIVED sources rules: + +das_instr.c: das.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/libdas.c $(srcdir)/Copyright + @rm -f $(DAS_INSTR_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/das.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +icnt_ui.h: icnt_core.h +icnt_core.h: mkicnt.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/Copyright + @rm -f $(ICNT_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkicnt.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + touch icnt_ui.h + +asm_hash.c: $(encdir)/encoding.opcode \ + asm.awk make_asm $(srcdir)/Copyright + @rm -f $(ASM_HASH_DERIVED) + sh $(srcdir)/make_asm -p $(encdir) -e /dev/null + +iaexec_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iaexec_dec.sed + @rm -f $(IAEXEC_DECODER_DERIVED) + sed -f $(srcdir)/iaexec_dec.sed $(srcdir)/ia_decoder.c > iaexec_decoder.c + +iadas_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iadas_dec.sed + @rm -f $(IADAS_DECODER_DERIVED) + sed -f $(srcdir)/iadas_dec.sed $(srcdir)/ia_decoder.c > iadas_decoder.c + +iadas_types.h: $(srcdir)/ia_types.h $(srcdir)/ia_types.sed + @rm -f $(IADAS_TYPES_DERIVED) + sed -f $(srcdir)/ia_types.sed $(srcdir)/ia_types.h > iadas_types.h + +combfns.h: combfns.c +combfns.c: execTbl $(COMBFNS_FILES) mkfns.awk combfns.awk + @(rm -rf ./temp; mkdir temp; rm -f $(COMBFNS_DERIVED)) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkfns.awk \ + $(srcdir)/exec.c \ + $(srcdir)/fp_exec.c \ + $(srcdir)/mem_exec.c \ + $(srcdir)/mm_exec.c \ + $(srcdir)/read.c \ + $(srcdir)/sys_exec.c \ + $(srcdir)/write.c + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/combfns.awk \ + $(srcdir)/execTbl + @touch combfns.h + @rm -rf ./temp + +predecode.h: predecode.c +immed.h: predecode.c +predecode.c: $(encdir)/encoding.format $(encdir)/encoding.imm \ + fmtimm.awk predecode.awk $(srcdir)/Copyright + @rm -rf $(PREDECODE_DERIVED) + $(AWK) -v encdir=$(encdir) -f $(srcdir)/fmtimm.awk \ + $(encdir)/encoding.format | \ + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/predecode.awk - + @touch predecode.h immed.h + +instr.c: $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + opcode.awk execTbl $(srcdir)/Copyright + @rm -f instr.c + $(AWK) -v prefix=$(srcdir)/ \ + -f $(srcdir)/opcode.awk $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +eparse.h: eparse.c + +distclean-local: + -rm -f $(XSKI) bski $(BUILT_SOURCES) diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..2bdf1e5 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,1267 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + + + + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = ski$(EXEEXT) +subdir = src +DIST_COMMON = $(noinst_HEADERS) $(skiinclude_HEADERS) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in eparse.c escan.c +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = ski_elf.h +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(skiincludedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +am__DEPENDENCIES_1 = +libski_la_DEPENDENCIES = encoder/libencoder.la decoder/libdecoder.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am__libski_la_SOURCES_DIST = combfns.h combfns.c predecode.c \ + predecode.h immed.h iaexec_decoder.c icnt_core.h icnt_ui.h \ + state.c sim.c memory.c float.c interruption.c tlb.c ia_read.c \ + ia_exec.c ia_write.c dos.c memui.c trace.c libtrace.c impl.c \ + os_support.c ski_hook.c instr.c netdev.c linux/dwarf-linux.c \ + linux/osload-linux.c linux/syscall-linux.c \ + linux/syscall-linux.h hpux/dwarf-hpux.c hpux/osload-hpux.c \ + hpux/syscall-hpux.c hpux/syscall-hpux.h freebsd/convert.c \ + freebsd/dwarf.c freebsd/firmware.c freebsd/machdep.h \ + freebsd/misc.c freebsd/osload.c freebsd/signal.c freebsd/ssc.c \ + freebsd/syscall.c freebsd/syscall.h libsym.c +am__objects_1 = combfns.lo +am__objects_2 = predecode.lo +am__objects_3 = iaexec_decoder.lo +am__objects_4 = +@WITH_NETDEV_TRUE@am__objects_5 = netdev.lo +am__objects_6 = dwarf-linux.lo osload-linux.lo syscall-linux.lo +@LINUX_TRUE@am__objects_7 = $(am__objects_6) +am__objects_8 = dwarf-hpux.lo osload-hpux.lo syscall-hpux.lo +@HPUX_TRUE@am__objects_9 = $(am__objects_8) +am__objects_10 = convert.lo dwarf.lo firmware.lo misc.lo osload.lo \ + signal.lo ssc.lo syscall.lo +@FREEBSD_TRUE@am__objects_11 = $(am__objects_10) +am_libski_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) state.lo sim.lo memory.lo \ + float.lo interruption.lo tlb.lo ia_read.lo ia_exec.lo \ + ia_write.lo dos.lo memui.lo trace.lo libtrace.lo impl.lo \ + os_support.lo ski_hook.lo instr.lo $(am__objects_5) \ + $(am__objects_7) $(am__objects_9) $(am__objects_11) libsym.lo +libski_la_OBJECTS = $(am_libski_la_OBJECTS) +libskiui_la_DEPENDENCIES = +am__objects_12 = asm_hash.lo +am__objects_13 = iadas_decoder.lo +am__objects_14 = das_instr.lo +am_libskiui_la_OBJECTS = $(am__objects_12) $(am__objects_13) \ + $(am__objects_4) $(am__objects_14) ski.lo menu.lo ssDBT.lo \ + ssDDM.lo ssDCmd.lo program.lo data.lo ssDSym.lo ssDPrs.lo \ + traceui.lo ia_das.lo ui.lo batch.lo cur.lo ssX.lo ssXDSD.lo \ + asm.lo version.lo eparse.lo escan.lo load.lo platform.lo \ + libdas.lo libsrs.lo +libskiui_la_OBJECTS = $(am_libskiui_la_OBJECTS) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_ski_OBJECTS = main.$(OBJEXT) +ski_OBJECTS = $(am_ski_OBJECTS) +ski_DEPENDENCIES = libskiui.la libski.la +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS) +YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \ + $(AM_YFLAGS) +SOURCES = $(libski_la_SOURCES) $(EXTRA_libski_la_SOURCES) \ + $(libskiui_la_SOURCES) $(ski_SOURCES) +DIST_SOURCES = $(am__libski_la_SOURCES_DIST) \ + $(EXTRA_libski_la_SOURCES) $(libskiui_la_SOURCES) \ + $(ski_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +DATA = $(noinst_DATA) +skiincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(noinst_HEADERS) $(skiinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = decoder encoder fake-xterm +AM_CPPFLAGS = $(INCLTDL) $(X_CFLAGS) $(DWARF_CFLAGS) -I$(srcdir)/decoder \ + -I$(srcdir)/encoder -I$(top_builddir)/src/encoder \ + -I$(top_builddir)/src/decoder + +lib_LTLIBRARIES = libski.la libskiui.la +ENCODING_FILES = \ + encodings/encoding.decode \ + encodings/encoding.encode \ + encodings/encoding.format \ + encodings/encoding.imm \ + encodings/encoding.opcode \ + encodings/encoding.unusedop + +noinst_SCRIPTS = \ + asm.awk \ + das.awk \ + mkfns.awk \ + opcode.awk \ + combfns.awk \ + fmtimm.awk \ + mkicnt.awk \ + predecode.awk \ + iaexec_dec.sed \ + iadas_dec.sed \ + ia_types.sed \ + make_asm + +noinst_DATA = \ + execTbl \ + $(ENCODING_FILES) \ + Copyright + +COMBFNS_FILES = \ + exec.c \ + fp_exec.c \ + mem_exec.c \ + mm_exec.c \ + read.c \ + sys_exec.c \ + write.c + +COMBFNS_DERIVED = \ + combfns.h combfns.c + +PREDECODE_DERIVED = \ + predecode.c \ + predecode.h \ + immed.h + +IAEXEC_DECODER_DERIVED = \ + iaexec_decoder.c + +IADAS_DECODER_DERIVED = \ + iadas_decoder.c + +IADAS_TYPES_DERIVED = \ + iadas_types.h + +DAS_INSTR_DERIVED = \ + das_instr.c + +ASM_HASH_DERIVED = \ + asm_hash.c + +ICNT_DERIVED = \ + icnt_core.h \ + icnt_ui.h + +@WITH_NETDEV_FALSE@NETDEV_C = +@WITH_NETDEV_TRUE@NETDEV_C = netdev.c +BUILT_SOURCES = \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + $(ASM_HASH_DERIVED) \ + $(ICNT_DERIVED) \ + instr.c + +ski_SOURCES = \ + main.c + +@HPUX_FALSE@ski_LDFLAGS = -all-static + +# on HPUX libtool does not work w/ -all-static +@HPUX_TRUE@ski_LDFLAGS = -static + +# Debian wants everything to be dynamically linked +@LINUX_TRUE@ski_LDFLAGS = +ski_LDADD = libskiui.la libski.la +skiincludedir = $(includedir)/ski-$(SKI_MAJOR_VERSION).$(SKI_MINOR_VERSION) +skiinclude_HEADERS = \ + asm.h \ + bits.h \ + coreui.h \ + exportui.h \ + fields.h \ + libcore.h \ + libsym.h \ + memory.h \ + os_support.h \ + platform.h \ + sim.h \ + ski.h \ + state.h \ + std.h \ + types.h + +noinst_HEADERS = \ + tlb.h \ + instinfo.h \ + sign_ext.h \ + interruption.h \ + ia_types.h \ + ia_state.h \ + ia_exec.h \ + ssc.h \ + float.h \ + ia_read.h \ + ia_write.h \ + libtrace.h \ + trace.h \ + instr.h \ + ia_decoder.h \ + package.h \ + libsrs.h \ + lp64struct.h \ + libui.h \ + memui.h \ + ia_das.h \ + das_instr.h \ + ssDCmd.h \ + lm.h \ + data.h \ + dos.h \ + program.h \ + eparse.h \ + libdas.h \ + netdev.h \ + osload.h + +EXTRA_linux_FILES = \ + linux/dwarf-linux.c \ + linux/osload-linux.c \ + linux/syscall-linux.c \ + linux/syscall-linux.h + +@LINUX_FALSE@linux_FILES = +@LINUX_TRUE@linux_FILES = $(EXTRA_linux_FILES) +EXTRA_hpux_FILES = \ + hpux/dwarf-hpux.c \ + hpux/osload-hpux.c \ + hpux/syscall-hpux.c \ + hpux/syscall-hpux.h + +@HPUX_FALSE@hpux_FILES = +@HPUX_TRUE@hpux_FILES = $(EXTRA_hpux_FILES) +EXTRA_freebsd_FILES = \ + freebsd/convert.c \ + freebsd/dwarf.c \ + freebsd/firmware.c \ + freebsd/machdep.h \ + freebsd/misc.c \ + freebsd/osload.c \ + freebsd/signal.c \ + freebsd/ssc.c \ + freebsd/syscall.c \ + freebsd/syscall.h + +@FREEBSD_FALSE@freebsd_FILES = +@FREEBSD_TRUE@freebsd_FILES = $(EXTRA_freebsd_FILES) +libskiui_la_SOURCES = \ + $(ASM_HASH_DERIVED) \ + $(IADAS_DECODER_DERIVED) \ + $(IADAS_TYPES_DERIVED) \ + $(DAS_INSTR_DERIVED) \ + ski.c \ + menu.c \ + ssDBT.c \ + ssDDM.c \ + ssDCmd.c \ + program.c \ + data.c \ + ssDSym.c \ + ssDPrs.c \ + traceui.c \ + ia_das.c \ + ui.c \ + batch.c \ + cur.c \ + ssX.c \ + ssXDSD.c \ + asm.c \ + version.c \ + eparse.y \ + escan.l \ + load.c \ + platform.c \ + libdas.c \ + libsrs.c + +libski_la_SOURCES = \ + $(COMBFNS_DERIVED) \ + $(PREDECODE_DERIVED) \ + $(IAEXEC_DECODER_DERIVED) \ + $(ICNT_DERIVED) \ + state.c \ + sim.c \ + memory.c \ + float.c \ + interruption.c \ + tlb.c \ + ia_read.c \ + ia_exec.c \ + ia_write.c \ + dos.c \ + memui.c \ + trace.c \ + libtrace.c \ + impl.c \ + os_support.c \ + ski_hook.c \ + instr.c \ + $(NETDEV_C) \ + $(linux_FILES) \ + $(hpux_FILES) \ + $(freebsd_FILES) \ + libsym.c + +EXTRA_libski_la_SOURCES = \ + $(EXTRA_linux_FILES) \ + $(EXTRA_hpux_FILES) \ + $(EXTRA_freebsd_FILES) \ + netdev.c + +libski_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libski_la_LIBADD = encoder/libencoder.la decoder/libdecoder.la $(LIBLTDL) \ + $(DWARF_LIBS) + +libskiui_la_LDFLAGS = \ + -thread-safe -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -release $(LT_RELEASE) \ + -export-dynamic + +libskiui_la_LIBADD = $(X_INTERFACE_LIBS) +EXTRA_DIST = \ + exec_hd.c \ + ia_decoder.c \ + missing/ski_elf.h \ + $(COMBFNS_FILES) \ + $(noinst_DATA) \ + $(noinst_SCRIPTS) + +@WITH_X_INTERFACE_FALSE@XSKI = +@WITH_X_INTERFACE_TRUE@XSKI = xski +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .l .lo .o .obj .y +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libski.la: $(libski_la_OBJECTS) $(libski_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libski_la_LDFLAGS) $(libski_la_OBJECTS) $(libski_la_LIBADD) $(LIBS) +libskiui.la: $(libskiui_la_OBJECTS) $(libskiui_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libskiui_la_LDFLAGS) $(libskiui_la_OBJECTS) $(libskiui_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ski$(EXEEXT): $(ski_OBJECTS) $(ski_DEPENDENCIES) + @rm -f ski$(EXEEXT) + $(LINK) $(ski_LDFLAGS) $(ski_OBJECTS) $(ski_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm_hash.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/batch.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/combfns.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convert.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cur.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/das_instr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf-hpux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf-linux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eparse.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escan.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/firmware.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia_das.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia_exec.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia_read.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia_write.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iadas_decoder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iaexec_decoder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/impl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/instr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interruption.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdas.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsrs.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsym.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtrace.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memui.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netdev.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os_support.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osload-hpux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osload-linux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osload.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/platform.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/predecode.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/program.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sim.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ski.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ski_hook.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssDBT.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssDCmd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssDDM.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssDPrs.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssDSym.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssX.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssXDSD.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall-hpux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall-linux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlb.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trace.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/traceui.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +dwarf-linux.lo: linux/dwarf-linux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf-linux.lo -MD -MP -MF "$(DEPDIR)/dwarf-linux.Tpo" -c -o dwarf-linux.lo `test -f 'linux/dwarf-linux.c' || echo '$(srcdir)/'`linux/dwarf-linux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/dwarf-linux.Tpo" "$(DEPDIR)/dwarf-linux.Plo"; else rm -f "$(DEPDIR)/dwarf-linux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/dwarf-linux.c' object='dwarf-linux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf-linux.lo `test -f 'linux/dwarf-linux.c' || echo '$(srcdir)/'`linux/dwarf-linux.c + +osload-linux.lo: linux/osload-linux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload-linux.lo -MD -MP -MF "$(DEPDIR)/osload-linux.Tpo" -c -o osload-linux.lo `test -f 'linux/osload-linux.c' || echo '$(srcdir)/'`linux/osload-linux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/osload-linux.Tpo" "$(DEPDIR)/osload-linux.Plo"; else rm -f "$(DEPDIR)/osload-linux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/osload-linux.c' object='osload-linux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload-linux.lo `test -f 'linux/osload-linux.c' || echo '$(srcdir)/'`linux/osload-linux.c + +syscall-linux.lo: linux/syscall-linux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall-linux.lo -MD -MP -MF "$(DEPDIR)/syscall-linux.Tpo" -c -o syscall-linux.lo `test -f 'linux/syscall-linux.c' || echo '$(srcdir)/'`linux/syscall-linux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/syscall-linux.Tpo" "$(DEPDIR)/syscall-linux.Plo"; else rm -f "$(DEPDIR)/syscall-linux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linux/syscall-linux.c' object='syscall-linux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall-linux.lo `test -f 'linux/syscall-linux.c' || echo '$(srcdir)/'`linux/syscall-linux.c + +dwarf-hpux.lo: hpux/dwarf-hpux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf-hpux.lo -MD -MP -MF "$(DEPDIR)/dwarf-hpux.Tpo" -c -o dwarf-hpux.lo `test -f 'hpux/dwarf-hpux.c' || echo '$(srcdir)/'`hpux/dwarf-hpux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/dwarf-hpux.Tpo" "$(DEPDIR)/dwarf-hpux.Plo"; else rm -f "$(DEPDIR)/dwarf-hpux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hpux/dwarf-hpux.c' object='dwarf-hpux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf-hpux.lo `test -f 'hpux/dwarf-hpux.c' || echo '$(srcdir)/'`hpux/dwarf-hpux.c + +osload-hpux.lo: hpux/osload-hpux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload-hpux.lo -MD -MP -MF "$(DEPDIR)/osload-hpux.Tpo" -c -o osload-hpux.lo `test -f 'hpux/osload-hpux.c' || echo '$(srcdir)/'`hpux/osload-hpux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/osload-hpux.Tpo" "$(DEPDIR)/osload-hpux.Plo"; else rm -f "$(DEPDIR)/osload-hpux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hpux/osload-hpux.c' object='osload-hpux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload-hpux.lo `test -f 'hpux/osload-hpux.c' || echo '$(srcdir)/'`hpux/osload-hpux.c + +syscall-hpux.lo: hpux/syscall-hpux.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall-hpux.lo -MD -MP -MF "$(DEPDIR)/syscall-hpux.Tpo" -c -o syscall-hpux.lo `test -f 'hpux/syscall-hpux.c' || echo '$(srcdir)/'`hpux/syscall-hpux.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/syscall-hpux.Tpo" "$(DEPDIR)/syscall-hpux.Plo"; else rm -f "$(DEPDIR)/syscall-hpux.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hpux/syscall-hpux.c' object='syscall-hpux.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall-hpux.lo `test -f 'hpux/syscall-hpux.c' || echo '$(srcdir)/'`hpux/syscall-hpux.c + +convert.lo: freebsd/convert.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convert.lo -MD -MP -MF "$(DEPDIR)/convert.Tpo" -c -o convert.lo `test -f 'freebsd/convert.c' || echo '$(srcdir)/'`freebsd/convert.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/convert.Tpo" "$(DEPDIR)/convert.Plo"; else rm -f "$(DEPDIR)/convert.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/convert.c' object='convert.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convert.lo `test -f 'freebsd/convert.c' || echo '$(srcdir)/'`freebsd/convert.c + +dwarf.lo: freebsd/dwarf.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwarf.lo -MD -MP -MF "$(DEPDIR)/dwarf.Tpo" -c -o dwarf.lo `test -f 'freebsd/dwarf.c' || echo '$(srcdir)/'`freebsd/dwarf.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/dwarf.Tpo" "$(DEPDIR)/dwarf.Plo"; else rm -f "$(DEPDIR)/dwarf.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/dwarf.c' object='dwarf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwarf.lo `test -f 'freebsd/dwarf.c' || echo '$(srcdir)/'`freebsd/dwarf.c + +firmware.lo: freebsd/firmware.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT firmware.lo -MD -MP -MF "$(DEPDIR)/firmware.Tpo" -c -o firmware.lo `test -f 'freebsd/firmware.c' || echo '$(srcdir)/'`freebsd/firmware.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/firmware.Tpo" "$(DEPDIR)/firmware.Plo"; else rm -f "$(DEPDIR)/firmware.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/firmware.c' object='firmware.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o firmware.lo `test -f 'freebsd/firmware.c' || echo '$(srcdir)/'`freebsd/firmware.c + +misc.lo: freebsd/misc.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc.lo -MD -MP -MF "$(DEPDIR)/misc.Tpo" -c -o misc.lo `test -f 'freebsd/misc.c' || echo '$(srcdir)/'`freebsd/misc.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/misc.Tpo" "$(DEPDIR)/misc.Plo"; else rm -f "$(DEPDIR)/misc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/misc.c' object='misc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc.lo `test -f 'freebsd/misc.c' || echo '$(srcdir)/'`freebsd/misc.c + +osload.lo: freebsd/osload.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osload.lo -MD -MP -MF "$(DEPDIR)/osload.Tpo" -c -o osload.lo `test -f 'freebsd/osload.c' || echo '$(srcdir)/'`freebsd/osload.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/osload.Tpo" "$(DEPDIR)/osload.Plo"; else rm -f "$(DEPDIR)/osload.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/osload.c' object='osload.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osload.lo `test -f 'freebsd/osload.c' || echo '$(srcdir)/'`freebsd/osload.c + +signal.lo: freebsd/signal.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT signal.lo -MD -MP -MF "$(DEPDIR)/signal.Tpo" -c -o signal.lo `test -f 'freebsd/signal.c' || echo '$(srcdir)/'`freebsd/signal.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/signal.Tpo" "$(DEPDIR)/signal.Plo"; else rm -f "$(DEPDIR)/signal.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/signal.c' object='signal.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o signal.lo `test -f 'freebsd/signal.c' || echo '$(srcdir)/'`freebsd/signal.c + +ssc.lo: freebsd/ssc.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssc.lo -MD -MP -MF "$(DEPDIR)/ssc.Tpo" -c -o ssc.lo `test -f 'freebsd/ssc.c' || echo '$(srcdir)/'`freebsd/ssc.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ssc.Tpo" "$(DEPDIR)/ssc.Plo"; else rm -f "$(DEPDIR)/ssc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/ssc.c' object='ssc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssc.lo `test -f 'freebsd/ssc.c' || echo '$(srcdir)/'`freebsd/ssc.c + +syscall.lo: freebsd/syscall.c +@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syscall.lo -MD -MP -MF "$(DEPDIR)/syscall.Tpo" -c -o syscall.lo `test -f 'freebsd/syscall.c' || echo '$(srcdir)/'`freebsd/syscall.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/syscall.Tpo" "$(DEPDIR)/syscall.Plo"; else rm -f "$(DEPDIR)/syscall.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd/syscall.c' object='syscall.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syscall.lo `test -f 'freebsd/syscall.c' || echo '$(srcdir)/'`freebsd/syscall.c + +.l.c: + $(LEXCOMPILE) $< + sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ + rm -f $(LEX_OUTPUT_ROOT).c + +.y.c: + $(YACCCOMPILE) $< + if test -f y.tab.h; then \ + to=`echo "$*_H" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ + sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ + y.tab.h >$*.ht; \ + rm -f y.tab.h; \ + if cmp -s $*.ht $*.h; then \ + rm -f $*.ht ;\ + else \ + mv $*.ht $*.h; \ + fi; \ + fi + if test -f y.output; then \ + mv y.output $*.output; \ + fi + sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ + rm -f y.tab.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-skiincludeHEADERS: $(skiinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(skiincludedir)" || $(mkdir_p) "$(DESTDIR)$(skiincludedir)" + @list='$(skiinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(skiincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(skiincludedir)/$$f'"; \ + $(skiincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(skiincludedir)/$$f"; \ + done + +uninstall-skiincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(skiinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(skiincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(skiincludedir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/encodings $(distdir)/missing + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ + $(HEADERS) all-local +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(skiincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -rm -f eparse.c + -rm -f escan.c + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-skiincludeHEADERS + +install-exec-am: install-binPROGRAMS install-libLTLIBRARIES + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-skiincludeHEADERS + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local check \ + check-am clean clean-binPROGRAMS clean-generic \ + clean-libLTLIBRARIES clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-recursive \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-skiincludeHEADERS install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-skiincludeHEADERS + + +all-local: bski $(XSKI) + +bski $(XSKI): ski + @rm -f $@; ln ski $@ + +das_instr.c: das.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/libdas.c $(srcdir)/Copyright + @rm -f $(DAS_INSTR_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/das.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +icnt_ui.h: icnt_core.h +icnt_core.h: mkicnt.awk $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + $(srcdir)/Copyright + @rm -f $(ICNT_DERIVED) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkicnt.awk \ + $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + touch icnt_ui.h + +asm_hash.c: $(encdir)/encoding.opcode \ + asm.awk make_asm $(srcdir)/Copyright + @rm -f $(ASM_HASH_DERIVED) + sh $(srcdir)/make_asm -p $(encdir) -e /dev/null + +iaexec_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iaexec_dec.sed + @rm -f $(IAEXEC_DECODER_DERIVED) + sed -f $(srcdir)/iaexec_dec.sed $(srcdir)/ia_decoder.c > iaexec_decoder.c + +iadas_decoder.c: $(srcdir)/ia_decoder.c $(srcdir)/iadas_dec.sed + @rm -f $(IADAS_DECODER_DERIVED) + sed -f $(srcdir)/iadas_dec.sed $(srcdir)/ia_decoder.c > iadas_decoder.c + +iadas_types.h: $(srcdir)/ia_types.h $(srcdir)/ia_types.sed + @rm -f $(IADAS_TYPES_DERIVED) + sed -f $(srcdir)/ia_types.sed $(srcdir)/ia_types.h > iadas_types.h + +combfns.h: combfns.c +combfns.c: execTbl $(COMBFNS_FILES) mkfns.awk combfns.awk + @(rm -rf ./temp; mkdir temp; rm -f $(COMBFNS_DERIVED)) + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/mkfns.awk \ + $(srcdir)/exec.c \ + $(srcdir)/fp_exec.c \ + $(srcdir)/mem_exec.c \ + $(srcdir)/mm_exec.c \ + $(srcdir)/read.c \ + $(srcdir)/sys_exec.c \ + $(srcdir)/write.c + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/combfns.awk \ + $(srcdir)/execTbl + @touch combfns.h + @rm -rf ./temp + +predecode.h: predecode.c +immed.h: predecode.c +predecode.c: $(encdir)/encoding.format $(encdir)/encoding.imm \ + fmtimm.awk predecode.awk $(srcdir)/Copyright + @rm -rf $(PREDECODE_DERIVED) + $(AWK) -v encdir=$(encdir) -f $(srcdir)/fmtimm.awk \ + $(encdir)/encoding.format | \ + $(AWK) -v prefix=$(srcdir)/ -f $(srcdir)/predecode.awk - + @touch predecode.h immed.h + +instr.c: $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop \ + opcode.awk execTbl $(srcdir)/Copyright + @rm -f instr.c + $(AWK) -v prefix=$(srcdir)/ \ + -f $(srcdir)/opcode.awk $(encdir)/encoding.opcode \ + unused=1 $(encdir)/encoding.unusedop + +eparse.h: eparse.c + +distclean-local: + -rm -f $(XSKI) bski $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/XSki b/src/XSki new file mode 100644 index 0000000..09ee9ec --- /dev/null +++ b/src/XSki @@ -0,0 +1,467 @@ +! +! Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +! +! 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., +! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +! + +! *XmText.fontList: + +main.geometry: +0+0 + +*showUrs: True +*showGrs: True +*showFrs: True +*showSrs: True +*showIArs: True + +*regwUrs.rows: 7 +*regwGrs.rows: 7 +*regwFrs.rows: 4 +*regwSrs.rows: 2 +*regwIArs.rows: 4 + +*viewProgram: True +*viewData: True +*viewvga: False +*viewRegisters: True + +*help.sensitive: False +*bb4.sensitive: False +*bb5.sensitive: False +*prgwRC.goto.sensitive: False +*datwRC.goto.sensitive: False + +*File.mnemonic: F +*View.mnemonic: V +*Configure.mnemonic: C +*Help.mnemonic: H + +*load.labelString: Open... +*load.mnemonic: O +*save.labelString: Save... +*save.mnemonic: S +*trace.labelString: Trace... +*trace.mnemonic: T +*traceOn.labelString: Enable Trace +*traceOff.labelString: Disable Trace +*read.labelString: Read... +*read.mnemonic: R +*quit.labelString: Quit +*quit.mnemonic: Q + +*LoadFSD.fileTypeMask: FILE_REGULAR +*LoadFSD.textColumns: 50 +*load_syms.labelString: Load all symbols +*load_syms.alignment: ALIGNMENT_BEGINNING + +*program.labelString: Program +*program.mnemonic: P +*data.labelString: Data +*data.mnemonic: D +*registers.labelString: Registers +*registers.mnemonic: R +*cache.labelString: Cache +*cache.mnemonic: C +*tlb.labelString: TLB +*tlb.mnemonic: T +*callstack.labelString: Call Stack +*breakpoints.labelString: Breakpoints +*breakpoints.mnemonic: B +*symbols.labelString: Symbols +*symbols.mnemonic: S + +*context.labelString: Context-Sensitive Help +*context.mnemonic: C +*overview.labelString: Overview +*overview.mnemonic: O +*commands.labelString: Commands +*product.labelString: Product Information +*product.mnemonic: P + +*loadFSD_popup.title: Open File +*prodInfo_popup.title: Help -- Product Information + +! Processor Selection +*p0.labelString: 0 +*p1.labelString: 1 +*p2.labelString: 2 +*procOption.labelString: Processor + +! Button Box +*bbox.orientation: HORIZONTAL +*bbox.packing: PACK_TIGHT +*bb0.labelString: Step +*bb0.translations: Shift: SimCmd("step 10")\n\ + : SimCmd("step 1") +*bb1.labelString: Run +*bb1.translations: : SimCmd("run") +*bb2.labelString: Prog +*bb2.translations: : SimCmd("pj") +*bb3.labelString: Data +*bb3.translations: : SimCmd("dj") +*bb4.labelString: Regs +*bb5.labelString: Cache +*bb6.labelString: TLB +*bb6.translations: : SimCmd("sdt") +*bb7.labelString: Quit +*bb7.translations: : SimCmd("quit") + +*cmd.promptString: Command: +*cmd.historyVisibleItemCount: 5 +*cmd.textColumns: 45 + +*msgs.editMode: MULTI_LINE_EDIT +*msgs.editable: False +*msgs.cursorPositionVisible: False +*msgs.rows: 10 + +! Generic Pushbutton resources +*ok.labelString: OK +*apply.labelString: Apply +*cancel.labelString: Cancel +*close.labelString: Close +*config.labelString: Configure +*goto.labelString: Goto +*help.labelString: Help + +*real.labelString: Real +*virtual.labelString: Virtual + +! Program Window +! These 3 are not currently used +*prgw.cancelLabelString: Cancel +*prgw.helpLabelString: Help +*prgw.okLabelString: OK + +*prgw_popup.title: Program Window +*prgw_popup.geometry: -0+0 +*prgw.defaultPosition: False + +*prgwH.alignment: ALIGNMENT_BEGINNING +*prgwH.leftAttachment: ATTACH_FORM +*prgwH.rightAttachment: ATTACH_FORM +*prgwH.topAttachment: ATTACH_FORM + +*prgwT.rows: 21 +*prgwT.editMode: MULTI_LINE_EDIT +*prgwT.editable: False +*prgwT.autoShowCursorPosition: False +*prgwT.cursorPositionVisible: False +*prgwT.resizeHeight: False +*prgwT.resizeWidth: False +! *prgwT.resizeWidth: True +*prgwT.leftAttachment: ATTACH_FORM +*prgwT.rightAttachment: ATTACH_FORM +*prgwT.topAttachment: ATTACH_WIDGET +*prgwT.topWidget: prgwH +*prgwT.bottomAttachment: ATTACH_WIDGET +*prgwT.bottomWidget: prgwS +*prgwT.translations: #override\n\ + : pwResize()\n\ + osfPageDown: SimCmd(pf)\n\ + osfPageUp: SimCmd(pb)\n\ + osfDown: SimCmd("pf 1")\n\ + osfUp: SimCmd("pb 1") + +*prgwS.leftAttachment: ATTACH_FORM +*prgwS.rightAttachment: ATTACH_FORM +*prgwS.bottomAttachment: ATTACH_WIDGET +*prgwS.bottomWidget: prgwRC + +*prgwRC.adjustLast: False +*prgwRC.orientation: HORIZONTAL +*prgwRC.spacing: 10 +*prgwRC.leftAttachment: ATTACH_FORM +*prgwRC.rightAttachment: ATTACH_FORM +*prgwRC.bottomAttachment: ATTACH_FORM + +! Program Window Configure Dialog +*pwConf_popup.title: Program Window Configuration + +*pwConfRC.adjustLast: False +*pwConfRC.orientation: HORIZONTAL +*pwConfRC.spacing: 10 +*pwConfRC.leftAttachment: ATTACH_FORM +*pwConfRC.rightAttachment: ATTACH_FORM +*pwConfRC.bottomAttachment: ATTACH_FORM + +*pwConfS.leftAttachment: ATTACH_FORM +*pwConfS.rightAttachment: ATTACH_FORM +*pwConfS.bottomAttachment: ATTACH_WIDGET +*pwConfS.bottomWidget: pwConfRC + +*iofs.labelString: Instruction Offset Format: +*iofs.rightAttachment: ATTACH_WIDGET +*iofs.rightWidget: iofsrb +*iofs.topAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.topWidget: iofsrb +*iofs.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*iofs.bottomWidget: iofsrb + +*iofsrb.orientation: HORIZONTAL +*iofsrb.bottomAttachment: ATTACH_WIDGET +*iofsrb.bottomWidget: instrb +*iofsrb.bottomOffset: 2 +*iofsrb.rightAttachment: ATTACH_FORM + +*iofshex.labelString: Hexadecimal + +*iofssym.labelString: Symbolic + +*iofsboth.labelString: Both + +*inst.labelString: Instruction Format: +*inst.rightAttachment: ATTACH_WIDGET +*inst.rightWidget: instrb +*inst.topAttachment: ATTACH_OPPOSITE_WIDGET +*inst.topWidget: instrb +*inst.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*inst.bottomWidget: instrb + +*instrb.orientation: HORIZONTAL +*instrb.bottomAttachment: ATTACH_WIDGET +*instrb.bottomWidget: pwConfS +*instrb.bottomOffset: 2 +*instrb.rightAttachment: ATTACH_FORM + +*insthex.labelString: Hexadecimal + +*instsym.labelString: Disassembled + +*instboth.labelString: Both + +! Program Window Goto Dialog +*pwGoto_popup.title: Program Window Goto + +*pwGotoRC.adjustLast: False +*pwGotoRC.orientation: HORIZONTAL +*pwGotoRC.spacing: 10 +*pwGotoRC.leftAttachment: ATTACH_FORM +*pwGotoRC.rightAttachment: ATTACH_FORM +*pwGotoRC.bottomAttachment: ATTACH_FORM + +*pwGotoS.leftAttachment: ATTACH_FORM +*pwGotoS.rightAttachment: ATTACH_FORM +*pwGotoS.bottomAttachment: ATTACH_WIDGET +*pwGotoS.bottomWidget: pwGotoRC + +*pwOffset.rightAttachment: ATTACH_FORM +*pwOffset.bottomAttachment: ATTACH_WIDGET +*pwOffset.bottomWidget: pwGotoS + +*pwOffsetL.labelString: Offset: +*pwOffsetL.rightAttachment: ATTACH_WIDGET +*pwOffsetL.rightWidget: pwOffset +*pwOffsetL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.topWidget: pwOffset +*pwOffsetL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwOffsetL.bottomWidget: pwOffset + +*pwSpace.rightAttachment: ATTACH_FORM +*pwSpace.bottomAttachment: ATTACH_WIDGET +*pwSpace.bottomWidget: pwOffset + +*pwSpaceL.labelString: Space: +*pwSpaceL.rightAttachment: ATTACH_WIDGET +*pwSpaceL.rightWidget: pwSpace +*pwSpaceL.topAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.topWidget: pwSpace +*pwSpaceL.bottomAttachment: ATTACH_OPPOSITE_WIDGET +*pwSpaceL.bottomWidget: pwSpace + +*pwAddr.orientation: HORIZONTAL +*pwAddr.leftAttachment: ATTACH_FORM +*pwAddr.topAttachment: ATTACH_FORM +*pwAddr.bottomAttachment: ATTACH_WIDGET +*pwAddr.bottomWidget: pwSpace + +! Data Window +*datw_popup.title: Data Window +*datw_popup.geometry: +0-0 +*datw.defaultPosition: False + +*datwH.alignment: ALIGNMENT_BEGINNING +*datwH.leftAttachment: ATTACH_FORM +*datwH.rightAttachment: ATTACH_FORM +*datwH.topAttachment: ATTACH_FORM + +*datwT.rows: 12 +*datwT.editMode: MULTI_LINE_EDIT +*datwT.editable: False +*datwT.autoShowCursorPosition: False +*datwT.cursorPositionVisible: False +*datwT.resizeWidth: True +*datwT.leftAttachment: ATTACH_FORM +*datwT.rightAttachment: ATTACH_FORM +*datwT.topAttachment: ATTACH_WIDGET +*datwT.topWidget: datwH +*datwT.bottomAttachment: ATTACH_WIDGET +*datwT.bottomWidget: datwS +*datwT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(df)\n\ + osfPageUp: SimCmd(db)\n\ + osfDown: SimCmd("df 1")\n\ + osfUp: SimCmd("db 1") + +*datwS.leftAttachment: ATTACH_FORM +*datwS.rightAttachment: ATTACH_FORM +*datwS.bottomAttachment: ATTACH_WIDGET +*datwS.bottomWidget: datwRC + +*datwRC.adjustLast: False +*datwRC.orientation: HORIZONTAL +*datwRC.spacing: 10 +*datwRC.leftAttachment: ATTACH_FORM +*datwRC.rightAttachment: ATTACH_FORM +*datwRC.bottomAttachment: ATTACH_FORM + +! VGA Window +*vga_popup.title: VGA Window +*vga_popup.geometry: +0-0 +*vga.defaultPosition: False + +*vgaH.alignment: ALIGNMENT_BEGINNING +*vgaH.leftAttachment: ATTACH_FORM +*vgaH.rightAttachment: ATTACH_FORM +*vgaH.topAttachment: ATTACH_FORM + +*vgaT.rows: 24 +*vgaT.editMode: MULTI_LINE_EDIT +*vgaT.editable: False +*vgaT.autoShowCursorPosition: False +*vgaT.cursorPositionVisible: False +*vgaT.resizeWidth: True +*vgaT.leftAttachment: ATTACH_FORM +*vgaT.rightAttachment: ATTACH_FORM +*vgaT.topAttachment: ATTACH_WIDGET +*vgaT.topWidget: vgaH +*vgaT.bottomAttachment: ATTACH_WIDGET +*vgaT.bottomWidget: vgaS +*vgaT.translations: #override\n\ + : dwResize()\n\ + osfPageDown: SimCmd(vf)\n\ + osfPageUp: SimCmd(vb)\n\ + osfDown: SimCmd("vf 1")\n\ + osfUp: SimCmd("vb 1") + +*vgaS.leftAttachment: ATTACH_FORM +*vgaS.rightAttachment: ATTACH_FORM +*vgaS.bottomAttachment: ATTACH_WIDGET +*vgaS.bottomWidget: vgaRC + +*vgaRC.adjustLast: False +*vgaRC.orientation: HORIZONTAL +*vgaRC.spacing: 10 +*vgaRC.leftAttachment: ATTACH_FORM +*vgaRC.rightAttachment: ATTACH_FORM +*vgaRC.bottomAttachment: ATTACH_FORM +*vgaRC.goto.sensitive: False + +! Registers Window +*regw_popup.title: Registers Window +*regw.noResize: False +*regw_popup.geometry: -0-0 +*regw.defaultPosition: False + +!*regwP.marginHeight: 5 +!*regwP.marginWidth: 10 +!*regwP.refigureMode: False +!*regwP.sashHeight: 20 +!*regwP.sashWidth: 15 +!*regwP.sashIdent: -20 +!*regwP.separatorOn: False +!*regwP.spacing: 2 +!*regwP.shadowThickness: 5 + +*regwP.leftAttachment: ATTACH_FORM +*regwP.rightAttachment: ATTACH_FORM +*regwP.topAttachment: ATTACH_FORM +*regwP.bottomAttachment: ATTACH_WIDGET +*regwP.bottomWidget: regwS + +*regwS.leftAttachment: ATTACH_FORM +*regwS.rightAttachment: ATTACH_FORM +*regwS.bottomAttachment: ATTACH_WIDGET +*regwS.bottomWidget: regwRC + +*regwRC.adjustLast: False +*regwRC.orientation: HORIZONTAL +*regwRC.spacing: 10 +*regwRC.leftAttachment: ATTACH_FORM +*regwRC.rightAttachment: ATTACH_FORM +*regwRC.bottomAttachment: ATTACH_FORM + +! Registers Window Configure Dialog +*rwConf_popup.title: Registers Window Configuration + +*rwConfRC.adjustLast: False +*rwConfRC.orientation: HORIZONTAL +*rwConfRC.spacing: 10 +*rwConfRC.leftAttachment: ATTACH_FORM +*rwConfRC.rightAttachment: ATTACH_FORM +*rwConfRC.bottomAttachment: ATTACH_FORM + +*rwConfS.leftAttachment: ATTACH_FORM +*rwConfS.rightAttachment: ATTACH_FORM +*rwConfS.bottomAttachment: ATTACH_WIDGET +*rwConfS.bottomWidget: rwConfRC + +*rwConfT.orientation: HORIZONTAL +*rwConfT.numColumns: 2 +*rwConfT.packing: PACK_COLUMN +*rwConfT.leftAttachment: ATTACH_FORM +*rwConfT.rightAttachment: ATTACH_FORM +*rwConfT.bottomAttachment: ATTACH_WIDGET +*rwConfT.bottomWidget: rwConfS + +*rwConfT.urs.labelString: URs +*rwConfT.grs.labelString: GRs +*rwConfT.frs.labelString: FRs +*rwConfT.srs.labelString: SRs + +! Symlist Window +*symlist_popup.title: Symbols +*symlist_popup.geometry: +300+100 + +! Cmdhelp Window +*cmdhelp_popup.title: Commands +*cmdhelp_popup.geometry: +400+150 + +! Callstack Window +*callstack_popup.title: Call Stack +*callstack_popup.geometry: +500+200 + +! Breakpoint Window +*breakpoints_popup.title: Breakpoints +*breakpoints_popup.geometry: +600+250 + +! Register Dump Window +*regdump_popup.title: Register Dump +*regdump_popup.geometry: +700+300 + +! Program Dump Window +*progdump_popup.title: Program Dump +*progdump_popup.geometry: +800+350 + +! Data Dump Window +*datadump_popup.title: Data Dump +*datadump_popup.geometry: +900+400 + +! Instruction TLB Dump Window +*itlblist_popup.title: Instruction TLB + +! Data TLB Dump Window +*dtlblist_popup.title: Data TLB diff --git a/src/asm.awk b/src/asm.awk new file mode 100755 index 0000000..be7617f --- /dev/null +++ b/src/asm.awk @@ -0,0 +1,107 @@ +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +BEGIN { + LET1="a" + GFILE="asm_a.gperf" + print "struct asm_id { char *name; InstID id; };" > GFILE + print "%%" > GFILE + opMap["ar.pfs"] = "A"; + opMap["ar.ccv"] = "A"; + opMap["ar.csd"] = "A"; + opMap["ar3"] = "A"; + opMap["cr3"] = "C"; + opMap["b1"] = "B"; + opMap["b2"] = "B"; + opMap["f1"] = "F"; + opMap["f2"] = "F"; + opMap["f3"] = "F"; + opMap["f4"] = "F"; + opMap["p1"] = "P"; + opMap["p2"] = "P"; + opMap["r0"] = "R"; + opMap["r1"] = "R"; + opMap["r2"] = "R"; + opMap["r3"] = "R"; + opMap["1"] = "I"; + opMap["8"] = "I"; + opMap["16"] = "I"; + opMap["count2"] = "I"; + opMap["count5"] = "I"; + opMap["count6"] = "I"; + opMap["fclass9"] = "I"; + opMap["amask7"] = "I"; + opMap["omask7"] = "I"; + opMap["pos6"] = "I"; + opMap["len4"] = "I"; + opMap["len6"] = "I"; + opMap["imm1"] = "I"; + opMap["imm2"] = "I"; + opMap["imm8"] = "I"; + opMap["imm9"] = "I"; + opMap["imm14"] = "I"; + opMap["imm21"] = "I"; + opMap["imm22"] = "I"; + opMap["imm24"] = "I"; + opMap["imm44"] = "I"; + opMap["imm62"] = "I"; + opMap["imm64"] = "I"; + opMap["inc3"] = "I"; + opMap["mask17"] = "I"; + opMap["mbtype4"] = "I"; + opMap["mhtype8"] = "I"; + opMap["tag13"] = "I"; + opMap["target25"] = "I"; + opMap["target64"] = "I"; + opMap["i"] = "I"; + opMap["l"] = "I"; + opMap["o"] = "I"; + opMap["r"] = "I"; + opMap["[r3]"] = "M"; + opMap["rr[r3]"] = "rr"; + opMap["dbr[r3]"] = "dbr"; + opMap["ibr[r3]"] = "ibr"; + opMap["pkr[r3]"] = "pkr"; + opMap["pmc[r3]"] = "pmc"; + opMap["pmd[r3]"] = "pmd"; + opMap["msr[r3]"] = "msr"; + opMap["dtr[r3]"] = "dtr"; + opMap["itr[r3]"] = "itr"; + opMap["cpuid[r3]"] = "cpuid"; +} +/^#/ { + next +} +{ + format = $1; + mnem = $2; + mnem_start = index($0, $2); + first = substr(mnem,1,1); + if (first != LET1) { + close(GFILE); + GFILE="asm_" first ".gperf"; + LET1 = first; + print "struct asm_id { char *name; InstID id; };" > GFILE; + print "%%" > GFILE + } + sub(/:.*$/, "") + inst = substr($0, mnem_start) + gsub(/-/, "m", inst) + gsub(/[^a-zA-Z0-9.]/, "_", inst) + gsub(/__+/, "_", inst) + sub(/_$/, "", inst) + instID = "EM_" toupper(inst) + gsub(/\./, "_", instID) + ops = "" + for (i = 3; i <= NF; i++) { + gsub(/[=,]/, "", $i); + if ($i in opMap) + ops = ops opMap[$i]; + else + ops = ops $i; + } + + if (ops == "") + print mnem ", " instID > GFILE; + else + print mnem "_" ops ", " instID > GFILE +} diff --git a/src/asm.c b/src/asm.c new file mode 100644 index 0000000..fba1e08 --- /dev/null +++ b/src/asm.c @@ -0,0 +1,411 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Mini-Assembler + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include + +#include "std.h" +#include "libsym.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "ssDCmd.h" + +BOOL evalExpr(const char *expr, unsigned base, REG *retval); + +typedef enum { AsmStart, AsmPred, AsmMnem, AsmOperands, AsmAssign } AsmState; + +typedef struct { + unsigned char symType; + Operand_type opType; +} SymInfo, *SymInfoPtr; + +static SymInfo grInfo = { 'R', EM_OPTYPE_IREG }; +static SymInfo frInfo = { 'F', EM_OPTYPE_FREG }; +static SymInfo brInfo = { 'B', EM_OPTYPE_BR }; +static SymInfo prInfo = { 'P', EM_OPTYPE_PREG }; +static SymInfo arInfo = { 'A', EM_OPTYPE_APP_REG }; +static SymInfo crInfo = { 'C', EM_OPTYPE_CR }; +static SymInfo labelInfo = { 'I', EM_OPTYPE_SSHIFT_REL }; +static SymInfo immInfo = { 'I', EM_OPTYPE_IMM }; + +static struct { + char *name; + unsigned long long value; + SymInfo info; +} sym[] = { + {"gp", GP_ID, {'R', EM_OPTYPE_IREG}}, + {"sp", SP_ID, {'R' , EM_OPTYPE_IREG}}, + {"rp", 0, {'B', EM_OPTYPE_BR}}, + {"ip", 0, {'\0', EM_OPTYPE_IP}}, + {"pr", 0, {'\0', EM_OPTYPE_PREGS_ALL}}, + {"psr", 0, {'\0', EM_OPTYPE_PSR}}, + {"psr.l", 0, {'\0', EM_OPTYPE_PSR_L}}, + {"psr.um", 0, {'\0', EM_OPTYPE_PSR_UM}}, + {"pr.rot", 0, {'\0', EM_OPTYPE_PREGS_ROT}}, + {"ar.k0", K0_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k1", K1_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k2", K2_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k3", K3_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k4", K4_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k5", K5_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k6", K6_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.k7", K7_ID, {'A', EM_OPTYPE_APP_REG}}, + {"ar.rsc", 16, {'A', EM_OPTYPE_APP_REG}}, + {"ar.bsp", 17, {'A', EM_OPTYPE_APP_REG}}, + {"ar.bspstore", 18, {'A', EM_OPTYPE_APP_REG}}, + {"ar.rnat", 19, {'A', EM_OPTYPE_APP_REG}}, + {"ar.ccv", 32, {'A', EM_OPTYPE_APP_REG}}, + {"ar.unat", 36, {'A', EM_OPTYPE_APP_REG}}, + {"ar.fpsr", 40, {'A', EM_OPTYPE_APP_REG}}, + {"ar.itc", 44, {'A', EM_OPTYPE_APP_REG}}, + {"ar.pfs", 64, {'A', EM_OPTYPE_APP_REG}}, + {"ar.lc", 65, {'A', EM_OPTYPE_APP_REG}}, + {"ar.ec", 66, {'A', EM_OPTYPE_APP_REG}}, + {"@nat", 0x100, {'I', EM_OPTYPE_IMM}}, + {"@qnan", 0x080, {'I', EM_OPTYPE_IMM}}, + {"@snan", 0x040, {'I', EM_OPTYPE_IMM}}, + {"@pos", 0x001, {'I', EM_OPTYPE_IMM}}, + {"@neg", 0x002, {'I', EM_OPTYPE_IMM}}, + {"@zero", 0x004, {'I', EM_OPTYPE_IMM}}, + {"@unorm", 0x008, {'I', EM_OPTYPE_IMM}}, + {"@norm", 0x010, {'I', EM_OPTYPE_IMM}}, + {"@inf", 0x020, {'I', EM_OPTYPE_IMM}}, + {"@alt", 0xa, {'I', EM_OPTYPE_IMM}}, + {"@brcst", 0, {'I', EM_OPTYPE_IMM}}, + {"@mix", 8, {'I', EM_OPTYPE_IMM}}, + {"@rev", 0xb, {'I', EM_OPTYPE_IMM}}, + {"@shuf", 9, {'I', EM_OPTYPE_IMM}}, + {"cpuid", 0, {'\0', EM_OPTYPE_CPUID}}, + {"dbr", 0, {'\0', EM_OPTYPE_DBR}}, + {"dtr", 0, {'\0', EM_OPTYPE_DTR}}, + {"ibr", 0, {'\0', EM_OPTYPE_IBR}}, + {"itr", 0, {'\0', EM_OPTYPE_ITR}}, + {"msr", 0, {'\0', EM_OPTYPE_MSR}}, + {"pkr", 0, {'\0', EM_OPTYPE_PKR}}, + {"pmc", 0, {'\0', EM_OPTYPE_PMC}}, + {"pmd", 0, {'\0', EM_OPTYPE_PMD}}, + {"rr", 0, {'\0', EM_OPTYPE_RR}}, + {"cr.dcr", 0, {'C', EM_OPTYPE_CR}}, + {"cr.itm", 1, {'C', EM_OPTYPE_CR}}, + {"cr.iva", 2, {'C', EM_OPTYPE_CR}}, + {"cr.pta", 8, {'C', EM_OPTYPE_CR}}, + {"cr.gpta", 9, {'C', EM_OPTYPE_CR}}, + {"cr.ipsr", 16, {'C', EM_OPTYPE_CR}}, + {"cr.isr", 17, {'C', EM_OPTYPE_CR}}, + {"cr.iip", 19, {'C', EM_OPTYPE_CR}}, + {"cr.ifa", 20, {'C', EM_OPTYPE_CR}}, + {"cr.itir", 21, {'C', EM_OPTYPE_CR}}, + {"cr.iipa", 22, {'C', EM_OPTYPE_CR}}, + {"cr.ifs", 23, {'C', EM_OPTYPE_CR}}, + {"cr.iim", 24, {'C', EM_OPTYPE_CR}}, + {"cr.iha", 25, {'C', EM_OPTYPE_CR}}, + {"cr.lid", 64, {'C', EM_OPTYPE_CR}}, + {"cr.ivr", 65, {'C', EM_OPTYPE_CR}}, + {"cr.tpr", 66, {'C', EM_OPTYPE_CR}}, + {"cr.eoi", 67, {'C', EM_OPTYPE_CR}}, + {"cr.irr0", 68, {'C', EM_OPTYPE_CR}}, + {"cr.irr1", 69, {'C', EM_OPTYPE_CR}}, + {"cr.irr2", 70, {'C', EM_OPTYPE_CR}}, + {"cr.irr3", 71, {'C', EM_OPTYPE_CR}}, + {"cr.itv", 72, {'C', EM_OPTYPE_CR}}, + {"cr.pmv", 73, {'C', EM_OPTYPE_CR}}, + {"cr.cmcv", 74, {'C', EM_OPTYPE_CR}}, + {"cr.lrr0", 80, {'C', EM_OPTYPE_CR}}, + {"cr.lrr1", 81, {'C', EM_OPTYPE_CR}} +}; + +#define INIT_SYM_SIZE (sizeof(sym)/sizeof(sym[0])) + +static SymTablePtr asmST; + +AsmStatus asm_init(void) +{ + unsigned i; + char name[10]; + + asmST = symNewTable(); + for (i = 0; i < INIT_SYM_SIZE; i++) + symInsertX(asmST, sym[i].name, sym[i].value, &sym[i].info); + + for (i = 0; i < NPRS; i++) { + (void)sprintf(name, "p%u", i); + symInsertX(asmST, name, (unsigned long long)i, &prInfo); + } + + for (i = 0; i < (GR_STK_BASE+N_STACK_VIRT); i++) { + (void)sprintf(name, "r%u", i); + symInsertX(asmST, name, (unsigned long long)i, &grInfo); + } + + for (i = 0; i < NFRS; i++) { + (void)sprintf(name, "f%u", i); + symInsertX(asmST, name, (unsigned long long)i, &frInfo); + } + + for (i = 0; i < NARS; i++) { + (void)sprintf(name, "ar%u", i); + symInsertX(asmST, name, (unsigned long long)i, &arInfo); + } + + for (i = 0; i < NCRS; i++) { + (void)sprintf(name, "cr%u", i); + symInsertX(asmST, name, (unsigned long long)i, &crInfo); + } + + for (i = 0; i < NBRS; i++) { + (void)sprintf(name, "b%u", i); + symInsertX(asmST, name, (unsigned long long)i, &brInfo); + } + + return AsmOK; +} + +AsmStatus asm_inst(const char *str, InstID *instID, OperandsPtr ops, + EncodedInstPtr inst) +{ + char *tok, *isp, *p, instStr[80], buf[BUFSIZ]; + unsigned long long val; + unsigned op_num = 0, equal = 0, mem, indirect; + SymInfoPtr symInfo, indSymInfo; + AsmIdPtr asmID; + AsmState state = AsmStart; + + (void)strcpy(buf, str); + instStr[0] = '\0'; + isp = instStr; + + for (tok = strtok(buf, " \t"); (tok); tok = strtok(NULL, " \t,")) { + /* XXX - add support for labels & tags */ + /* XXX - deal with buffer overruns */ + if (tok[0] == '/' && tok[1] == '/') /* comment */ + break; + switch (state) { + case AsmStart: + case AsmPred: + if (tok[0] == '(' && tok[1] == 'p') { /* qp/bp */ + ops->qp = (unsigned char)strtoul(&tok[2], &p, 10); + if (p == &tok[2]) + return AsmBadQP; + state = AsmMnem; + } else if (tok[0] == ';' && tok[1] == ';') { /* stop */ + if (tok[2] == '\0') { + inst->stop = SB_Stop; + return AsmStop; + } else + return AsmBadInst; + } else if ((p = strchr(tok, ':'))) { /* label/tag */ + *p = '\0'; + if (tok[0] == '[') /* tag */ + tok++; + symInsertX(asmST, tok, encoderIP(), &labelInfo); + } else { /* assume mnemonic */ + ops->qp = 0; + (void)strcpy(instStr, tok); + isp += strlen(tok); + state = AsmOperands; + } + break; + case AsmMnem: + (void)strcpy(instStr, tok); + isp += strlen(tok); + state = AsmOperands; + break; + case AsmOperands: + mem = indirect = 0; + if (tok[0] == '=') { + if (equal) + return AsmBadEquals; + else { + equal = 1; + if (op_num == 0) + state = AsmAssign; + continue; + } + } + if (op_num == 0) { + *isp++ = '_'; + *isp = '\0'; + } + if ((p = strchr(tok, '['))){ /* mem/indirect reg file */ + if (p == tok) { /* mem */ + mem = 1; + tok++; + if ((p = strchr(tok, ']'))) + *p = '\0'; + else + return AsmBadOperand + op_num; + } else { /* indirect reg file */ + /* XXX - finish this */ + indirect = 1; + *p = '\0'; + if (symNameLookupX(asmST, tok, &val, + (void *)&indSymInfo)) { + (void)strcat(instStr, tok); + isp += strlen(tok); + tok = p + 1; + if ((p = strchr(tok, ']'))) + *p = '\0'; + else + return AsmBadOperand + op_num; + } else + return AsmBadOperand + op_num; + } + } + /* XXX - add expression evaluation & symbol lookup */ + val = strtoull(tok, &p, 0); + if (p != tok) { + ops->u.op[op_num].bits = val; + ops->u.op[op_num].type = EM_OPTYPE_IMM; + *isp++ = 'I'; + *isp = '\0'; + } else if (symNameLookupX(asmST, tok, &ops->u.op[op_num].bits, + (void *)&symInfo)) { + ops->u.op[op_num].type = symInfo->opType; + if (mem) { + ops->u.op[op_num].type = EM_OPTYPE_MEM; + *isp++ = 'M'; + *isp = '\0'; + } else if (indirect) { + ops->u.op[op_num].type = indSymInfo->opType; + } else if (symInfo->symType) { + *isp++ = symInfo->symType; + *isp = '\0'; + } else { + (void)strcat(instStr, tok); + isp += strlen(tok); + } + } else if (evalExpr(tok, HEXEXP, &ops->u.op[op_num].bits)) { + ops->u.op[op_num].type = EM_OPTYPE_IMM; + *isp++ = 'I'; + *isp = '\0'; + } else + return AsmBadOperand + op_num; + op_num++; + break; + case AsmAssign: + val = strtoull(tok, &p, 0); + if (p != tok) + symInsertX(asmST, instStr, val, &immInfo); + else if (symNameLookupX(asmST, tok, &val, (void *)&symInfo)) + symInsertX(asmST, instStr, val, symInfo); + else if (symNameLookup(tok, &val, (void *)&symInfo)) + symInsertX(asmST, instStr, val, &labelInfo); + else + return AsmBadAssign; + break; + } + } + + /* check for blank/comment/assignment line */ + if (state == AsmStart || state == AsmAssign) + return AsmNoInst; + + /* pad out remaining operands */ + while (op_num < MAX_OPERANDS) + ops->u.op[op_num++].type = EM_OPTYPE_NONE; + + if (!(asmID = inst_lookup(instStr))) + return AsmBadInst; + *instID = asmID->id; + return (AsmStatus)encode_inst(asmID->id, ops, inst); +} + +/* XXX - this should be defined in the encoder or decoder library */ +static Unit unitType(char type) +{ + switch(type) { + case 'A': + return A_Unit; + case 'B': + return B_Unit; + case 'F': + return F_Unit; + case 'I': + return I_Unit; + case 'L': + return L_Unit; + case 'M': + return M_Unit; + case 'X': + return X_Unit; + } + return No_Unit; +} + +AsmStatus asm_templ(const char *str, unsigned char *templ) +{ + typedef enum { TemplUnit, TemplStopOrUnit } TemplState; + TemplateInfo tinfo; + Unit unit; + unsigned s = 0; + TemplState state = TemplUnit; + + /* initialize tinfo to an illegal state */ + tinfo.slot[0].unit = tinfo.slot[1].unit = tinfo.slot[2].unit = A_Unit; + + if (*str == '.') /* skip leading "." */ + str++; + + /* scan str and fill in tinfo */ + while (*str) { + if (s == SLOTS_PER_BUNDLE) + return AsmBadTemplate; + + switch (state) { + case TemplUnit: /* expecting a unit char */ + if ((unit = unitType(toupper(*str))) == No_Unit) + return AsmBadTemplate; + tinfo.slot[s].unit = unit; + tinfo.slot[s].stop = SB_Cont; + state = TemplStopOrUnit; + break; + case TemplStopOrUnit: /* expecting a comma or a unit char */ + if (*str == ',') { + tinfo.slot[s++].stop = SB_Stop; + state = TemplUnit; + } else { + if (s == SLOTS_PER_BUNDLE-1) + return AsmBadTemplate; + if ((unit = unitType(toupper(*str))) == No_Unit) + return AsmBadTemplate; + tinfo.slot[++s].unit = unit; + tinfo.slot[s].stop = SB_Cont; + } + break; + } + str++; + } + + /* convert "xLI" to "xLX" */ + if (tinfo.slot[1].unit == L_Unit && tinfo.slot[2].unit == I_Unit) + tinfo.slot[2].unit = X_Unit; + + /* search for matching template */ + if ((*templ = templSB_from_info(&tinfo)) >= 32) + return AsmBadTemplate; + + return AsmOK; +} diff --git a/src/asm.h b/src/asm.h new file mode 100644 index 0000000..d607988 --- /dev/null +++ b/src/asm.h @@ -0,0 +1,44 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Mini-Assembler Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_ASM_H +#define _SKI_ASM_H + +#include +#include + +/* these enum values must match the EncStatus enum values */ +typedef enum { AsmOK, AsmBadTemplate, AsmBadInst, AsmBadQP, AsmBadOperand, + AsmBadOperand1 = AsmBadOperand, AsmBadOperand2, + AsmBadOperand3, AsmBadOperand4, AsmBadOperand5, + AsmBadOperand6, AsmNoInst, AsmStop, AsmBadEquals, AsmBadAssign +} AsmStatus; + +struct asm_id { char *name; InstID id; }; +typedef const struct asm_id *AsmIdPtr; + +AsmStatus asm_init(void); +AsmStatus asm_inst(const char *str, InstID *instId, OperandsPtr ops, + EncodedInstPtr inst); +AsmStatus asm_templ(const char *str, unsigned char *templ); +AsmIdPtr inst_lookup(const char *str); + +#endif /* _SKI_ASM_H */ diff --git a/src/batch.c b/src/batch.c new file mode 100644 index 0000000..272bb9e --- /dev/null +++ b/src/batch.c @@ -0,0 +1,68 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Batch Interface Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "types.h" +#include "ski.h" /* just for fileLoaded */ +#include "ssDCmd.h" /* just for exitSim() */ +#include "libcore.h" +#define NPROC 1 +#define cproc 0 +#include "data.h" + +BOOL bstats = NO; + +void runIt(BOOL); + +#ifdef TO_BE_USED +tlbBatch() +{ +} +#endif + +void scrnInitBatch(void) +{ + datInfo.numDataWds = 4; +} + +void cmdwPrintBatch(const char *s) +{ + (void)fputs(s, stderr); +} + +void cmdOutBatch(const char *hdr, const char *buf) +{ + (void)fputs(hdr, stderr); + (void)fputs(buf, stderr); +} + +void cmdLoopBatch(void) +{ + if (fileLoaded && !getExited()) + runIt(bstats); + else + (void)fprintf(stderr, "Nothing to run\n"); + exitSim(grGet(0, 8)); +} diff --git a/src/bits.h b/src/bits.h new file mode 100644 index 0000000..3046cf5 --- /dev/null +++ b/src/bits.h @@ -0,0 +1,166 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Bit Manipulation Macros + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_BITS_H +#define _SKI_BITS_H + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +/*--------------------------------------------------------------------------- + * Bitfield$Reference - Reference a specified bitfield within a 32-bit or + * 64-bit integer. The argument "i" must be an addressable variable (i.e., + * not a register variable or an expression... but see BitfX below), "s" is + * the starting bit (big-endian, leftmost) and "l" is the length; "s" and "l" + * must be constants. BitfR may be used as an lvalue or an rvalue. + * Translates to a single instruction on PA-RISC, VAX, and DEC-20. + *---------------------------------------------------------------------------*/ + +/* eclipse - previous support for GNUC was only enabled for + * LITTLE_ENDIAN systems. I generalized this support so that we can + * use gcc on HP-UX. However, even this fix was not enough to prevent + * the gcc-hppa optimizer from reordering memory instructions, so I + * added the volatile keyword in the GNUC-BIG_ENDIAN case. */ +#if defined __GNUC__ +/* If used, will cause unsat symbols */ +extern int bad_bitfr (void); +extern int bad_bitfr32 (void); +extern int bad_bitfr8 (void); + +/* + * Wrapping the "struct"s inside a "union" tells gcc not to do + * type-based alias-analysis, which could cause the BitfR construct to + * fail, because (from Jim Wilson): + * + * ISO C says that if you access an object using a type other + * than what the object was declared with, then the result is + * undefined. There are a few exceptions, signedness doesn't + * matter, qualifiers don't matter, aggregate types containing + * the type are OK, and char is OK. (In the 1989 ANSI C + * standard, this is in section 3.3 Expressions.) + * + * Fortunately, gcc (in "violation" of ANSI C) has another exception: + * if the type is inside a union, no type-based alias analysis is + * done. + */ +# if BYTE_ORDER == BIG_ENDIAN +#define BitfR(i,s,l) (((union {volatile struct { \ + unsigned long long : s; \ + unsigned long long f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 8 ? bad_bitfr() : 0)))->u.f) +#define BitfR32(i,s,l) (((union {volatile struct { \ + unsigned int : s; \ + unsigned int f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 4 ? bad_bitfr32() : 0)))->u.f) +#define BitfR8(i,s,l) (((union {volatile struct { \ + unsigned char : s; \ + unsigned char f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 1 ? bad_bitfr8() : 0)))->u.f) +# else /* ! BYTE_ORDER == BIG_ENDIAN */ +#define BitfR(i,s,l) (((union { \ + struct { \ + unsigned long long : 64-(l)-(s); \ + unsigned long long f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 8 ? bad_bitfr () : 0)))->u.f) +#define BitfR32(i,s,l) (((union { \ + struct { \ + unsigned int : 32-(l)-(s); \ + unsigned int f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 4 ? bad_bitfr32 () : 0)))->u.f) +#define BitfR8(i,s,l) (((union { \ + struct { \ + unsigned char : 8-(l)-(s); \ + unsigned char f: l; \ + } u; \ + } *)(&i + (sizeof(i) != 1 ? bad_bitfr8 () : 0)))->u.f) +# endif /* !BYTE_ORDER == BIG_ENDIAN */ +#else /* !defined __GNUC__ */ +# if BYTE_ORDER == BIG_ENDIAN +#define BitfR(i,s,l) (((struct { \ + unsigned long long : s; \ + unsigned long long f: l; \ + } *)&i)->f) +#define BitfR32(i,s,l) (((struct { \ + unsigned int : s; \ + unsigned int f: l; \ + } *)&i)->f) +#define BitfR8(i,s,l) (((struct { \ + unsigned char : s; \ + unsigned char f: l; \ + } *)&i)->f) +# else /* ! BYTE_ORDER == BIG_ENDIAN */ +#define BitfR(i,s,l) ((((struct { \ + unsigned long long : 64-(l)-(s); \ + unsigned long long f: l; \ + } *)&i)->f)) +#define BitfR32(i,s,l) ((((struct { \ + unsigned int : 32-(l)-(s); \ + unsigned int f: l; \ + } *)&i)->f)) +#define BitfR8(i,s,l) ((((struct { \ + unsigned char : 8-(l)-(s); \ + unsigned char f: l; \ + } *)&i)->f)) +# endif /* !BYTE_ORDER == BIG_ENDIAN */ +#endif /* !defined __GNUC__ */ + + +/*--------------------------------------------------------------------------- + * Bitfield$eXtract - Extract the specified bitfield from a 32-bit or 64-bit + * integer. The "s" and "l" arguments specify the starting bit and length, + * however they need no longer be constants. May only be used as an rvalue. + * Translates to two instructions on the VAX, three on the DEC-20, six on + * PA-RISC. + *---------------------------------------------------------------------------*/ +#if defined __GNUC__ +extern unsigned long long bad_bitfx64 (void); +extern unsigned int bad_bitfx32 (void); +extern unsigned short bad_bitfx16 (void); +extern unsigned char bad_bitfx8 (void); + +#define BitfX64(i,s,l) (((unsigned long long)((i) << (s)) >> (64 - (l))) \ + | (sizeof(i) != 8 ? bad_bitfx64 () : 0)) +#define BitfX32(i,s,l) (((unsigned int) ((i) << (s)) >> (32 - (l))) \ + | (sizeof(i) != 4 ? bad_bitfx32 () : 0)) +#define BitfX16(i,s,l) (((unsigned short) ((i) << (s)) >> (16 - (l))) \ + | (sizeof(i) != 2 ? bad_bitfx16 () : 0)) +#define BitfX8(i,s,l) (((unsigned char) ((i) << (s)) >> ( 8 - (l))) \ + | (sizeof(i) != 1 ? bad_bitfx8 () : 0)) + +#else /* !defined __GNUC__ */ + +#define BitfX64(i,s,l) ((unsigned long long)((i) << (s)) >> (64 - (l))) +#define BitfX32(i,s,l) ((unsigned int) ((i) << (s)) >> (32 - (l))) +#define BitfX16(i,s,l) ((unsigned short) ((i) << (s)) >> (16 - (l))) +#define BitfX8(i,s,l) ((unsigned char) ((i) << (s)) >> ( 8 - (l))) + +#endif /* !defined __GNUC__ */ + +/* set the default to BitfX64 */ +#define BitfX(i,s,l) BitfX64((i),(s),(l)) + +#endif /* _SKI_BITS_H */ diff --git a/src/combfns.awk b/src/combfns.awk new file mode 100755 index 0000000..9b5fd51 --- /dev/null +++ b/src/combfns.awk @@ -0,0 +1,91 @@ +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; awk-basic-offset: 4 -*- + +BEGIN { + CFILE="combfns.c" + HFILE="combfns.h" + Emacs="/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t;" \ + " c-basic-offset: 4 -*- */\n" + printf "%s", Emacs > CFILE + printf "%s", Emacs > HFILE + + Warn="/* DO NOT EDIT - Automatically generated from:\n" \ + " awk -f combfns.awk execTbl\n" \ + " */\n" + printf "%s", Warn > CFILE + printf "%s", Warn > HFILE + while (getline ln < (prefix "Copyright") == 1) { + print ln > CFILE + print ln > HFILE + } + close((prefix "Copyright")) + print "#include \"exec_hd.c\"" > CFILE + print "Status illComb(INSTINFO *info);" > HFILE + print "Status illQpComb(INSTINFO *info);" > HFILE + print "Status illBQpComb(INSTINFO *info);" > HFILE + print "Status instFetchDecode(INSTINFO *info);" > HFILE + print "Status lastInstComb(INSTINFO *info);" > HFILE + print "Status ignComb(INSTINFO *info);" > HFILE + print "Status movGrComb(INSTINFO *info);" > HFILE +} + +/^#/ { + next +} + +function copyfile(fname) { + x = getline ln < fname + if (x == -1) { + print "file " fname " not found" + exit 1 + } + if (x != 0) + do + print ln > CFILE + while (getline ln < fname == 1) + close(fname) +} + +{ + comb = $1 "Comb" + if ($2 == "alias") { + print "#define " comb " " $3 "Comb" > HFILE + next + } + exfn = "temp/" $2 + rdfn = "temp/" $3 + wrfn = "temp/" $4 + retfn = rdfn ".return" + print "extern Status " comb "(INSTINFO *info);" > HFILE + printf "\nStatus " comb "(INSTINFO *info)\n{\n" > CFILE + print " REG src1, src2, src3, cntx, dst1, dst2;" > CFILE + print " BOOL srcnat1, srcnat2, srcnat3, dstnat1, dstnat2;" > CFILE + print " BOOL cmpres1, cmpres2, pdst1, qual;" > CFILE + print " FREG fsrc1, fsrc2, fsrc3, fdst1, fdst2;" > CFILE + print " HWORD syscallno; Status st = 0;" > CFILE + print " BYTE sofx, soilx, sorx, posx, lenx, mhtypex;" > CFILE + print " BYTE cpl, traps, ctrls;" > CFILE + print " REG arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7;" > CFILE + print " REG scStatus, scRetval;\n" > CFILE + copyfile(retfn) + print "\treturn StSuccess;" > CFILE + printf " {\n" > CFILE + copyfile(rdfn) + print " }" > CFILE + printf "\n {\n" > CFILE + copyfile(exfn) + printf " }\n\n {\n" > CFILE + copyfile(wrfn) + printf " }\n" > CFILE + print " if (0) {" > CFILE + print " src1=0;src2=0;src3=0;cntx=0;dst1=0;dst2=0;" > CFILE + print " srcnat1=0;srcnat2=0;srcnat3=0;dstnat1=0;dstnat2=0;" > CFILE + print " cmpres1=0;cmpres2=0;pdst1=0;qual=0;" > CFILE + print " fsrc1.mant=0;fsrc2.mant=0;fsrc3.mant=0;" > CFILE + print " fdst1.mant=0;fdst2.mant=0;syscallno=0;" > CFILE + print " sofx=0;soilx=0;sorx=0;posx=0;lenx=0;mhtypex=0;" > CFILE + print " cpl=0;traps=0;ctrls=0;" > CFILE + print " arg0=arg1=arg2=arg3=arg4=arg5=arg6=arg7=0;" > CFILE + print " scStatus=0;scRetval=0;\n" > CFILE + print " }" > CFILE + printf " return StSuccess | st;\n}\n" > CFILE +} diff --git a/src/coreui.h b/src/coreui.h new file mode 100644 index 0000000..8cab3da --- /dev/null +++ b/src/coreui.h @@ -0,0 +1,209 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Core User Interface Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_COREUI_H +#define _SKI_COREUI_H + + +#define EXPRSIZ 20 +#define TITLESIZ 80 +#define WINTBLSIZ 20 +#define NAMLEN 32 /* symbol name max length (including NULL!) */ + +#define RFT "016llx" + +typedef enum { ASM, MIXED, SRC } PrgwMode; +typedef enum { BATCH = 0, X_INTERFACE, CURSES_INTERFACE } Interface; + + +/*-------------------------------------------------------------------------- + * Internal symbol interface + *-------------------------------------------------------------------------*/ + +typedef REG (*PGetFn)(); +typedef BOOL (*PSetFn)(); + +struct isym { + char name[NAMLEN]; /* internal symbol name */ + Symtyp type; /* internal symbol type */ + PGetFn getFn; + PSetFn setFn; + void *pval; + BOOL readonly; /* is symbol read-only */ + unsigned len; /* subfield length (len == 0 => not a subfld) */ + unsigned start; /* subfield start bit position */ + unsigned ndx; /* index in register set */ + REG align; /* data item alignment */ + int dbase; /* default base (hex or dec) */ +}; + +void isymInit(void); +struct isym *isymVLkp(const char *sname); + + +/*-------------------------------------------------------------------------- + * Command interface + *-------------------------------------------------------------------------*/ + +#define KEYWDSIZ 20 +#define DESCRSIZ 200 + +typedef struct { + char keywd[KEYWDSIZ]; /* menu lookup keyword */ + unsigned minargs, maxargs; /* min and max number of arguments */ + char descrip[DESCRSIZ]; /* description (used in help) */ + PFV fcn; /* dispatch function */ + char format[DESCRSIZ]; /* command usage (used in help) */ +} MENU; + +void menuInit(void); +MENU *menuLkp(char *s); + + +/*-------------------------------------------------------------------------- + * Register window interface + *-------------------------------------------------------------------------*/ + +typedef struct { + char tag[EXPRSIZ]; /* register window tag */ + char title[TITLESIZ]; /* register window title */ + PLF fcn; /* line display function */ + unsigned curln; /* current line */ + char size[EXPRSIZ]; /* register window size. It is a string to + allow use of evalExpr() for GR display */ + BOOL show; /* show the register set in GUI */ +} Regw; + +extern Regw regwtbl[], *actRegw; +extern unsigned topregw; + +BOOL regwFwdCur(unsigned argc, char *argv[]); +BOOL regwBkwdCur(unsigned argc, char *argv[]); +void regwDrawX(void); +void regwUpdate(void); +void regwUpdateCur(void); +void regwUpdateX(void); + + +/*-------------------------------------------------------------------------- + * Data window interface + *-------------------------------------------------------------------------*/ + +typedef struct { + char tag[EXPRSIZ]; /* data window tag */ + char title[TITLESIZ]; /* data window title */ + unsigned size; /* data window size */ + PBF bdfcn; /* buffer display function */ + BOOL show; /* show data window in GUI */ +} Datw; + +extern Datw datwtbl[], *actDatw; +extern unsigned topdatw; + +char *dmembuf(unsigned datwSz); +void datwDraw(void); +void datwDrawCur(void); +void datwDrawX(void); +void datwUpdate(void); +void datwUpdateCur(void); +void datwUpdateX(void); + + +/*-------------------------------------------------------------------------- + * Program window interface + *-------------------------------------------------------------------------*/ + +void prgwDraw(void); +void prgwDrawCur(void); +void prgwDrawX(void); +void prgwUpdate(void); +void prgwUpdateCur(void); +void prgwUpdateX(void); +void prgwPCRedraw(void); + + +/*-------------------------------------------------------------------------- + * Command/Main window interface + *-------------------------------------------------------------------------*/ + +extern Interface interface; + +void cmdErr(const char *, ...); +void cmdWarn(const char *, ...); +void cmdwUpdateCur(void); +void cmdwUpdateX(void); +void cmdwSetStatus(const char *); +void cmdwSetStatusCur(const char *); +void cmdwSetStatusX(const char *); +void cmdwPrint(const char *, ...); +void cmdwPrintBatch(const char *); +void cmdwPrintCur(const char *); +void cmdwPrintX(const char *); +void msgwPrint(const char *, ...); +void msgwPrintX(const char *); + +void cleanup_execLoop(BOOL showIrate); + +void stepUntil_setupX(const char *expr); +BOOL stepUntil_loopX(CTR delay, REG val, const char *expr); + +void stepIt_setupX(CTR cnt); + +void runIt_setupX(void); + + +/*-------------------------------------------------------------------------- + * Entire screen interface + *-------------------------------------------------------------------------*/ + +void uiInit(void); + +void scrnInit(void); +void scrnInitBatch(void); +void scrnInitCur(void); +void scrnInitX(void); +void scrnUpdate(void); +void scrnRedrawCur(void); +void scrnRedrawX(void); +void scrnEnd(void); +void scrnEndCur(void); +void scrnEndX(void); + +void cmdOutBatch(const char *hdr, const char *buf); +void cmdOutCur(const char *hdr, const char *buf); +void cmdOutX(const char *name, const char *hdr, const char *buf); +void cmdLoop(void); +void cmdLoopBatch(void); +void cmdLoopCur(void); +void cmdLoopX(void); + +/*-------------------------------------------------------------------------- + * DWARF stuff + *-------------------------------------------------------------------------*/ + +void initDwUnitTbl(int fd); +char *getSrcLines(ADDR ofs, unsigned *count); +char *getSrcName(ADDR ofs); + +/* Product Information Message */ +char *productInfo(void); + +#endif /* _SKI_COREUI_H */ diff --git a/src/cur.c b/src/cur.c new file mode 100644 index 0000000..7ea3c1b --- /dev/null +++ b/src/cur.c @@ -0,0 +1,740 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Curses Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" + +#include +#include +#include +#include + +#include + +#include "types.h" +#include "ski.h" +#include "ssDCmd.h" +#include "exportui.h" +#include "coreui.h" +#include "program.h" +#include "data.h" +#include "libcore.h" + +#define MIN_LINES 24 +#define MIN_COLS 80 + +#define REGSIZE 64 /* Max size */ +#define CMDHISTSIZE 20 +#define CMDWINSIZE 4 +#define TLBSIZE 40 + +#define MAXCMDLEN 100 +#if 0 +#define CUR_DEBUG +#endif + +static WINDOW *regh, *regw, *prgw, *datw, *cmdh, *cmdw; +static unsigned regwSize, prgwSize, datwSize; +static char erasech, killch; + + +BOOL userint = NO; + +extern ADDR dataStart; + +ADDR iAinstAddr(ADDR baseAddr, BYTE iAmode, int delta); +char *skiID(void); +#if !defined __linux__ +static void sigwinchHandler(int sig); +static void (*stdSigwinchHandler)(int sig); +#endif /* !defined __linux__ */ + +static char *ski_id; + +/****************************/ +/* Register Window Routines */ +/****************************/ + +void regwUpdateCur(void) +{ + REG size; + unsigned i; + + wstandout(regh); + mvwprintw(regh, 0, 0, "%-*s", COLS, actRegw->title); + wstandend(regh); + wrefresh(regh); + wclear(regw); + (void)evalExpr(actRegw->size, DECEXP, &size); + if (actRegw->curln > size-regwSize) + actRegw->curln = size-regwSize; + for (i = 0; i < size; i++) + mvwprintw(regw, i, 0, "%-*s", COLS, actRegw->fcn(i)); + prefresh(regw, actRegw->curln, 0, 1, 0, regwSize, COLS-1); +} + +void prgwUpdateCur(void) +{ + if (fileLoaded) { + ADDR adr; + unsigned i, j, srcrows, asmrows, nbytes; + char *p, buf[80], *text; + + switch (prgCmd) { + case PrgUseTop: + adr = prgwTop; + break; + case PrgUseBot: + adr = prgwBot; + break; + default: + adr = prgwCVA; + if (adr >= prgwTop && adr <= prgwBot) /* adr is in view */ + adr = prgwTop; + else if (prgwIS) /* iA */ + adr = iAinstAddr(adr, prgwIAmode, -prgOverlap); + else /* EM */ + adr -= prgOverlap*16; + break; + } + wmove(prgw, 1, 0); + wclrtobot(prgw); + if (prgwIS) { /* iA */ + for (prgwTop = adr, i = 0; i < prgRows; i++, adr += nbytes) { + wmove(prgw, i+1, 0); + text = prgwLineIA(adr, prgwIAmode, YES, &nbytes); + wprintw(prgw, "%s", text); + } + prgBndl = prgRows; + prgwBot = adr - nbytes; + } else { /* EM */ + if (prgCmd != PrgUseBot) { + for (prgwTop = adr, i = prgRows, prgBndl = 0; i > 0; ) { + wmove(prgw, prgRows-i+1, 0); + text = prgwLine(adr, &srcrows, &asmrows); + if (i >= (srcrows + asmrows)) { + i -= srcrows + asmrows; + wprintw(prgw, "%s", text); + adr += 16; + prgBndl++; + } else { /* fill in remaining lines with source */ + for (p = text, j = 0; j < i && j < srcrows; j++) + p = strchr(p, '\n') + 1; + *p = '\0'; + wprintw(prgw, "%s", text); + i = 0; + } + } + prgwBot = adr - 16; + } else { /* PrgUseBot */ + for (i = prgRows, prgBndl = 0; i > 0; ) { + text = prgwLine(adr, &srcrows, &asmrows); + wmove(prgw, i-(srcrows + asmrows)+1, 0); + if (i >= (srcrows + asmrows)) { + i -= srcrows + asmrows; + wprintw(prgw, "%s", text); + adr -= 16; + prgBndl++; + } else { + wmove(prgw, 1, 0); + if (i >= asmrows) { + for (p = text, j = 0; j < (srcrows+asmrows) - i; + j++) + p = strchr(p, '\n') + 1; + wprintw(prgw, "%s", p); + i = 0; + } else + for (; i > 0; i--) + wdeleteln(prgw); + } + } + prgwTop = adr + 16; + } + } + wstandout(prgw); + if (strlen(p = getSrcName(prgwTop))) + (void)sprintf(buf, "Program (file: %s)", p); + else + (void)strcpy(buf, "Program"); + mvwprintw(prgw, 0, 0, "%-*s", COLS, buf); + wstandend(prgw); + prgCmd = PrgUseTop; + } else { + int n = 0; + unsigned lines = 0, len = 0, maxlen = 0, spaces; + char *p, *buf = productInfo(), line[MIN_COLS]; + + for (p = buf; *p; p++) + if (*p != '\n') + len++; + else { + if (len > maxlen) + maxlen = len; + len = 0; + lines++; + } + spaces = (COLS - maxlen)/2; + wmove(prgw, (prgRows - lines)/2 + 1, 0); + for (p = buf; *p; p++) { + line[n++] = *p; + if (*p == '\n') { + line[n] = '\0'; + wprintw(prgw, "%*s%s", spaces, "", line); + n = 0; + } + } + } + wrefresh(prgw); +} + + +void datwUpdateCur(void) +{ + wstandout(datw); + if (datExpr[0] && !strcmp(actDatw->tag, "Data")) { + char buf[80]; + + (void)sprintf(buf, "%s (Tracking: %s)", actDatw->title, datExpr); + mvwprintw(datw, 0, 0, "%-*s", COLS, buf); + } else + mvwprintw(datw, 0, 0, "%-*s", COLS, actDatw->title); + wstandend(datw); + wmove(datw, 1, 0); + wclrtobot(datw); + mvwaddstr(datw, 1, 0, actDatw->bdfcn(datwSize)); + wrefresh(datw); +#if 0 + cmdwUpdateCur(); +#endif +} + +void cmdwUpdateCur(void) +{ + wmove(cmdw, LINES-1, 3); + wrefresh(cmdh); + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); +} + +BOOL regwFwdCur(unsigned argc, char *argv[]) +{ + REG size, cnt; + unsigned rwline = actRegw->curln; + + (void)evalExpr(actRegw->size, DECEXP, &size); + if (argc) { + if (!evalExpr(argv[0], DECEXP, &cnt)) + return NO; + rwline += cnt; + } else + rwline += regwSize-1; + if (size > regwSize && rwline > (size-regwSize)) + rwline = size-regwSize; + actRegw->curln = rwline; + regwUpdateCur(); + return YES; +} + +BOOL regwBkwdCur(unsigned argc, char *argv[]) +{ + REG size, cnt; + int rwline = actRegw->curln; + + (void)evalExpr(actRegw->size, DECEXP, &size); + if (argc) { + if (!evalExpr(argv[0], DECEXP, &cnt)) + return NO; + rwline -= cnt; + } else + rwline -= regwSize-1; + if (rwline < 0) + rwline = 0; + actRegw->curln = rwline; + regwUpdateCur(); + return YES; +} + +#ifdef TO_BE_USED +tlbCur() +{ + WINDOW *tlbh, *tlbd; + int i; + + tlbh = newwin(2, COLS, 0, 0); + tlbd = newpad(TLBSIZE, COLS); + + mvwprintw(tlbh, 0, 0, "%-*s", COLS, "TLB Header Line 1"); + mvwprintw(tlbh, 1, 0, "%-*s", COLS, "TLB Header Line 2"); + for (i = 0; i < TLBSIZE; i++) + mvwprintw(tlbd, i, 0, "TLB Data Line %2d", i); + wrefresh(tlbh); + prefresh(tlbd, 7, 0, 2, 0, LINES-1, COLS-1); +} +#endif + +#ifdef CUR_DEBUG +static FILE *dbg; +#endif +void showPrgDim(void) +{ +#if defined CUR_DEBUG && !defined __linux__ +fprintf(dbg, "new: %d %d %d %d %d %d %d %d\n", +prgw->_maxx, prgw->_maxy, +prgw->_begx, prgw->_begy, +prgw->_allocx, prgw->_allocy, +prgw->_bmarg, prgw->_flags); +fflush(dbg); +#endif /* defined CUR_DEBUG && !defined __linux__ */ +} + +static void createWindows(void) +{ + if (LINES >= MIN_LINES+4) { + regwSize = 9; + prgwSize = 10 + (LINES - MIN_LINES-4)/2; + datwSize = 3 + (LINES - MIN_LINES-3)/2; + } else { + regwSize = 5; + prgwSize = 10 + (LINES - MIN_LINES)/2; + datwSize = 3 + (LINES - MIN_LINES+1)/2; + } + + /* register window */ + regh = newwin(1, COLS, 0, 0); + regw = newpad(REGSIZE, COLS); + leaveok(regw, TRUE); + + /* program window */ + prgw = newwin(prgwSize, COLS, regwSize+1, 0); +#if defined CUR_DEBUG && !defined __linux__ +fprintf(dbg, "init: %d %d %d %d %d %d %d %d\n", +prgw->_maxx, prgw->_maxy, +prgw->_begx, prgw->_begy, +prgw->_allocx, prgw->_allocy, +prgw->_bmarg, prgw->_flags); +fflush(dbg); +#endif /* defined CUR_DEBUG && !defined __linux__ */ + wstandout(prgw); + mvwprintw(prgw, 0, 0, "%-*s", COLS, "Program"); + wstandend(prgw); + leaveok(prgw, TRUE); + prgRows = prgwSize - 1; + prgColumns = COLS - 1; /* XXX - "-1" to avoid using last char? */ + + /* data window */ + datw = newwin(datwSize, COLS, regwSize+prgwSize+1, 0); + wstandout(datw); + mvwprintw(datw, 0, 0, "%-*s", COLS, "Data"); + wstandend(datw); + leaveok(datw, TRUE); + datRows = datwSize - 1; + datInfo.numDataWds = COLS < 122 ? 4 : 8; + datInfo.expr[0] = '\0'; + + /* command header window */ + cmdh = newwin(1, COLS, regwSize+prgwSize+datwSize+1, 0); +#if 0 + cmdwSetStatusCur(""); +#else + wstandout(cmdh); + mvwprintw(cmdh, 0, 0, "%s%*s", "Command", COLS-strlen("Command"), ski_id); + wstandend(cmdh); +#endif +} + +/*ARGSUSED*/ +static void userintHandler(int sig) +{ + (void)signal(SIGINT, userintHandler); + userint = YES; + setIntrsim(YES); +} + +#if !defined __linux__ +/*ARGSUSED*/ +static void sigwinchHandler(int sig) +{ +#ifdef CUR_DEBUG + fprintf(dbg, "got sigwinch, COLS = %d, COLUMNS = %s\n", + COLS, getenv("COLUMNS")); + fflush(dbg); +#endif + (void)signal(SIGWINCH, stdSigwinchHandler); + (void)raise(SIGWINCH); + (void)signal(SIGWINCH, sigwinchHandler); +#ifdef CUR_DEBUG + fprintf(dbg, "got sigwinch2, COLS = %d, COLUMNS = %s\n", + COLS, getenv("COLUMNS")); + fflush(dbg); +#endif + if (LINES < MIN_LINES || COLS < MIN_COLS) { + /* XXX - should stay in simulator and wait until user makes screen + bigger or quits + */ + endwin(); + (void)fprintf(stderr, "screen size is %dx%d -- minimum is %dx%d\n", + LINES, COLS, MIN_LINES, MIN_COLS); + exit(EXIT_FAILURE); + } + delwin(regh); + delwin(regw); + delwin(prgw); + delwin(datw); + delwin(cmdh); + createWindows(); + scrnUpdate(); +} +#endif /* !defined __linux__ */ + +void scrnInitCur(void) +{ + unsigned i; + +#ifdef CUR_DEBUG +dbg = fopen("cur.dbg", "w"); +# if defined __linux__ + trace(0xffffffff); +#endif /* defined __linux__ */ +#endif + if (!isatty(STDOUT_FILENO)) { + int fd; + FILE *fp; + + fd = dup(STDOUT_FILENO); + fp = fopen("/dev/tty", "w"); + (void)dup2(fileno(fp), STDOUT_FILENO); + setFdmap(STDOUT_FILENO, fd); + } + if (!isatty(STDIN_FILENO)) { + int fd; + FILE *fp; + + fd = dup(STDIN_FILENO); + fp = fopen("/dev/tty", "r"); + (void)dup2(fileno(fp), STDIN_FILENO); + setFdmap(STDIN_FILENO, fd); + } + if (!initscr()) { + (void)fprintf(stderr, "screen initialization failed\n"); + exit(EXIT_FAILURE); + } + if (LINES < MIN_LINES || COLS < MIN_COLS) { + endwin(); + (void)fprintf(stderr, "screen size is %dx%d -- minimum is %dx%d\n", + LINES, COLS, MIN_LINES, MIN_COLS); + exit(EXIT_FAILURE); + } + cbreak(); + noecho(); + erasech = erasechar(); + killch = killchar(); + createWindows(); + cmdw = newpad(CMDHISTSIZE, COLS); + scrollok(cmdw, TRUE); + keypad(stdscr, TRUE); + (void)signal(SIGINT, userintHandler); +#if !defined __linux__ + stdSigwinchHandler = signal(SIGWINCH, sigwinchHandler); +#endif /* !defined __linux__ */ + (void)signal(SIGPIPE, SIG_IGN); + /*putp("meml");*/ + + /* register window */ + /* actRegw set to GRs at program startup */ + + /* data window */ + datwCVA = dataStart; + for (i = 0; i < topdatw; i++) + datwtbl[i].size = datwSize; + + /* command window */ + ski_id = skiID(); + cmdwSetStatusCur(""); + for (i = 0; i < CMDHISTSIZE; i++) + mvwprintw(cmdw, i, 0, ""); + mvwprintw(cmdw, CMDHISTSIZE-1, 0, "* "); + + scrnUpdate(); +} + +void scrnEndCur(void) +{ + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + endwin(); +} + +void prgwDrawCur(void) +{ + prgwUpdateCur(); +} + +void datwDrawCur(void) +{ + datwUpdateCur(); +} + +void cmdwPrintCur(const char *s) +{ + static char news[200], *np; + + (void)strcpy(news, s); + /* XXX - strtok doesn't handle \n at beginning or multiple consecutive + newlines within the string + */ + /* XXX - seems to be OK if strlen(np) > COLS -- just gets truncated? */ + for (np = strtok(news, "\n"); np; np = strtok(NULL, "\n")) { + mvwaddstr(cmdw, CMDHISTSIZE-1, 0, np); + scroll(cmdw); + } + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); +} + +void cmdwSetStatusCur(const char *msg) +{ + char buf[80]; + + wstandout(cmdh); + (void)sprintf(buf, "Command %2d/%-2d %s", viewPid+2, 5, msg); + mvwaddstr(cmdh, 0, 0, buf); + mvwprintw(cmdh, 0, strlen(buf), "%*s", COLS-strlen(buf), ski_id); + wstandend(cmdh); + wrefresh(cmdh); +} + +void scrnRedrawCur(void) +{ + regwUpdateCur(); + prgwUpdateCur(); + datwUpdateCur(); + cmdwUpdateCur(); +} + +void cmdOutCur(const char *hdr, const char *buf) +{ + FILE *pd; + static char *pager = NULL; + int pgst; + +#if !defined PAGER +# define PAGER "less" +#endif /* !defined PAGER */ + + if (!pager && !(pager = getenv("PAGER"))) + pager = PAGER; + if (!(pd = popen(pager, "w"))) { + cmdErr("popen failed\n"); + return; + } + clear(); + refresh(); + (void)fputs(hdr, pd); + (void)fputs(buf, pd); + pgst = pclose(pd); + +#if 0 + touchwin(regw); + touchwin(prgw); + touchwin(datw); + touchwin(cmdw); +#endif +#if 0 + werase(regh); + werase(regw); + werase(prgw); + werase(datw); + werase(cmdh); + werase(cmdw); +#endif + clear(); + refresh(); + touchwin(prgw); + touchwin(datw); + touchwin(cmdh); + scrnRedrawCur(); + /* + * Put the terminal back in keypad mode; savetty()/restty() + * doesn't do this and reset_shell_mode()/reset_prog_mode() + * doesn't work either because those routines look at the keypad + * flag of stdscr only. Nobody said ncurses is a nice API... + */ + keypad(cmdw, TRUE); + if (pgst != -1 && pgst > 0) + cmdErr("Pager %s not found (status=%x)\n", pager, pgst); +} + +void cmdLoopCur(void) +{ + int cmdln; + char cmdline[MAXCMDLEN] = "", prevcmd[MAXCMDLEN] = ""; + + cmdln = 0; + + for (;;) { + int in, pos; + + pos = 0; + cmdln = 0; + do { + /* + * This used to call mvgetch() but since ncurses does not + * deal with overlapping windows, we must not try to read + * from stdscr... --davidm 03/04/00 + */ + in = mvwgetch(cmdw, CMDHISTSIZE-1, pos+2); +#ifdef CUR_DEBUG + fprintf(dbg, "pos=%d, in=%x\n", pos, in); +#endif +#if defined __linux__ + if (in == 010) { +#ifdef CUR_DEBUG + fprintf(dbg, "got KEY_RESIZE: COLS=%d, LINES=%d\n", + COLS, LINES); +#endif + delwin(regh); + delwin(regw); + delwin(prgw); + delwin(datw); + delwin(cmdh); + while (LINES < MIN_LINES || COLS < MIN_COLS) { + cmdwPrint("screen size is %dx%d -- minimum is %dx%d:" + " please make screen bigger", + LINES, COLS, MIN_LINES, MIN_COLS); + mvwgetch(cmdw, CMDHISTSIZE-1, pos+2); + if (LINES >= MIN_LINES && COLS >= MIN_COLS) + cmdwPrint("\n"); + } + cmdwPrint("new screen size is %dx%d\n", LINES, COLS); + createWindows(); + scrnUpdate(); + mvwaddstr(cmdw, CMDHISTSIZE-1, 0, "* "); + mvwaddstr(cmdw, CMDHISTSIZE-1, 2, cmdline); + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + continue; + } else +#endif /* defined __linux__ */ + if (in == erasech || in == KEY_BACKSPACE || in == '\010' ) { + /* backspace/delete */ + if (!pos) + continue; + pos--; + cmdline[pos] = '\0'; +#if defined __linux__ + mvwdelch(cmdw, CMDHISTSIZE-1, pos+2); +#else /* !defined __linux__ */ + mvwaddch(cmdw, CMDHISTSIZE-1, pos+2, ' '); + wmove(cmdw, CMDHISTSIZE-1, pos+2); +#endif /* !defined __linux__ */ + prefresh(cmdw, CMDHISTSIZE-1, 0, LINES-1, 0, LINES-1, COLS-1); + continue; + } else if (in == killch) { + /* erase to beginning (^U) */ + pos = 0; + cmdline[pos] = '\0'; + wmove(cmdw, CMDHISTSIZE-1, 2); + wclrtoeol(cmdw); + prefresh(cmdw, CMDHISTSIZE-1, 0, LINES-1, 0, LINES-1, COLS-1); + continue; + } else if (in == '\027') { + /* erase previous word (^W) */ + if (!pos) + continue; + pos--; + while (cmdline[pos] == ' ') + pos--; + while (pos && cmdline[pos] != ' ') + pos--; + if (pos) + pos++; + cmdline[pos] = '\0'; + wmove(cmdw, CMDHISTSIZE-1, pos+2); + wclrtoeol(cmdw); + prefresh(cmdw, CMDHISTSIZE-1, 0, LINES-1, 0, LINES-1, COLS-1); + continue; + } else if (in == KEY_SF || in == KEY_DOWN || in == '\016') { + /* ^N */ + if (cmdln == 0) + continue; + cmdln--; + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE-cmdln, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + continue; + } else if (in == KEY_SR || in == KEY_UP || in == '\020') { + /* ^P */ + if (CMDHISTSIZE-CMDWINSIZE-cmdln == 0) + continue; + cmdln++; + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE-cmdln, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + continue; + } else if (in >= KEY_BREAK) { +#ifdef CUR_DEBUG + fprintf(dbg, "got unknown KEY %d\n", in); +#endif + continue; + } + if ((in & 0377) == '\n') { + cmdline[pos] = '\0'; + break; + } +#if defined __linux__ + cmdline[pos++] = in; + pechochar(cmdw, in); + if (cmdln) { + cmdln = 0; + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + } +#else + cmdline[pos] = in; + mvwaddch(cmdw, CMDHISTSIZE-1, pos+2, in); + prefresh(cmdw, CMDHISTSIZE-1, 0, LINES-1, 0, LINES-1, COLS-1); + pos++; +#endif + } while (1); + if (cmdline[0] == '\0' && prevcmd[0]) { /* empty command */ + (void)strcpy(cmdline, prevcmd); + wmove(cmdw, CMDHISTSIZE-1, 2); + wclrtoeol(cmdw); + waddstr(cmdw, cmdline); + prefresh(cmdw, CMDHISTSIZE-1, 0, LINES-1, 0, LINES-1, COLS-1); + } + (void)strcpy(prevcmd, cmdline); + scroll(cmdw); + + if (cmdline[0]) + (void)cmdExLin(cmdline); + else { + mvwaddstr(cmdw, CMDHISTSIZE-1, 0, "No previous command"); + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + scroll(cmdw); + } + mvwaddstr(cmdw, CMDHISTSIZE-1, 0, "* "); + prefresh(cmdw, CMDHISTSIZE-CMDWINSIZE, 0, + LINES-CMDWINSIZE, 0, LINES-1, COLS-1); + } +} diff --git a/src/das.awk b/src/das.awk new file mode 100755 index 0000000..94eb16e --- /dev/null +++ b/src/das.awk @@ -0,0 +1,95 @@ +#!/usr/bin/awk -f +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +function printEmacs(file) +{ + Emacs="/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t;" \ + " c-basic-offset: 4 -*- */" + printf "%s\n", Emacs > file +} + +function printWarn(file, i, date) +{ + "date" | getline date; + printf("/* DO NOT EDIT - Automatically generated %s using:\n ", \ + date) > file; + for (i = 0; i < ARGC; i++) + printf(" %s", ARGV[i]) > file; + printf("\n */\n\n") > file; + close("date"); +} + +BEGIN { + unused = 0 + CFILE="das_instr.c" + printEmacs(CFILE) + printWarn(CFILE) + while (getline ln < (prefix "Copyright") == 1) { + print ln > CFILE + } + close((prefix "Copyright")); + + while (getline ln < (prefix "libdas.c") == 1) { + if (ln ~ "^\t\{EM_") { + sub(/,.*$/, "", ln); + instID = substr(ln, 3); + if (!(instID in pseudo)) + pseudo[instID] = pnum; + pnum++; + } + } + close((prefix "libdas.c")); + + print "" > CFILE + print "#include \"das_instr.h\"" > CFILE + print "" > CFILE + print "DasInstr dasBaseInstrs[] = {" > CFILE + print " { \"illegalOp\", -1, -1, 0 }," > CFILE + print " { \"illegalOp\", -1, -1, 0 }," > CFILE + print " { \"illegalOp\", -1, -1, 0 }," > CFILE + print " { \"ignoredOp\", -1, -1, 0 }," > CFILE + print " { \"imm41\", -1, -1, 0 }," > CFILE +} + +/^#/ { + next +} + +{ + format = $1 + mnem = $2 + semi = index($0, ";"); + pound = index($0, "#"); + flags = 0; + sub(/:.*$/, "") + inst = substr($0,5) + gsub(/-/, "m", inst) + gsub(/[^a-zA-Z0-9.]/, "_", inst) + gsub(/__+/, "_", inst) + sub(/_$/, "", inst) + instID = "EM_" toupper(inst) + gsub(/\./, "_", instID) + if (unused) { + if (index(inst, "illegalOp") || index(inst, "ignoredOp")) + next; + } + ops = ""; + equal = 0; + target = tag = -1; + for (i = 3; i <= NF; i++) { + if ($i == "=") + equal = 1; + if (index($i, "target")) + target = i - equal - 3; + if (index($i, "tag")) + tag = i - equal - 3; + } + + printf(" { \"%s\", %d, %d, %d },\n", mnem, target, tag, pseudo[instID]) > CFILE +} + +END { + print "};" > CFILE + print "" > CFILE + print "DasInstrPtr dasInstrs = dasBaseInstrs;" > CFILE +} diff --git a/src/das_instr.h b/src/das_instr.h new file mode 100644 index 0000000..e7bf0f5 --- /dev/null +++ b/src/das_instr.h @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Disassembler Instruction Structure Definition + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_DAS_INSTR_H +#define _SKI_DAS_INSTR_H + +#define OPINDEX_NONE -1 + +typedef struct { + char *mnem; /* mnemonic */ + short tgtOp, tagOp; /* operand index of target/tag, OPINDEX_NONE if none */ + unsigned short pseudo; /* index of first pseudo op, 0 if none */ +} DasInstr, *DasInstrPtr; + +extern DasInstrPtr dasInstrs; + +#endif /* _SKI_DAS_INSTR_H */ diff --git a/src/data.c b/src/data.c new file mode 100644 index 0000000..a439fab --- /dev/null +++ b/src/data.c @@ -0,0 +1,285 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Data Window Manipulation Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include "std.h" +#include "bits.h" +#include "types.h" +/*typedef struct instr *InstrPtr;*/ +#include "decoder/decoder.h" +#include "ssDCmd.h" +#include "exportui.h" +#include "coreui.h" +#include "data.h" +#include "libsym.h" +#include "libcore.h" +#include "sim.h" +#include "fields.h" +#include "state.h" +#include "memory.h" + +#define PRCH(c) (isprint(c) ? (c) : '.') + +/*##################### Globals - Exports ##################################*/ + +datStruct datInfo; +BOOL asciimode = NO, datwInHex = YES; +#define BYT_P_WD 4 +#define BYT_P_DW 8 + /* BYT_P_xx is defined in ssDefs.h. Change this if an equivalent + define is found elsewhere or if ssDefs.h is included here */ + +/*##################### Functions and Subroutines ##########################*/ + +/*-------------------------------------------------------------------------- + * dataWindow$Expression - Set an expression for the data window (default + * leave data window position alone). + *--------------------------------------------------------------------------*/ +BOOL datwExpr(unsigned argc, char *argv[]) +{ + if (argc == 1) + (void)strcpy(datExpr, argv[0]); + else + datExpr[0] = '\0'; + datwUpdate(); + return YES; +} + +/*-------------------------------------------------------------------------- + * dataWindow$Forward - Scroll data window forward n lines (default + * one screenful with one line overlap). + *--------------------------------------------------------------------------*/ +BOOL datwFwd(unsigned argc, char *argv[]) +{ + REG lines = datwSz("Data") - datOverlap; + + if (argc == 1 && !evalExpr(argv[0], DECEXP, &lines)) + return NO; + datwLVA = datwCVA; + datwCVA += lines * datInfo.numDataWds * BYT_P_WD; + (void)datwMakeActivew("Data"); + return YES; +} + +/*-------------------------------------------------------------------------- + * dataWindow$Backward - Scroll data window backward n lines (default + * one screenful with one line overlap). + *--------------------------------------------------------------------------*/ +BOOL datwBkwd(unsigned argc, char *argv[]) +{ + REG lines = datwSz("Data") - datOverlap; + + if (argc == 1 && !evalExpr(argv[0], DECEXP, &lines)) + return NO; + datwLVA = datwCVA; + datwCVA -= lines * datInfo.numDataWds * BYT_P_WD; + (void)datwMakeActivew("Data"); + return YES; +} + +/*-------------------------------------------------------------------------- + * dataWindow$Jump - Prompt for address and then draw data window starting + * at given address. Stackmode is turned off. + *--------------------------------------------------------------------------*/ +BOOL datwJump(unsigned argc, char *argv[]) +{ + ADDR ofs; + + if (argc == 1) { + if (!evalExpr(argv[0], HEXEXP, &ofs)) + return NO; +#if 0 +/* Enable dwdalign when and if ssDefs.h is included */ + dwdalign(ofs); +#else + ofs &= ~7; +#endif + datwLVA = datwCVA; + datwCVA = ofs; + datwUpdate(); + } else { + ADDR temp = datwLVA; + + datwLVA = datwCVA; + datwCVA = temp; + datwUpdate(); + } + return YES; +} + +/*-------------------------------------------------------------------------- + * dataWindow$HexMode - Set the data window display mode to Hex. + *--------------------------------------------------------------------------*/ +BOOL datwHex(unsigned argc, char *argv[]) +{ + (void)datwMakeActivew("Data"); + datwInHex = YES; + datwUpdate(); + return YES; +} + +/*-------------------------------------------------------------------------- + * dataWindow$BundleMode - Set the data window display mode to Instruction + * bundles. + *--------------------------------------------------------------------------*/ +BOOL datwBndl(unsigned argc, char *argv[]) +{ + (void)datwMakeActivew("Data"); + datwInHex = NO; + datwUpdate(); + return YES; +} + +/*-------------------------------------------------------------------------- + * displayMemoryBuffer - Return a null-terminated buffer containing "nlines" + * of memory data pointed at by datwCVA. + *--------------------------------------------------------------------------*/ +char *dmembuf(unsigned nlines) +{ + unsigned i; + static char buf[2048]; + char *p; + ADDR adr = datwCVA; + unsigned ndbpl = BYT_P_WD*datInfo.numDataWds; + + p = buf; + *p = '\0'; + for (i = 0; i < nlines; i++, adr += ndbpl) + p += sprintf(p, "%s\n", datwLine(adr)); + return buf; +} + +/*-------------------------------------------------------------------------- + * dataWindow$Line - Returns a newline-terminated string containing the + * words at the passed address. + *--------------------------------------------------------------------------*/ +char *datwLine(ADDR ofs) +{ + unsigned nddwpl = datInfo.numDataWds/2; + char *p, buf[256], label[32]; + static char line[256]; + + symAddrtoName(ofs, label, 0, NO, 16); + buf[0] = '\0'; + p = buf; + + if (datwInHex) { + char *q, ascii[80]; + unsigned i; + DWORD dw; + BYTE *by; + + ascii[0] = '\0'; + q = ascii; + for (i = 0; i < nddwpl; i++, ofs += BYT_P_DW) { + if (memMRd(ofs, 8, &dw)) { + p += sprintf(p, "%016llx", dw); + dw = FIX_BYTEORDER_D(PSR_BE && !PSR_IS, dw); + by = (BYTE *)(&dw); + q += sprintf(q, "%c%c%c%c%c%c%c%c", + PRCH(*by), PRCH(*(by+1)), + PRCH(*(by+2)), PRCH(*(by+3)), + PRCH(*(by+4)), PRCH(*(by+5)), + PRCH(*(by+6)), PRCH(*(by+7))); + } else + p += sprintf(p, "xxxxxxxxxxxxxxxx"); + p += sprintf(p, " "); + } + (void)strcat(buf, ascii); + +#if 0 +/* no little-endian support just yet */ + + /* If PswE = 0, line = label + " " + buf */ + /* If PswE = 1, line = string reverse buf + " " + label */ + if (PswE()) { + line[0] = '\0'; + do { + p -= 9; + strncat(line, p, 9); + } while (p > buf); + (void)strcat(line, label); + } else + (void)sprintf(line, "%s %s", label, buf); +#endif + } else { + unsigned i; + Bundle bndl; + BYTE templ; + DWORD slot[3]; + + for (i = 0; i < nddwpl/2; i++, ofs += 0x10) { + if (memMIRd(ofs, (DWORD *)&bndl)) { + bparts(&bndl, &templ, slot); + p += sprintf(p, "%02x %011llx %011llx %011llx ", + templ, slot[0], slot[1], slot[2]); + } else + p += sprintf(p, "xx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx "); + } + } + (void)sprintf(line, "%s %s", label, buf); + return line; +} + +/*-------------------------------------------------------------------------- + * data$Dump - Print contents of memory to specified file (or PAGER) starting + * at start address and ending at end address. + *--------------------------------------------------------------------------*/ +BOOL dataDump(unsigned argc, char *argv[]) +{ + ADDR sadr, eadr, adr; + FILE *f = NULL; + char *p, *buf; + size_t bufsz; + unsigned ndbpl = 4*datInfo.numDataWds; + + if (!evalExpr(argv[0], HEXEXP, &sadr)) + return NO; + if (!evalExpr(argv[1], HEXEXP, &eadr)) + return NO; + /* Align addresses to 8-byte boundaries */ + sadr &= ~(ADDR)0x7; + eadr &= ~(ADDR)0x7; + if (sadr > eadr) { + cmdErr("Starting address > ending address\n"); + return NO; + } + bufsz = 80 * ((eadr - sadr + ndbpl)/ndbpl); + if (!(p = buf = malloc(bufsz+1))) { + cmdErr("Could not malloc space for data dump\n"); + return NO; + } + if (argc == 3 && !(f = cmdOpenFile(argv[2], "w"))) { + free(buf); + return NO; + } + buf[0] = '\0'; + for (adr = sadr; adr <= eadr; adr += ndbpl) + p += sprintf(p, "%s\n", datwLine(adr)); + cmdOut("datadump", "", buf, f); + free(buf); + return YES; +} diff --git a/src/data.h b/src/data.h new file mode 100644 index 0000000..ec57326 --- /dev/null +++ b/src/data.h @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Data Window Structure + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_DATA_H +#define _SKI_DATA_H + +#ifndef XSIM +#ifndef WIDGET_TYPEDEF +typedef int Widget; +#endif +#define WINTBLSIZ 20 /* XXX - copied from coreui.h */ +#endif + +typedef struct { + BOOL cache; + BOOL useDbit; + BOOL virtual; + BOOL useEbit; + BOOL bigEndian; + unsigned overlap; + unsigned numDataWds; + unsigned columns; + char expr[40]; + struct { + ADDR currVA, lastVA; + unsigned rows; + /* XXX - will not work when NPROC > 1 !!! */ + Widget form[WINTBLSIZ], hdr[WINTBLSIZ], text[WINTBLSIZ]; + } perProc[NPROC]; +} datStruct; + +extern datStruct datInfo; + +#define datRows (datInfo.perProc[cproc].rows) +#define datColumns (datInfo.columns) +#define datExpr (datInfo.expr) +#define datwCVA (datInfo.perProc[cproc].currVA) +#define datwLVA (datInfo.perProc[cproc].lastVA) +#define datOverlap 1 + +char *datwLine(ADDR ofs); + +#endif /* _SKI_DATA_H */ diff --git a/src/decoder/.deps/decode_tree.Plo b/src/decoder/.deps/decode_tree.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/decoder/.deps/decode_tree.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/decoder/.deps/decoder.Plo b/src/decoder/.deps/decoder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/decoder/.deps/decoder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/decoder/.deps/parts.Plo b/src/decoder/.deps/parts.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/decoder/.deps/parts.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/decoder/Makefile b/src/decoder/Makefile new file mode 100644 index 0000000..5bbd376 --- /dev/null +++ b/src/decoder/Makefile @@ -0,0 +1,524 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# src/decoder/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +srcdir = . +top_srcdir = ../.. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = src/decoder +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libdecoder_la_LIBADD = +am__objects_1 = decode_tree.lo +am_libdecoder_la_OBJECTS = decoder.lo parts.lo $(am__objects_1) +libdecoder_la_OBJECTS = $(am_libdecoder_la_OBJECTS) +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libdecoder_la_SOURCES) +DIST_SOURCES = $(libdecoder_la_SOURCES) +DATA = $(noinst_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +AM_CPPFLAGS = -I$(top_srcdir)/src/encoder -I$(top_builddir)/src/encoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES = \ + decode_tree.c \ + operands.h \ + instID.h \ + ../encoder/EMformats.h + +noinst_LTLIBRARIES = libdecoder.la +libdecoder_la_SOURCES = \ + _decoder.h \ + decoder.h decoder.c \ + parts.c \ + $(BUILT_SOURCES) + +noinst_DATA = operands.h_template +noinst_SCRIPTS = \ + instID.awk \ + operands.awk + +EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/decoder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/decoder/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libdecoder.la: $(libdecoder_la_OBJECTS) $(libdecoder_la_DEPENDENCIES) + $(LINK) $(libdecoder_la_LDFLAGS) $(libdecoder_la_OBJECTS) $(libdecoder_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/decode_tree.Plo +include ./$(DEPDIR)/decoder.Plo +include ./$(DEPDIR)/parts.Plo + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am + + +instID.h: instID.awk $(encdir)/encoding.opcode $(encdir)/encoding.unusedop + $(AWK) -f $(srcdir)/instID.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop + +operands.h: operands.awk $(encdir)/encoding.opcode operands.h_template + $(AWK) -f $(srcdir)/operands.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode + +decode_tree.c: + @$(LN_S) $(encdir)/encoding.decode $@ + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +../encoder/EMformats.h: $(srcdir)/../encoder/formats.awk \ + $(srcdir)/../encoder/formats.c_template \ + $(encdir)/encoding.format \ + $(srcdir)/../encoder/Copyright + (cd ../encoder; $(MAKE) EMformats.h) + +distclean-local: + -rm -rf $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/decoder/Makefile.am b/src/decoder/Makefile.am new file mode 100644 index 0000000..9f56b11 --- /dev/null +++ b/src/decoder/Makefile.am @@ -0,0 +1,70 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + + +AM_CPPFLAGS= -I$(top_srcdir)/src/encoder -I$(top_builddir)/src/encoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES= \ + decode_tree.c \ + operands.h \ + instID.h \ + ../encoder/EMformats.h + +noinst_LTLIBRARIES=libdecoder.la + +libdecoder_la_SOURCES= \ + _decoder.h \ + decoder.h decoder.c \ + parts.c \ + $(BUILT_SOURCES) + +noinst_DATA= operands.h_template + +noinst_SCRIPTS= \ + instID.awk \ + operands.awk + +instID.h: instID.awk $(encdir)/encoding.opcode $(encdir)/encoding.unusedop + $(AWK) -f $(srcdir)/instID.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop + +operands.h: operands.awk $(encdir)/encoding.opcode operands.h_template + $(AWK) -f $(srcdir)/operands.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode + +decode_tree.c: + @$(LN_S) $(encdir)/encoding.decode $@ + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +../encoder/EMformats.h: $(srcdir)/../encoder/formats.awk \ + $(srcdir)/../encoder/formats.c_template \ + $(encdir)/encoding.format \ + $(srcdir)/../encoder/Copyright + (cd ../encoder; $(MAKE) EMformats.h) + +EXTRA_DIST= $(noinst_DATA) $(noinst_SCRIPTS) + +distclean-local: + -rm -rf $(BUILT_SOURCES) diff --git a/src/decoder/Makefile.in b/src/decoder/Makefile.in new file mode 100644 index 0000000..d2d03e1 --- /dev/null +++ b/src/decoder/Makefile.in @@ -0,0 +1,524 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src/decoder +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libdecoder_la_LIBADD = +am__objects_1 = decode_tree.lo +am_libdecoder_la_OBJECTS = decoder.lo parts.lo $(am__objects_1) +libdecoder_la_OBJECTS = $(am_libdecoder_la_OBJECTS) +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libdecoder_la_SOURCES) +DIST_SOURCES = $(libdecoder_la_SOURCES) +DATA = $(noinst_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AM_CPPFLAGS = -I$(top_srcdir)/src/encoder -I$(top_builddir)/src/encoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES = \ + decode_tree.c \ + operands.h \ + instID.h \ + ../encoder/EMformats.h + +noinst_LTLIBRARIES = libdecoder.la +libdecoder_la_SOURCES = \ + _decoder.h \ + decoder.h decoder.c \ + parts.c \ + $(BUILT_SOURCES) + +noinst_DATA = operands.h_template +noinst_SCRIPTS = \ + instID.awk \ + operands.awk + +EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/decoder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/decoder/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libdecoder.la: $(libdecoder_la_OBJECTS) $(libdecoder_la_DEPENDENCIES) + $(LINK) $(libdecoder_la_LDFLAGS) $(libdecoder_la_OBJECTS) $(libdecoder_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decode_tree.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parts.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am + + +instID.h: instID.awk $(encdir)/encoding.opcode $(encdir)/encoding.unusedop + $(AWK) -f $(srcdir)/instID.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode \ + $(encdir)/encoding.unusedop + +operands.h: operands.awk $(encdir)/encoding.opcode operands.h_template + $(AWK) -f $(srcdir)/operands.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.opcode + +decode_tree.c: + @$(LN_S) $(encdir)/encoding.decode $@ + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +../encoder/EMformats.h: $(srcdir)/../encoder/formats.awk \ + $(srcdir)/../encoder/formats.c_template \ + $(encdir)/encoding.format \ + $(srcdir)/../encoder/Copyright + (cd ../encoder; $(MAKE) EMformats.h) + +distclean-local: + -rm -rf $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/decoder/_decoder.h b/src/decoder/_decoder.h new file mode 100644 index 0000000..90b8998 --- /dev/null +++ b/src/decoder/_decoder.h @@ -0,0 +1,182 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Decoder Internal Header File + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI__DECODER_H +#define _SKI__DECODER_H + +#include +#include + +/* len must be > 0 */ +#define extract(slot, pos, len) \ + ((slot) << (64 - ((pos) + (len))) >> (64 - (len))) + +#define NO_EXTENSION 64 /* special value of "left" indicating that + there are no more extensions */ +#define NUM_EXTS_PER_LEVEL 3 +#define INSTR_DECODED(op) ((op)->ext[0].left == NO_EXTENSION) + +#define BUNDLE_SIZE 128 +#define SLOT_SIZE 41 +#define SLOT_MASK ((1ull << SLOT_SIZE) - 1) +#define TEMPL_SB_SIZE (BUNDLE_SIZE - (SLOTS_PER_BUNDLE * SLOT_SIZE)) +#define TEMPL_SB_MASK ((1ull << TEMPL_SB_SIZE) - 1) +#define MAJOR_OP_SIZE 4 +#define MAJOR_OP(slot) extract(slot, SLOT_SIZE-MAJOR_OP_SIZE, \ + MAJOR_OP_SIZE) +#define NUM_UNITS 6 +#define NUM_TEMPL_SBS (1 << TEMPL_SB_SIZE) +#define NUM_MAJOR_OPS (1 << MAJOR_OP_SIZE) /* per unit */ + +/****************************** Bundle Format ********************************* + * top line of bit numbers is as described in SDM + * second line of bit numbers is how extract macro works + 127 87 86 46 45 5 4 0 + 63 23 22 0 63 46 45 5 4 0 ++----------------------+--------------+-------+----------------------+--------+ +| instr slot 2 | instr slot 1 | instr slot 0 |template| ++----------------------+--------------+-------+----------------------+--------+ + 41 23 18 41 5 +******************************************************************************/ + +#define SLOT1L_SIZE (BUNDLE_SIZE/2-SLOT_SIZE) +#define SLOT1L_MASK ((1ull << SLOT1L_SIZE) - 1) +#define SLOT1R_SIZE (BUNDLE_SIZE/2-(SLOT_SIZE+TEMPL_SB_SIZE)) +#define SLOT1R_MASK ((1ull << SLOT1R_SIZE) - 1) +#define SLOT1(b) ((SLOT1L(b) << SLOT1R_SIZE) | SLOT1R(b)) +#define SLOT2(b) extract((b).left, SLOT1L_SIZE, SLOT_SIZE) +#define SLOT1L(b) extract((b).left, 0, SLOT1L_SIZE) +#define SLOT1R(b) extract((b).right, SLOT_SIZE+TEMPL_SB_SIZE, SLOT1R_SIZE) +#define SLOT0(b) extract((b).right, TEMPL_SB_SIZE, SLOT_SIZE) +#define TEMPL_SB(b) ((b).right & TEMPL_SB_MASK) +#define BUNDLE_RIGHT(templ_sb, slot0, slot1) \ + (((templ_sb) & TEMPL_SB_MASK) | \ + (((slot0) & SLOT_MASK) << TEMPL_SB_SIZE) | \ + (((slot1) & SLOT1R_MASK) << (TEMPL_SB_SIZE+SLOT_SIZE))) +#define BUNDLE_LEFT(slot1, slot2) \ + ((((slot1) >> SLOT1R_SIZE) & SLOT1L_MASK) | \ + (((slot2) & SLOT_MASK) << SLOT1L_SIZE)) + + +typedef struct { + unsigned char left; /* amount to shift extension field left */ + unsigned char right; /* amount to shift extension field right */ +} Ext, *ExtPtr; + +typedef struct op_decode { + union { + unsigned short opIndex; /* index of next level of opcode extensions */ + InstID instID : 16; /* instruction ID */ + } u; + Ext ext[NUM_EXTS_PER_LEVEL]; /* extensions array */ +} OpDecode, *OpDecodePtr; + +extern OpDecode majorOps[NUM_UNITS][NUM_MAJOR_OPS]; +extern OpDecode opDecodeTable[]; +extern TemplateInfo templates[NUM_TEMPL_SBS]; + +#ifdef INLINE +#include +#endif /* INLINE */ + +# include "std.h" + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +#if BYTE_ORDER == LITTLE_ENDIAN +#define swapBundle(tgt, src) ((tgt) = (src)) +#else /* BYTE_ORDER == BIG_ENDIAN */ +#if defined(INLINE) && defined(__IA64__) +#define swapBundle(tgt, src) \ + (tgt).left = _Asm_mux1(_MBTYPE_REV, (src).left); \ + (tgt).right = _Asm_mux1(_MBTYPE_REV, (src).right); +#elif defined(INLINE) && defined(_PA_RISC2_0) +#define swapBundle(tgt, src) \ +{ \ + register unsigned long long swappedLeft, swappedRight, \ + bundleLeft, bundleRight; \ + \ + bundleLeft = (src).left; \ + bundleRight = (src).right; \ + (void)_asm("PERMH,3210", bundleLeft, bundleLeft); \ + (void)_asm("PERMH,3210", bundleRight, bundleRight); \ + (void)_asm("HSHL", bundleLeft, 8, swappedLeft); \ + (void)_asm("HSHR,U", bundleLeft, 8, bundleLeft); \ + (void)_asm("HSHL", bundleRight, 8, swappedRight); \ + (void)_asm("HSHR,U", bundleRight, 8, bundleRight); \ + (void)_asm("OR", bundleLeft, swappedLeft, swappedLeft); \ + (void)_asm("OR", bundleRight, swappedRight, swappedRight); \ + (tgt).left = swappedLeft; \ + (tgt).right = swappedRight; \ +} +#elif defined(INLINE) && (defined(_PA_RISC1_1) || defined(_PA_RISC1_0)) +#define swapBundle(tgt, src) \ +{ \ + register unsigned word0, word1, word2, word3, tmp0, tmp1, tmp2, tmp3, \ + *swp = (unsigned *)&(src), *twp = (unsigned *)&(tgt); \ + \ + word0 = *(swp); \ + word1 = *(swp + 1); \ + (void)_asm("SHD", word0, word0, 16, tmp0); \ + (void)_asm("DEP", tmp0, 15, 8, tmp0); \ + (void)_asm("SHD", word0, tmp0, 8, tmp0); \ + *(twp + 1) = tmp0; \ + (void)_asm("SHD", word1, word1, 16, tmp1); \ + word2 = *(swp + 2); \ + (void)_asm("DEP", tmp1, 15, 8, tmp1); \ + word3 = *(swp + 3); \ + (void)_asm("SHD", word1, tmp1, 8, tmp1); \ + *(twp) = tmp1; \ + (void)_asm("SHD", word2, word2, 16, tmp2); \ + (void)_asm("DEP", tmp2, 15, 8, tmp2); \ + (void)_asm("SHD", word2, tmp2, 8, tmp2); \ + *(twp + 3) = tmp2; \ + (void)_asm("SHD", word3, word3, 16, tmp3); \ + (void)_asm("DEP", tmp3, 15, 8, tmp3); \ + (void)_asm("SHD", word3, tmp3, 8, tmp3); \ + *(twp + 2) = tmp3; \ +} +#else /* !INLINE */ +#define swapBundle(tgt, src) \ + (tgt).left = \ + (((src).left & 0xff00000000000000ull) >> 56) | \ + (((src).left & 0x00ff000000000000ull) >> 40) | \ + (((src).left & 0x0000ff0000000000ull) >> 24) | \ + (((src).left & 0x000000ff00000000ull) >> 8) | \ + (((src).left & 0x00000000ff000000ull) << 8) | \ + (((src).left & 0x0000000000ff0000ull) << 24) | \ + (((src).left & 0x000000000000ff00ull) << 40) | \ + (((src).left & 0x00000000000000ffull) << 56); \ + (tgt).right = \ + (((src).right & 0xff00000000000000ull) >> 56) | \ + (((src).right & 0x00ff000000000000ull) >> 40) | \ + (((src).right & 0x0000ff0000000000ull) >> 24) | \ + (((src).right & 0x000000ff00000000ull) >> 8) | \ + (((src).right & 0x00000000ff000000ull) << 8) | \ + (((src).right & 0x0000000000ff0000ull) << 24) | \ + (((src).right & 0x000000000000ff00ull) << 40) | \ + (((src).right & 0x00000000000000ffull) << 56); +#endif /* INLINE */ +#endif /* BYTE_ORDER == BIG_ENDIAN */ + +#endif /* _SKI__DECODER_H */ diff --git a/src/decoder/decoder.c b/src/decoder/decoder.c new file mode 100644 index 0000000..32cefc8 --- /dev/null +++ b/src/decoder/decoder.c @@ -0,0 +1,306 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Decoder + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include /* for memcmp */ +#include <_decoder.h> + +#define sign_ext(i, n) ((((long long)(i) << (64 - (n)))) >> (64 - (n))) + +TemplateInfoPtr bundle_decode(const BundlePtr bundle, + DecodedInstr instrs[SLOTS_PER_BUNDLE], + const unsigned int include_opnds) +{ + TemplateInfoPtr t; + OperandsPtr s0opnds = 0, s1opnds = 0, s2opnds = 0; + Bundle swappedBundle; + + swapBundle(swappedBundle, *bundle); + + if (include_opnds) { + s0opnds = &instrs[0].opnds; + s1opnds = &instrs[1].opnds; + s2opnds = &instrs[2].opnds; + } + t = &templates[TEMPL_SB(swappedBundle)]; + instrs[0].instID = + instr_decode(t->slot[0].unit, + instrs[0].instrBits = SLOT0(swappedBundle), s0opnds); + instrs[1].instID = + instr_decode(t->slot[1].unit, + instrs[1].instrBits = SLOT1(swappedBundle), s1opnds); + instrs[2].instID = + instr_decode(t->slot[2].unit, + instrs[2].instrBits = SLOT2(swappedBundle), s2opnds); + return t; +} + +InstID instr_decode(const Unit unit, const unsigned long long slot, + OperandsPtr opnds) +{ + OpDecodePtr op; + InstID instID; + unsigned ext, n; + + if (unit < No_Unit) { + op = &majorOps[unit][MAJOR_OP(slot)]; + + while (!INSTR_DECODED(op)) { + ext = (slot << op->ext[0].left) >> op->ext[0].right; + for (n = 1; (n < NUM_EXTS_PER_LEVEL && + op->ext[n].left != NO_EXTENSION); n++) + ext = ext << (64 - op->ext[n].right) | + (slot << op->ext[n].left) >> op->ext[n].right; + + op = &opDecodeTable[op->u.opIndex + ext]; + } + + instID = op->u.instID; + } else + instID = EM_ILLEGALOP; + + if (opnds) { + unsigned int o, mf, op_len, s, i2b, sof = 0, sol = 0, adv, f; + unsigned long long op_bits = 0; + unsigned long long bits; + static unsigned long long extra_bits; + EMDB_info *inst_info = &InstTable[instID]; + EMDB_encode *inst_format = &EncodingTable[inst_info->format]; + + if (unit == L_Unit) + extra_bits = slot; + + if (inst_info->flags & EM_FLAG_PRED) + opnds->qp = extract(slot, EM_PREDICATE_POS, EM_PREDICATE_LEN); + else + opnds->qp = 0; + + opnds->flags = inst_info->flags; + for (f = mf = o = 0; (o < MAX_OPERANDS); o++, f += adv) { + opnds->u.op[o].type = inst_info->op[o]; + opnds->u.op[o].role = + (inst_info->op[o] == EM_OPTYPE_NONE) ? EM_OPROLE_NONE : + (o < inst_info->num_dests) ? EM_OPROLE_DEST : EM_OPROLE_SRC; + adv = 0; /* assume we will not advance to next field */ + switch (inst_info->op[o]) { + /* the following operand types are not encoded in any instr */ + case EM_OPTYPE_NONE: + case EM_OPTYPE_IP: /* instruction pointer */ + case EM_OPTYPE_PREGS_ALL: /* predicate register file */ + case EM_OPTYPE_PREGS_ROT: /* rotating predicates */ + case EM_OPTYPE_PSR: /* psr */ + case EM_OPTYPE_PSR_L: /* psr.l */ + case EM_OPTYPE_PSR_UM: /* psr.um */ + case EM_OPTYPE_IREG_R0: /* Integer register r0 */ + opnds->u.op[o].bits = 0; + continue; + case EM_OPTYPE_APP_CCV: /* ar.ccv: not encoded */ + opnds->u.op[o].bits = 32; + continue; + case EM_OPTYPE_APP_PFS: /* ar.pfs: not encoded */ + opnds->u.op[o].bits = 64; + continue; + case EM_OPTYPE_APP_CSD: /* ar.csd: not encoded */ + opnds->u.op[o].bits = 25; + continue; + case EM_OPTYPE_ONE: /* the number 1 - not encoded */ + opnds->u.op[o].bits = 1; + continue; + case EM_OPTYPE_EIGHT: /* the number 8 - not encoded */ + opnds->u.op[o].bits = 8; + continue; + case EM_OPTYPE_SIXTEEN: /* the number 16 - not encoded */ + opnds->u.op[o].bits = 16; + continue; + default: + break; + } + op_len = inst_format->op_layout[f].len; + if (inst_format->op_layout[f].pos != MF) { /* single field */ + if (op_len != 0) // XXX - is this if needed anymore? + op_bits = extract(slot, inst_format->op_layout[f].pos, + op_len); + } else { /* multi-field */ + unsigned int len, pos, mfi = 0, total_len = 0; + + op_bits = 0; + while ((len = inst_format->fmtArrayptr[mf*FORMAT_SIZE+mfi++]) + != 0) { + pos = inst_format->fmtArrayptr[mf*FORMAT_SIZE+mfi++]; + if (len >= (SLOT_SIZE - MAJOR_OP_SIZE)) + /* the next bits come from extra_bits */ + bits = extract(extra_bits, pos, len); + else + bits = extract(slot, pos, len); + op_bits |= bits << total_len; + total_len += len; + } + mf++; + } + adv = 1; /* assume we will advance to next field */ + switch (inst_info->op[o]) { + /* these operand types are encoded directly */ + case EM_OPTYPE_IREG: /* Integer register */ + case EM_OPTYPE_FREG: /* FP register */ + case EM_OPTYPE_CR: /* control register */ + case EM_OPTYPE_PMC: /* indirect register files */ + case EM_OPTYPE_PMD: + case EM_OPTYPE_PKR: + case EM_OPTYPE_RR: + case EM_OPTYPE_IBR: + case EM_OPTYPE_DBR: + case EM_OPTYPE_ITR: + case EM_OPTYPE_DTR: + case EM_OPTYPE_MSR: + case EM_OPTYPE_CPUID: + case EM_OPTYPE_IREG_NUM: /* ireg number - for chk.a/invala */ + case EM_OPTYPE_FREG_NUM: /* freg number - for chk.a/invala */ + case EM_OPTYPE_MEM: /* memory address */ + case EM_OPTYPE_IREG_R0_3: /* r0-r3 */ + case EM_OPTYPE_BR: /* branch register */ + case EM_OPTYPE_PREG: /* predicate register */ + case EM_OPTYPE_UIMM: /* unsigned immediate */ + case EM_OPTYPE_FCLASS: /* fclass immediate */ + case EM_OPTYPE_IMM64: /* movl immediate */ + break; + case EM_OPTYPE_IREG_R1_127: /* r1-r127 */ + if (op_bits == 0) + opnds->flags |= EM_FLAG_GR0_DEST; + break; + case EM_OPTYPE_FREG_F2_127: /* f2-f127 */ + if (op_bits < 2) + opnds->flags |= EM_FLAG_FR0_FR1_DEST; + break; + case EM_OPTYPE_APP_REG_GRP_LOW: /* ARs 0-63 */ + if (op_bits > 63) + opnds->flags |= EM_FLAG_BAD_APP_REG_GRP; + break; + case EM_OPTYPE_APP_REG_GRP_HIGH: /* ARs 64-127 */ + if (op_bits < 64) + opnds->flags |= EM_FLAG_BAD_APP_REG_GRP; + break; + case EM_OPTYPE_SIMM: /* signed immediate */ + case EM_OPTYPE_CMP_UIMM: /* unsigned immediate of cmp ltu */ + case EM_OPTYPE_CMP4_UIMM: /* unsigned immediate of cmp4 ltu */ + op_bits = sign_ext(op_bits, op_len); + break; + case EM_OPTYPE_SSHIFT_REL: /* IP relative signed immediate + which is shifted by 4 */ +#ifdef DECODERIP + op_bits = decoderIP() + (sign_ext(op_bits, op_len) << 4); +#else /* !DECODERIP */ + op_bits = sign_ext(op_bits, op_len) << 4; +#endif /* DECODERIP */ + break; + case EM_OPTYPE_SSHIFT_1: /* signed immediate which has to be + shifted 1 bit - for mov pr */ + op_bits = sign_ext(op_bits, op_len) << 1; + break; + case EM_OPTYPE_SSHIFT_16: /* signed immediate which has to be + shifted 16 bits - for mov pr.rot */ + op_bits = sign_ext(op_bits, op_len) << 16; + break; + case EM_OPTYPE_COUNT_123: /* immediate which can have the values + 1, 2, or 3 only after being + incremented by 1 */ + if (++op_bits > 3) + opnds->flags |= EM_FLAG_BAD_COUNT; + break; + case EM_OPTYPE_COUNT_PACK: /* immediate which encodes the values + 0, 7, 15, or 16 only - + for pmpyshr */ + op_bits = (op_bits == 0) ? 0 : (op_bits == 1) ? 7 : + (op_bits == 2) ? 15 : 16; + break; + case EM_OPTYPE_UDEC: /* unsigned immediate which has to be + incremented by 1 */ + op_bits += 1; + break; + case EM_OPTYPE_CCOUNT: /* (31 - count) - for pshl */ + op_bits = 31 - op_bits; + break; + case EM_OPTYPE_CPOS: /* (63 - pos) - for dep */ + op_bits = 63 - op_bits; + break; + case EM_OPTYPE_SEMAPHORE_INC: /* immediate which encodes the + values -16, -8, -4, -1, 1, 4, + 8, or 16 only - for fetchadd */ + s = op_bits >> 2; + i2b = op_bits & 3; + op_bits = sign_ext(((s) ? -1 : 1) * + ((i2b == 3) ? 1 : 1 << (4 - i2b)), 6); + break; + case EM_OPTYPE_ALLOC_IOL: /* ins, locals, and outs: can be 0-96 - + for alloc */ + switch (o) { + case 2: /* "i" = 0 - not encoded */ + op_bits = 0; + adv = 0; + break; + case 3: /* "l" = sol */ + sol = op_bits; /* record sol */ + break; + case 4: /* "o" = sof - sol */ + sof = op_bits; /* record sof */ + op_bits = sof - sol; + break; + } + break; + case EM_OPTYPE_ALLOC_ROT: /* rotating: can be 0-96, must + be left-shifted by 3 - for alloc */ + op_bits <<= 3; + if (sof > 96 || op_bits > sof || sol > sof) + opnds->flags |= EM_FLAG_BAD_ALLOC; + break; + case EM_OPTYPE_MUX1: /* immediate which can have the values + 0, 8, 9, 0xa, or 0xb - for mux1 */ + if (!(op_bits == 0 || (op_bits >= 8 && op_bits <= 0xb))) + opnds->flags |= EM_FLAG_BAD_MBTYPE; + break; + default: +#ifdef DEBUG + fprintf(stderr, "unknown OPTYPE: %u\n", inst_info->op[o]); +#endif /* DEBUG */ + break; + } + opnds->u.op[o].bits = op_bits; + } + } + return instID; +} + +TemplateInfoPtr template_info(const unsigned char templSB) +{ + if (templSB >= sizeof(templates)/sizeof(templates[0])) + return 0; + return &templates[templSB]; +} + +unsigned char templSB_from_info(const TemplateInfoPtr t) +{ + unsigned char i; + + for (i = 0; i < sizeof(templates)/sizeof(templates[0]); i++) + if (memcmp(&templates[i], t, sizeof(templates[0])) == 0) + break; + return i; +} diff --git a/src/decoder/decoder.h b/src/decoder/decoder.h new file mode 100644 index 0000000..d0a595f --- /dev/null +++ b/src/decoder/decoder.h @@ -0,0 +1,69 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Decoder Header File + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_DECODER_H +#define _SKI_DECODER_H + +#include +#include + +#define SLOTS_PER_BUNDLE 3 + +typedef struct { + unsigned long long right; + unsigned long long left; +} Bundle, *BundlePtr; + +typedef struct bundle_parts { + unsigned long long slot[SLOTS_PER_BUNDLE]; + unsigned char templSB; +} BundleParts, *BundlePartsPtr; + +typedef struct decoded_instr { + InstID instID; + unsigned long long instrBits; + Operands opnds; +} DecodedInstr, *DecodedInstPtr; + +typedef enum { I_Unit, M_Unit, F_Unit, B_Unit, X_Unit, L_Unit, A_Unit, + No_Unit } Unit; +typedef enum { SB_Cont, SB_Stop } SB; + +typedef struct template_info { + struct { + Unit unit; + SB stop; + } slot[SLOTS_PER_BUNDLE]; +} TemplateInfo, *TemplateInfoPtr; + +TemplateInfoPtr bundle_decode(const BundlePtr bundle, + DecodedInstr instrs[SLOTS_PER_BUNDLE], + const unsigned int include_opnds); +BundleParts bundle_parts(const BundlePtr bundle); +Bundle bundle_from_parts(const BundlePartsPtr parts); +InstID instr_decode(const Unit unit, const unsigned long long slot, + OperandsPtr opnds); +TemplateInfoPtr template_info(const unsigned char templSB); +unsigned char templSB_from_info(const TemplateInfoPtr t); +#ifdef DECODERIP +unsigned long long decoderIP(void); +#endif /* DECODERIP */ +#endif /* _SKI_DECODER_H */ diff --git a/src/decoder/instID.awk b/src/decoder/instID.awk new file mode 100755 index 0000000..9ae2902 --- /dev/null +++ b/src/decoder/instID.awk @@ -0,0 +1,78 @@ +#!/usr/bin/awk -f +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +function printEmacs(file) +{ + Emacs="/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t;" \ + " c-basic-offset: 4 -*- */" + printf "%s\n", Emacs > file +} + +function printWarn(file, i, date) +{ + "date" | getline date; + printf("/* DO NOT EDIT - Automatically generated %s using:\n", \ + date) > file; + for (i = 0; i < ARGC; i++) + printf(" %s", ARGV[i]) > file; + printf("\n */\n\n") > file; + close("date"); +} + +BEGIN { + IDFILE="instID.h"; + printEmacs(IDFILE); + printWarn(IDFILE); + while (getline ln < (prefix "Copyright") == 1) { + print ln > IDFILE + } + close((prefix "Copyright")) + + print "/* $Head" "er$ */" > IDFILE + print "" > IDFILE + print "/* Inst ID header file for encoder/decoder libraries */" > IDFILE + print "" > IDFILE + print "#ifndef INSTID_H" > IDFILE + print "#define INSTID_H" > IDFILE + print "" > IDFILE + print "typedef" > IDFILE +# print "#if !defined __cplusplus && !defined __GNUC__ && !defined __INTEL_COMPILER" > IDFILE +# print "short" > IDFILE +# print "#endif" > IDFILE + print "enum {" > IDFILE + print " EM_INST_NONE = 0," > IDFILE + print " EM_ILLEGALOP = EM_INST_NONE," > IDFILE + print " EM_ILLEGALOPQP," > IDFILE + print " EM_ILLEGALOPBQP," > IDFILE + print " EM_IGNOREDOP," > IDFILE + print " EM_LUNIT_IMM41," > IDFILE +} + +/^#/ { + next; +} + +/^[A-Z]0/ { + next; +} + +{ + format = $1 + mnem = $2 + mnem_start = index($0, $2); + sub(/:.*$/, "") + inst = substr($0, mnem_start) + gsub(/-/, "m", inst) + gsub(/[^a-zA-Z0-9]/, "_", inst) + gsub(/__+/, "_", inst) + sub(/_$/, "", inst) + instID = "EM_" toupper(inst) + print " " instID "," > IDFILE +} + +END { + print " EM_INST_LAST" > IDFILE + print "} InstID;" > IDFILE + print "" > IDFILE + print "#endif /* INSTID_H */" > IDFILE +} diff --git a/src/decoder/operands.awk b/src/decoder/operands.awk new file mode 100755 index 0000000..445fa6a --- /dev/null +++ b/src/decoder/operands.awk @@ -0,0 +1,62 @@ +#!/usr/bin/awk -f +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +function printEmacs(file) +{ + Emacs="/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t;" \ + " c-basic-offset: 4 -*- */" + printf "%s\n", Emacs > file +} + +function printWarn(file, i, date) +{ + "date" | getline date; + printf("/* DO NOT EDIT - Automatically generated %s using:\n", \ + date) > file; + for (i = 0; i < ARGC; i++) + printf(" %s", ARGV[i]) > file; + printf("\n */\n\n") > file; + close("date"); +} + +BEGIN { + OPFILE="operands.h"; + TEMPLATE=prefix "operands.h_template"; + printEmacs(OPFILE); + printWarn(OPFILE); + while (getline ln < TEMPLATE == 1) { + print ln > OPFILE + } + close(TEMPLATE); +} + +/^#/ { + next +} + +{ + format = $1 + mnem = $2 + sub(/:.*$/, "") + ops = "" + for (i = 3; i <= NF; i++) + ops = ops $i; + gsub(/=/, ",", ops); + gsub(/\./, "_", ops); + gsub(/,8/, ",imm", ops); # fix ldfp (M12) + gsub(/[a-z]*\[r3\]/, "r3", ops); + + if (ops != "" && !seen[format]) { + print " struct { Operand " ops "; } " format ";" > OPFILE; + seen[format] = 1; + } +} + +END { + print " } u;" > OPFILE + print " unsigned char qp;" > OPFILE + print " Flags flags;" > OPFILE + print "} Operands, *OperandsPtr;" > OPFILE + print "" > OPFILE + print "#endif /* _OPERANDS_H */" > OPFILE +} diff --git a/src/decoder/operands.h_template b/src/decoder/operands.h_template new file mode 100644 index 0000000..451ad41 --- /dev/null +++ b/src/decoder/operands.h_template @@ -0,0 +1,123 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/* Operands header file for encoder/decoder library */ + +#ifndef _SKI_OPERANDS_H +#define _SKI_OPERANDS_H + +#ifndef MAX_OPERANDS +#define MAX_OPERANDS 6 +#endif + +typedef unsigned long Flags; + +typedef enum { + EM_OPTYPE_NONE = 0, + EM_OPTYPE_IREG = 0x20, /* Integer register */ + EM_OPTYPE_IREG_R0_3, /* r0-r3 */ + EM_OPTYPE_IREG_R0, /* Integer register R0 */ + EM_OPTYPE_IREG_R1_127, /* r1-r127 */ + EM_OPTYPE_IREG_NUM, /* ireg number - for chk.a/invala */ + EM_OPTYPE_FREG = 0x40, /* FP register */ + EM_OPTYPE_FREG_F2_127, /* f2-f127 */ + EM_OPTYPE_FREG_NUM, /* freg number - for chk.a/invala */ + EM_OPTYPE_BR = 0x60, /* branch register */ + EM_OPTYPE_IP = 0x80, /* instruction pointer */ + EM_OPTYPE_PREGS_ALL, /* predicate register file */ + EM_OPTYPE_PREGS_ROT, /* rotating predicates */ + EM_OPTYPE_PREG = 0xa0, /* predicate register */ + EM_OPTYPE_APP_REG = 0xc0, /* application register */ + EM_OPTYPE_APP_REG_GRP_LOW, /* application registers 0-63 */ + EM_OPTYPE_APP_REG_GRP_HIGH, /* application registers 64-127 */ + EM_OPTYPE_APP_CCV, /* ar.ccv */ + EM_OPTYPE_APP_PFS, /* ar.pfs */ + EM_OPTYPE_APP_CSD, /* ar.csd */ + EM_OPTYPE_PSR = 0xe0, /* psr */ + EM_OPTYPE_PSR_L, /* psr.l */ + EM_OPTYPE_PSR_UM, /* psr.um */ + EM_OPTYPE_CR = 0x100, /* control register */ + EM_OPTYPE_IND_REG_FILE = 0x120, /* indirect register files */ + EM_OPTYPE_PMC, + EM_OPTYPE_PMD, + EM_OPTYPE_PKR, + EM_OPTYPE_RR, + EM_OPTYPE_IBR, + EM_OPTYPE_DBR, + EM_OPTYPE_ITR, + EM_OPTYPE_DTR, + EM_OPTYPE_MSR, + EM_OPTYPE_CPUID, + EM_OPTYPE_IMM = 0x140, /* generic immediate */ + EM_OPTYPE_SIMM, /* signed immediate */ + EM_OPTYPE_SEMAPHORE_INC, /* immediate which can have the values + -16, -8, -4, -1, 1, 4, 8, or 16 + only - for fetchadd */ + EM_OPTYPE_SSHIFT_1, /* signed immediate which has to be + shifted 1 bit - for mov pr */ + EM_OPTYPE_SSHIFT_16, /* signed immediate which has to be + shifted 16 bits - for mov pr.rot */ + EM_OPTYPE_SSHIFT_REL, /* IP relative signed immediate + which is shifted by 4 */ + EM_OPTYPE_UIMM, /* unsigned immediate */ + EM_OPTYPE_UDEC, /* unsigned immediate which has to be + decremented by 1 */ + EM_OPTYPE_CCOUNT, /* (31 - count) - for pshl */ + EM_OPTYPE_CPOS, /* (63 - pos) - for dep */ + EM_OPTYPE_ONE, /* the number 1 */ + EM_OPTYPE_EIGHT, /* the number 8 */ + EM_OPTYPE_SIXTEEN, /* the number 16 */ + EM_OPTYPE_CMP_UIMM, /* unsigned immediate of cmp ltu */ + EM_OPTYPE_CMP4_UIMM, /* unsigned immediate of cmp4 ltu */ + EM_OPTYPE_ALLOC_IOL, /* ins, locals, and outs: can be 0-96 - + for alloc */ + EM_OPTYPE_ALLOC_ROT, /* rotating: can be 0-96 by 8, must + be right-shifted by 3 - for alloc */ + EM_OPTYPE_COUNT_123, /* immediate which can have the values + 1, 2, or 3 only and has to be + decremented by 1 */ + EM_OPTYPE_COUNT_PACK, /* immediate which can have the values + 0, 7, 15, or 16 only - + for pmpyshr */ + EM_OPTYPE_PMPYSHR = EM_OPTYPE_COUNT_PACK, + EM_OPTYPE_MUX1, /* immediate which can have the values + 0, 8, 9, 0xa, or 0xb - for mux1 */ + EM_OPTYPE_FCLASS, /* fclass immediate */ + EM_OPTYPE_IMM64, /* movl immediate */ + EM_OPTYPE_HIMM, /* hex immediate */ + EM_OPTYPE_HINT_IMM, /* hint immediate */ + EM_OPTYPE_MEM = 0x160 /* memory address */ +} Operand_type; + +typedef enum { + EM_OPROLE_NONE = 0, + EM_OPROLE_SRC, + EM_OPROLE_DEST +} Operand_role; + +typedef struct { + unsigned long long bits; + Operand_type type; + Operand_role role; +} Operand, *OperandPtr; + +typedef struct { + union { + Operand op[MAX_OPERANDS]; + diff --git a/src/decoder/parts.c b/src/decoder/parts.c new file mode 100644 index 0000000..49d5f49 --- /dev/null +++ b/src/decoder/parts.c @@ -0,0 +1,48 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Bundle Parts Functions + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include <_decoder.h> + +BundleParts bundle_parts(const BundlePtr bundle) +{ + BundleParts parts; + Bundle swappedBundle; + + swapBundle(swappedBundle, *bundle); + parts.slot[0] = SLOT0(swappedBundle); + parts.slot[1] = SLOT1(swappedBundle); + parts.slot[2] = SLOT2(swappedBundle); + parts.templSB = TEMPL_SB(swappedBundle); + return parts; +} + +Bundle bundle_from_parts(const BundlePartsPtr parts) +{ + Bundle bundle; + + bundle.right = + BUNDLE_RIGHT(parts->templSB, parts->slot[0], parts->slot[1]); + bundle.left = BUNDLE_LEFT(parts->slot[1], parts->slot[2]); + swapBundle(bundle, bundle); + return bundle; +} diff --git a/src/dos.c b/src/dos.c new file mode 100644 index 0000000..c5469ab --- /dev/null +++ b/src/dos.c @@ -0,0 +1,357 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator DOS Emulation Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#if !defined(__FreeBSD__) +#include +#endif +#include +#include +#include +#include +#if defined(__FreeBSD__) +#include +#define termio termios +#define TCGETA TIOCGETA +#define TCSETA TIOCSETA +#else +#include +#endif +#include +#if defined __linux__ +# include +#else /* !defined __linux */ +extern int localtime_r(const __time_t *, __struct_tm *); +# include +#endif /* !defined __linux */ +#include /* Also #includes */ +#if !defined(__FreeBSD__) +#include +#endif +#include +#include +#include "std.h" +#include "bits.h" +#include "types.h" +#undef B0 /* from sys/???.h */ +#include "fields.h" +#include "state.h" +#include "sim.h" /* just for Status & progExit */ +#include "memory.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_exec.h" +#include "libui.h" + +extern ArithFlags arithFlags; +IAWORD pspSeg; + +/* from Appendix C of Microsoft MS-DOS Programmer's Reference */ +#define ERROR_INVALID_FUNCTION 0x01 +#define ERROR_FILE_NOT_FOUND 0x02 +#define ERROR_PATH_NOT_FOUND 0x03 +#define ERROR_TOO_MANY_OPEN_FILES 0x04 +#define ERROR_ACCESS_DENIED 0x05 +#define ERROR_INVALID_HANDLE 0x06 +#define ERROR_ARENA_TRASHED 0x07 +#define ERROR_NOT_ENOUGH_MEMORY 0x08 +#define ERROR_INVALID_BLOCK 0x09 +#define ERROR_BAD_ENVIRONMENT 0x0A +#define ERROR_BAD_FORMAT 0x0B +#define ERROR_INVALID_ACCESS 0x0C +/* XXX - finish these */ + +#define OPEN_ACCESS_MASK 0x03 +#define OPEN_ACCESS_READONLY 0x00 +#define OPEN_ACCESS_WRITEONLY 0x01 +#define OPEN_ACCESS_READWRITE 0x02 + +#define ATTR_NORMAL 0x00 +#define ATTR_READONLY 0x01 + +#define INITMALLOC 2048 /* size of initial malloc for malargbuf */ + +/* XXX - should fhmap be shared with fdmap[] in syscall.c? */ +#define MAX_FHMAP 100 +static int fhmap[MAX_FHMAP] = {0, 1, 2}; + +Status dosInt21(BYTE func, BYTE subFunc) +{ + /* XXX - copied from syscall.c - many of these aren't needed here */ + char buf[65536], *p; + DWORD val; + int oflag, status; + mode_t mode; + ssize_t ret; + size_t nbytes; + struct timeval now; + struct timezone zone; + struct tm locTime; + ADDR adr; + static char *malargbuf; + static unsigned malargbufsize = 0; + + /* initialize malargbuf ptr & fhmap if necessary */ + if (malargbufsize == 0) { + int i; + + for (i = 3; i < 100; i++) + fhmap[i] = i; + if (!(malargbuf = malloc(INITMALLOC))) + return StSuccess; /* XXX - report error? */ + malargbufsize = INITMALLOC; + } + + switch (func) { + case 0x00: /* terminate program */ + progExit("IA-32 program terminated\n"); + break; + case 0x02: /* display character */ + buf[0] = DL; + (void)write(fhmap[1], buf, 1); + break; + case 0x08: /* read keyboard without echo */ + if (isatty(fhmap[0])) { + struct termio origTermio, newTermio; + + (void)ioctl(fhmap[0], TCGETA, &origTermio); + newTermio = origTermio; + newTermio.c_iflag &= ~ICRNL; + newTermio.c_lflag &= ~(ECHO | ICANON); + newTermio.c_cc[VMIN] = 1; + newTermio.c_cc[VTIME] = 0; + (void)ioctl(fhmap[0], TCSETA, &newTermio); + if (read(fhmap[0], buf, 1) == 1) + AL = buf[0]; + (void)ioctl(fhmap[0], TCSETA, &origTermio); + } else { + if (read(fhmap[0], buf, 1) == 1) + AL = buf[0]; + } + break; + case 0x09: /* display string */ + /* XXX - do we need segment limit checks, etc. ??? */ + adr = DSD.base + DX; + p = buf; + do { + (void)memMRd(adr++, 1, &val); + *p++ = val; + } while (*(p-1) != '$' && p < buf + sizeof buf); + nbytes = p - buf - 1; + (void)sysWrite(fhmap[1], buf, nbytes); + break; + case 0x2a: /* get date */ + (void)gettimeofday(&now, &zone); + (void)localtime_r(&now.tv_sec, &locTime); + AL = locTime.tm_wday; + CX = locTime.tm_year + 1900; + DH = locTime.tm_mon + 1; + DL = locTime.tm_mday; + break; + case 0x2c: /* get time */ + (void)gettimeofday(&now, &zone); + (void)localtime_r(&now.tv_sec, &locTime); + CH = locTime.tm_hour; + CL = locTime.tm_min; + DH = locTime.tm_sec; + DL = now.tv_usec / 10000; + break; + case 0x30: /* get version number */ + AX = 0x0006; /* DOS 6.0 */ + BX = 0; + CX = 0; + break; + case 0x3c: /* create file with handle */ + adr = DSD.base + DX; + memBBRd(adr, (BYTE *)buf, 0); + for (p = buf; *p; p++) + *p = (char)tolower((int)*p); + /* we ignore all attributes except ATTR_READONLY */ + if (CX & ATTR_READONLY) + mode = S_IRUSR; + else + mode = S_IRUSR | S_IWUSR; + if ((status = creat(buf, mode)) == -1) { + arithFlags.cf = 1; + switch (errno) { + case ENOENT: + case ENOTDIR: + AX = ERROR_PATH_NOT_FOUND; + break; + case EMFILE: + case ENFILE: + AX = ERROR_TOO_MANY_OPEN_FILES; + break; + default: + AX = ERROR_ACCESS_DENIED; + break; + } + } else { + arithFlags.cf = 0; + fhmap[status] = status; + AX = status; + } + break; + case 0x3d: /* open file with handle */ + adr = DSD.base + DX; + memBBRd(adr, (BYTE *)buf, 0); + for (p = buf; *p; p++) + *p = (char)tolower((int)*p); + switch ((BYTE)AL & OPEN_ACCESS_MASK) { + case OPEN_ACCESS_READONLY: + oflag = O_RDONLY; + break; + case OPEN_ACCESS_WRITEONLY: + oflag = O_WRONLY; + break; + case OPEN_ACCESS_READWRITE: + oflag = O_RDWR; + break; + default: + arithFlags.cf = 1; + AX = ERROR_INVALID_ACCESS; + return StSuccess; + } + /* we ignore the OPEN_SHARE_* & OPEN_FLAGS_NOINHERIT flags */ + if ((status = open(buf, oflag)) == -1) { + arithFlags.cf = 1; + switch (errno) { + case ENOENT: + AX = ERROR_FILE_NOT_FOUND; + break; + case ENOTDIR: + AX = ERROR_PATH_NOT_FOUND; + break; + case EMFILE: + case ENFILE: + AX = ERROR_TOO_MANY_OPEN_FILES; + break; + case EACCES: + case EISDIR: + AX = ERROR_ACCESS_DENIED; + break; + default: + AX = ERROR_INVALID_ACCESS; /* XXX - right error ? */ + break; + } + } else { + arithFlags.cf = 0; + fhmap[status] = status; + AX = status; + } + break; + case 0x3e: /* close file with handle */ + if (BX <= 2) /* don't close stdin, stdout, stderr */ + arithFlags.cf = 0; + else if (BX > MAX_FHMAP || close(fhmap[BX]) == -1) { + arithFlags.cf = 1; + AX = ERROR_INVALID_HANDLE; + } else + arithFlags.cf = 0; + break; + case 0x3f: /* read file or device */ + /* make sure we have enough space in malargbuf */ + if (CX > malargbufsize) { + if (!(malargbuf = realloc(malargbuf, CX))) + return StSuccess; /* XXX - report error? */ + malargbufsize = CX; + } + if (BX > MAX_FHMAP) { + arithFlags.cf = 1; + AX = ERROR_INVALID_HANDLE; + } else if ((ret = read(fhmap[BX], malargbuf, CX)) == -1) { + arithFlags.cf = 1; + if (errno == EBADF) + AX = ERROR_INVALID_HANDLE; + else + AX = ERROR_ACCESS_DENIED; + } else { /* read successful */ + arithFlags.cf = 0; + AX = ret; + /* XXX - do we need segment limit checks, etc. ??? */ + adr = DSD.base + DX; + memBBWrt(adr, (BYTE *)malargbuf, ret); + } + break; + case 0x40: /* write file or device */ + /* make sure we have enough space in malargbuf */ + if (CX > malargbufsize) { + if (!(malargbuf = realloc(malargbuf, CX))) + return StSuccess; /* XXX - report error? */ + malargbufsize = CX; + } + /* XXX - do we need segment limit checks, etc. ??? */ + adr = DSD.base + DX; + memBBRd(adr, (BYTE *)malargbuf, CX); + if (BX > MAX_FHMAP) { + arithFlags.cf = 1; + AX = ERROR_INVALID_HANDLE; + } else if ((ret = sysWrite(fhmap[BX], malargbuf, CX)) == -1) { + arithFlags.cf = 1; + if (errno == EBADF) + AX = ERROR_INVALID_HANDLE; + else + AX = ERROR_ACCESS_DENIED; + } else { /* write successful */ + arithFlags.cf = 0; + AX = ret; + } + break; + case 0x44: /* device status/control */ + switch (subFunc) { + case 0x0: /* get device data */ + /* XXX - minimal support to get stdlib working */ + if (BX > MAX_FHMAP) { + arithFlags.cf = 1; + AX = ERROR_INVALID_HANDLE; + } else if (isatty(fhmap[BX])) { + arithFlags.cf = 0; + DX = 0xc3; + } else { + arithFlags.cf = 0; + DX = 0x02; + } + break; + default: + progExit("unsupported DOS int 21 function %02x%02x\n", + (int)func, (int)subFunc); + break; + } + break; + case 0x4c: /* end program */ + progExit("IA-32 program terminated with status %d\n", (int)AL); + break; + case 0x51: /* get PSP address */ + case 0x62: + BX = pspSeg; + break; + default: + progExit("unsupported DOS int 21 function %02x\n", (int)func); + break; + } + return StSuccess; +} diff --git a/src/dos.h b/src/dos.h new file mode 100644 index 0000000..bf238ba --- /dev/null +++ b/src/dos.h @@ -0,0 +1,67 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_DOS_H +#define _SKI_DOS_H + +typedef struct { + IAWORD exSignature; /* EXE signature = 0x5A4D = "MZ" */ + IAWORD exExtraBytes; /* # of bytes in last partial page in file */ + IAWORD exPages; /* # of (512-byte) pages in file */ + IAWORD exRelocItems; /* # of pointers in relocation table */ + IAWORD exHeaderSize; /* size of file header, in (16-byte) paras */ + IAWORD exMinAlloc; /* min amount of extra mem (in paras) */ + IAWORD exMaxAlloc; /* max amount of extra mem (in paras) */ + IAWORD exInitSS; /* initial SS register value (relocatable) */ + IAWORD exInitSP; /* initial SP register value */ + IAWORD exCheckSum; /* 1's complement, 16-bit sum */ + IAWORD exInitIP; /* initial IP register value */ + IAWORD exInitCS; /* initial CS register value (relocatable) */ + IAWORD exRelocTable; /* file offset (in bytes) of reloc table */ + IAWORD exOverlay; /* overlay management (0 for main prog) */ +} EXEheader, *EXEheaderPtr; + +typedef struct { + IAWORD ip; + IAWORD cs; +} IAvector, *IAvectorPtr; + +typedef struct { + IAWORD pspInt20; /* Int 20h instruction */ + IAWORD pspNextParagraph; /* segment addr of next paragraph */ + BYTE rv1B; /* reserved */ + BYTE pspDispatcher[5]; /* long call to DOS */ + IAvector pspTerminateVector; /* termination address (Int 22h) */ + IAvector pspControlCVector; /* ctrl-c handler address (Int 23h) */ + IAvector pspCritErrorVector; /* crit-error handler address (Int 24h) */ + IAWORD rv11W[11]; /* reserved */ + IAWORD pspEnvironment; /* segment addr of environment */ + IAWORD rv23W[23]; /* reserved */ + BYTE pspFCB_1[16]; /* default FCB #1 */ + BYTE pspFCB_2[16]; /* default FCB #2 */ + IADWORD rv1D; /* reserved */ + BYTE pspCommandTail[128]; /* command tail (also default DTA) */ +} Psp, *PspPtr; + +typedef struct { + IAWORD ofs; + IAWORD seg; +} EXErelocItem, *EXErelocItemPtr; + +#endif /* _SKI_DOS_H */ diff --git a/src/encoder/.deps/encode_table.Plo b/src/encoder/.deps/encode_table.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/encoder/.deps/encode_table.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/encoder/.deps/encoder.Plo b/src/encoder/.deps/encoder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/encoder/.deps/encoder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/encoder/.deps/formats.Plo b/src/encoder/.deps/formats.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/encoder/.deps/formats.Plo @@ -0,0 +1 @@ +# dummy diff --git a/src/encoder/Copyright b/src/encoder/Copyright new file mode 100644 index 0000000..a1ce14b --- /dev/null +++ b/src/encoder/Copyright @@ -0,0 +1,19 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + diff --git a/src/encoder/EMInst.h b/src/encoder/EMInst.h new file mode 100644 index 0000000..2d94ea1 --- /dev/null +++ b/src/encoder/EMInst.h @@ -0,0 +1,98 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * EM instruction header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_EMINST_H +#define _SKI_EMINST_H + +/* Flags */ +#define EM_FLAG_PRED 0x0001 +#define EM_FLAG_PRIVILEGED 0x0002 +#define EM_FLAG_LMEM 0x0004 +#define EM_FLAG_SMEM 0x0008 +#define EM_FLAG_CHECK_BASE_EQ_DST 0x0010 +#define EM_FLAG_FIRST_IN_INSTRUCTION_GROUP 0x0020 +#define EM_FLAG_LAST_IN_INSTRUCTION_GROUP 0x0040 +#define EM_FLAG_CHECK_SAME_DSTS 0x0080 +#define EM_FLAG_SLOT2_ONLY 0x0100 +#define EM_FLAG_TWO_SLOT 0x0200 +#define EM_FLAG_OK_IN_MLI 0x0400 +#define EM_FLAG_CHECK_EVEN_ODD_FREGS 0x0800 +#define EM_FLAG_CTYPE_UNC 0x1000 + +#define EM_FLAG_GR0_DEST 0x80000000 +#define EM_FLAG_FR0_FR1_DEST 0x40000000 +#define EM_FLAG_BAD_APP_REG_GRP 0x20000000 +#define EM_FLAG_BAD_COUNT 0x10000000 +#define EM_FLAG_BAD_ALLOC 0x08000000 +#define EM_FLAG_BAD_MBTYPE 0x04000000 + +/* Architecture Revisions and Implementations */ +#define ArchRev0 0x0 +#define ArchRev1 0x1 +#define Impl_Ipref 0x100 +#define Impl_Brl 0x200 +#define Impl_Ifetch 0x400 +#define Impl_AtomicOps 0x800 +#define Impl_VM 0x10000 + +#include +#include +#include + +typedef unsigned long long UInt64; +typedef char Major_opcode; + +#define OPCLASS(op) ((op) & ~0x1f) + +typedef struct EMDB_info_s { + Unit unit; + Operand_type op[MAX_OPERANDS]; + unsigned char num_dests; + Flags flags; + Flags impl; + Format format; + UInt64 base_encoding; +} EMDB_info; + +#define MF 255 + +#define FORMAT_SIZE 16 + +extern EMDB_info InstTable[]; +extern char formatptr[][FORMAT_SIZE]; + +typedef struct { + unsigned char pos; /* zero-based bit position of right end */ + unsigned char len; /* length */ +} layout; + +typedef struct EMDB_encode_s { + layout op_layout[MAX_OPERANDS]; + char *genLayoutStr; + char *fmtArrayptr; +} EMDB_encode; + +extern EMDB_encode EncodingTable[]; + +#define EM_PREDICATE_POS 0 +#define EM_PREDICATE_LEN 6 + +#endif /* _SKI_EMINST_H */ diff --git a/src/encoder/Makefile b/src/encoder/Makefile new file mode 100644 index 0000000..3af2156 --- /dev/null +++ b/src/encoder/Makefile @@ -0,0 +1,503 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# src/encoder/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +srcdir = . +top_srcdir = ../.. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = src/encoder +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libencoder_la_LIBADD = +am__objects_1 = encode_table.lo formats.lo +am_libencoder_la_OBJECTS = encoder.lo $(am__objects_1) +libencoder_la_OBJECTS = $(am_libencoder_la_OBJECTS) +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libencoder_la_SOURCES) +DIST_SOURCES = $(libencoder_la_SOURCES) +DATA = $(noinst_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +AM_CPPFLAGS = -I$(top_srcdir)/src/decoder -I$(top_builddir)/src/decoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES = EMformats.h encode_table.c formats.c +noinst_LTLIBRARIES = libencoder.la +libencoder_la_SOURCES = \ + EMInst.h \ + encoder.h encoder.c \ + $(BUILT_SOURCES) + +noinst_DATA = Copyright formats.c_template +noinst_SCRIPTS = formats.awk +EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/encoder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/encoder/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libencoder.la: $(libencoder_la_OBJECTS) $(libencoder_la_DEPENDENCIES) + $(LINK) $(libencoder_la_LDFLAGS) $(libencoder_la_OBJECTS) $(libencoder_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/encode_table.Plo +include ./$(DEPDIR)/encoder.Plo +include ./$(DEPDIR)/formats.Plo + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am + + +EMformats.h formats.c: formats.awk formats.c_template \ + $(encdir)/encoding.format Copyright + rm -f $@; + $(AWK) -f $(srcdir)/formats.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.format + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +distclean-local: + -rm -rf $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/encoder/Makefile.am b/src/encoder/Makefile.am new file mode 100644 index 0000000..a706124 --- /dev/null +++ b/src/encoder/Makefile.am @@ -0,0 +1,51 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + + +AM_CPPFLAGS= -I$(top_srcdir)/src/decoder -I$(top_builddir)/src/decoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES= EMformats.h encode_table.c formats.c + +noinst_LTLIBRARIES=libencoder.la + +libencoder_la_SOURCES= \ + EMInst.h \ + encoder.h encoder.c \ + $(BUILT_SOURCES) + +noinst_DATA= Copyright formats.c_template + +noinst_SCRIPTS= formats.awk + +EMformats.h formats.c: formats.awk formats.c_template \ + $(encdir)/encoding.format Copyright + rm -f $@; + $(AWK) -f $(srcdir)/formats.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.format + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +EXTRA_DIST= $(noinst_DATA) $(noinst_SCRIPTS) + +distclean-local: + -rm -rf $(BUILT_SOURCES) diff --git a/src/encoder/Makefile.in b/src/encoder/Makefile.in new file mode 100644 index 0000000..5d6e828 --- /dev/null +++ b/src/encoder/Makefile.in @@ -0,0 +1,503 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src/encoder +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libencoder_la_LIBADD = +am__objects_1 = encode_table.lo formats.lo +am_libencoder_la_OBJECTS = encoder.lo $(am__objects_1) +libencoder_la_OBJECTS = $(am_libencoder_la_OBJECTS) +SCRIPTS = $(noinst_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libencoder_la_SOURCES) +DIST_SOURCES = $(libencoder_la_SOURCES) +DATA = $(noinst_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AM_CPPFLAGS = -I$(top_srcdir)/src/decoder -I$(top_builddir)/src/decoder \ + -I$(top_srcdir)/src + +BUILT_SOURCES = EMformats.h encode_table.c formats.c +noinst_LTLIBRARIES = libencoder.la +libencoder_la_SOURCES = \ + EMInst.h \ + encoder.h encoder.c \ + $(BUILT_SOURCES) + +noinst_DATA = Copyright formats.c_template +noinst_SCRIPTS = formats.awk +EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/encoder/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/encoder/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libencoder.la: $(libencoder_la_OBJECTS) $(libencoder_la_DEPENDENCIES) + $(LINK) $(libencoder_la_LDFLAGS) $(libencoder_la_OBJECTS) $(libencoder_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encode_table.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/formats.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am + + +EMformats.h formats.c: formats.awk formats.c_template \ + $(encdir)/encoding.format Copyright + rm -f $@; + $(AWK) -f $(srcdir)/formats.awk -v prefix=$(srcdir)/ \ + $(encdir)/encoding.format + +encode_table.c: + @$(LN_S) $(encdir)/encoding.encode $@ + +distclean-local: + -rm -rf $(BUILT_SOURCES) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/encoder/encoder.c b/src/encoder/encoder.c new file mode 100644 index 0000000..21258a1 --- /dev/null +++ b/src/encoder/encoder.c @@ -0,0 +1,313 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include +#include +#include +#include <_decoder.h> +#include "EMInst.h" + +#define deposit(val, pos, len) \ + (((unsigned long long)(val) << (64 - (len)) >> (64 - (len) - (pos)))) + +#define ILL_SEM 8 +static unsigned char sem_bits[] = { +/* 0 1 2 3 4 5 6 7 */ + 4, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, +/* 8 9 10 11 12 13 14 15 */ + 5, ILL_SEM, ILL_SEM, ILL_SEM, 6, ILL_SEM, ILL_SEM, 7, +/* 16 17 18 19 20 21 22 23 */ + ILL_SEM, 3, ILL_SEM, ILL_SEM, 2, ILL_SEM, ILL_SEM, ILL_SEM, +/* 24 25 26 27 28 29 30 31 */ + 1, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, ILL_SEM, +/* 32 */ + 0 +}; + +EncStatus encode_inst(InstID instID, OperandsPtr opnds, + EncodedInstPtr inst) +{ + EMDB_info *inst_info; + EMDB_encode *inst_format; + unsigned long long bits, op_bits, i = 0, l = 0; + unsigned int o, mf, adv, f; + + if (instID <= EM_INST_NONE || instID >= EM_INST_LAST) + return EncBadInstID; + + inst_info = &InstTable[instID]; + inst_format = &EncodingTable[inst_info->format]; + inst->unit = inst_info->unit; + /* XXX - need to check various inst_info->flags for validity */ + + /* start with the base encoding of the instruction */ + bits = inst_info->base_encoding; + + /* if the instruction is predicated, the qualifying/branch predicate is + passed in as opnds->qp */ + + /* two-slot instructions (movl/brl) are special */ + if (inst_info->flags & EM_FLAG_TWO_SLOT) { + inst->extra_bits = 0; /* real value filled in below */ + inst->valid_extra_bits = 1; + } else + inst->valid_extra_bits = 0; + + if (inst_info->flags & EM_FLAG_PRED) { + if (opnds->qp > 63) + return EncBadQP; + bits |= deposit(opnds->qp, EM_PREDICATE_POS, EM_PREDICATE_LEN); + } else if (opnds->qp) + return EncBadQP; + + /* the remaining fields are specified by the operand layout encoding */ + + for (f = mf = o = 0; o < MAX_OPERANDS; o++, f += adv) { +#ifdef OPERAND_COUNT + if (o >= opnds->count) + if (inst_info->op[o] == EM_OPTYPE_NONE) + continue; + else + return EncBadOperand + o; +#endif /* OPERAND_COUNT */ + if (!((opnds->u.op[o].type == inst_info->op[o]) || + (opnds->u.op[o].type == OPCLASS(inst_info->op[o])))) + return EncBadOperand + o; + op_bits = opnds->u.op[o].bits; /* default op_bits */ + adv = 0; /* assume we will not advance to next field */ + switch (inst_info->op[o]) { + /* the following operand types are not encoded in any instr */ + case EM_OPTYPE_NONE: + case EM_OPTYPE_IP: /* instruction pointer */ + case EM_OPTYPE_PREGS_ALL: /* predicate register file */ + case EM_OPTYPE_PREGS_ROT: /* rotating predicates */ + case EM_OPTYPE_PSR: /* psr */ + case EM_OPTYPE_PSR_L: /* psr.l */ + case EM_OPTYPE_PSR_UM: /* psr.um */ + continue; + case EM_OPTYPE_IREG_R0: /* Integer register r0: not encoded */ + if (op_bits != 0) + return EncBadOperand + o; + continue; + case EM_OPTYPE_APP_CCV: /* ar.ccv: not encoded */ + if (op_bits != 32) + return EncBadOperand + o; + continue; + case EM_OPTYPE_APP_PFS: /* ar.pfs: not encoded */ + if (op_bits != 64) + return EncBadOperand + o; + continue; + case EM_OPTYPE_APP_CSD: /* ar.csd: not encoded */ + if (op_bits != 25) + return EncBadOperand + o; + continue; + case EM_OPTYPE_ONE: /* the number 1 - not encoded */ + if (op_bits != 1) + return EncBadOperand + o; + continue; + case EM_OPTYPE_EIGHT: /* the number 8 - not encoded */ + if (op_bits != 8) + return EncBadOperand + o; + continue; + case EM_OPTYPE_SIXTEEN: /* the number 16 - not encoded */ + if (op_bits != 16) + return EncBadOperand + o; + continue; + case EM_OPTYPE_IREG: /* Integer register */ + case EM_OPTYPE_FREG: /* FP register */ + case EM_OPTYPE_CR: /* control register */ + case EM_OPTYPE_PMC: /* indirect register files */ + case EM_OPTYPE_PMD: + case EM_OPTYPE_PKR: + case EM_OPTYPE_RR: + case EM_OPTYPE_IBR: + case EM_OPTYPE_DBR: + case EM_OPTYPE_ITR: + case EM_OPTYPE_DTR: + case EM_OPTYPE_MSR: + case EM_OPTYPE_CPUID: + case EM_OPTYPE_IREG_NUM: /* ireg number - for chk.a/invala */ + case EM_OPTYPE_FREG_NUM: /* freg number - for chk.a/invala */ + case EM_OPTYPE_MEM: /* memory address */ + if (op_bits > 127) + return EncBadOperand + o; + break; + case EM_OPTYPE_IREG_R0_3: /* r0-r3 */ + if (op_bits > 3) + return EncBadOperand + o; + break; + case EM_OPTYPE_IREG_R1_127: /* r1-r127 */ + if (op_bits == 0 || op_bits > 127) + return EncBadOperand + o; + break; + case EM_OPTYPE_FREG_F2_127: /* f2-f127 */ + if (op_bits < 2 || op_bits > 127) + return EncBadOperand + o; + break; + case EM_OPTYPE_BR: /* branch register */ + if (op_bits > 7) + return EncBadOperand + o; + break; + case EM_OPTYPE_PREG: /* predicate register */ + case EM_OPTYPE_APP_REG_GRP_LOW: /* ARs 0-63 */ + if (op_bits > 63) + return EncBadOperand + o; + break; + case EM_OPTYPE_APP_REG_GRP_HIGH: /* ARs 64-127 */ + if (op_bits < 64 || op_bits > 127) + return EncBadOperand + o; + break; + case EM_OPTYPE_UIMM: /* unsigned immediate */ + case EM_OPTYPE_FCLASS: /* fclass immediate */ + if (inst_format->op_layout[o].len < 64 && + op_bits >> inst_format->op_layout[o].len != 0) + return EncBadOperand + o; + break; + case EM_OPTYPE_SIMM: /* signed immediate */ + case EM_OPTYPE_CMP_UIMM: /* unsigned immediate of cmp ltu */ + case EM_OPTYPE_CMP4_UIMM: /* unsigned immediate of cmp4 ltu */ + /* XXX - need to check that imm fits in field */ + break; + case EM_OPTYPE_SSHIFT_REL: /* IP relative signed immediate + which is shifted by 4 */ + if (op_bits & 0xf) + return EncBadOperand + o; + op_bits = (op_bits - encoderIP()) >> 4; + /* XXX - need to check that imm fits in field */ + break; + case EM_OPTYPE_SSHIFT_1: /* signed immediate which has to be + shifted 1 bit - for mov pr */ + op_bits >>= 1; + /* XXX - need to check that imm fits in field */ + break; + case EM_OPTYPE_SSHIFT_16: /* signed immediate which has to be + shifted 16 bits - for mov pr.rot */ + if (op_bits & 0xffff) + return EncBadOperand + o; + op_bits >>= 16; + /* XXX - need to check that imm fits in field */ + break; + case EM_OPTYPE_COUNT_123: /* immediate which can have the values + 1, 2, or 3 only and has to be + decremented by 1 */ + op_bits -= 1; + if (op_bits > 2) + return EncBadOperand + o; + break; + case EM_OPTYPE_COUNT_PACK: /* immediate which can have the values + 0, 7, 15, or 16 only - + for pmpyshr */ + if (op_bits == 0) + /* nothing to do */; + else if (op_bits == 7) + op_bits = 1; + else if (op_bits == 15) + op_bits = 2; + else if (op_bits == 16) + op_bits = 3; + else + return EncBadOperand + o; + break; + case EM_OPTYPE_UDEC: /* unsigned immediate which has to be + decremented by 1 */ + op_bits -= 1; + if (inst_format->op_layout[o].len < 64 && + op_bits >> inst_format->op_layout[o].len != 0) + return EncBadOperand + o; + break; + case EM_OPTYPE_CCOUNT: /* (31 - count) - for pshl */ + if (op_bits > 31) + return EncBadOperand + o; + op_bits = 31 - op_bits; + break; + case EM_OPTYPE_CPOS: /* (63 - pos) - for dep */ + if (op_bits > 63) + return EncBadOperand + o; + op_bits = 63 - op_bits; + break; + case EM_OPTYPE_SEMAPHORE_INC: /* immediate which can have the values + -16, -8, -4, -1, 1, 4, 8, or 16 + only - for fetchadd */ + if (op_bits + 16u > 32u || sem_bits[op_bits + 16u] == ILL_SEM) + return EncBadOperand + o; + op_bits = sem_bits[op_bits + 16u]; + break; + case EM_OPTYPE_ALLOC_IOL: /* ins, locals, and outs: can be 0-96 - + for alloc */ + if (op_bits > 96) + return EncBadOperand + o; + switch (o) { + case 2: /* "i" */ + i = op_bits; /* record it */ + continue; + case 3: /* "l" */ + l = op_bits; /* record it */ + op_bits = i + l; /* form sol */ + break; + case 4: /* "o" */ + op_bits = i + l + op_bits; /* form sof */ + break; + } + break; + case EM_OPTYPE_ALLOC_ROT: /* rotating: can be 0-96 by 8, must + be right-shifted by 3 - for alloc */ + if (op_bits > 96 || op_bits & 7) + return EncBadOperand + o; + op_bits >>= 3; + break; + case EM_OPTYPE_MUX1: /* immediate which can have the values + 0, 8, 9, 0xa, or 0xb - for mux1 */ + if (!(op_bits == 0 || (op_bits >= 8 && op_bits <= 0xb))) + return EncBadOperand + o; + break; + default: +#ifdef DEBUG + fprintf(stderr, "unknown OPTYPE: %u\n", inst_info->op[o]); +#endif /* DEBUG */ + return EncBadOperand + o; + } + + if (inst_format->op_layout[f].pos != MF) { /* single field */ + if (inst_format->op_layout[f].len != 0) + bits |= deposit(op_bits, inst_format->op_layout[f].pos, + inst_format->op_layout[f].len); + } else { /* multi-field */ + unsigned int len, pos, mfi = 0; + + while ((op_bits != 0) && + ((len = inst_format->fmtArrayptr[mf*FORMAT_SIZE+mfi++]) + != 0)) { + pos = inst_format->fmtArrayptr[mf*FORMAT_SIZE+mfi++]; + if (len >= (SLOT_SIZE - MAJOR_OP_SIZE)) + /* the next bits go into extra_bits */ + inst->extra_bits |= deposit(op_bits, pos, len); + else + bits |= deposit(op_bits, pos, len); + op_bits >>= len; + } + mf++; + } + adv = 1; /* if we get here, advance to next field */ + } + + inst->bits = bits; + return EncOK; +} diff --git a/src/encoder/encoder.h b/src/encoder/encoder.h new file mode 100644 index 0000000..ef0abfb --- /dev/null +++ b/src/encoder/encoder.h @@ -0,0 +1,49 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * EM instruction encoder header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_ENCODER_H +#define _SKI_ENCODER_H + +typedef enum { EncOK, EncBadTemplate, EncBadInstID, EncBadQP, EncBadOperand, + EncBadOperand1 = EncBadOperand, EncBadOperand2, + EncBadOperand3, EncBadOperand4, EncBadOperand5, + EncBadOperand6 +} EncStatus; + +#include +#include +#include + +typedef struct encoded_inst { + unsigned long long bits; + unsigned long long extra_bits; + Unit unit; + SB stop; + unsigned char valid_extra_bits; + unsigned char slot; +} EncodedInst, *EncodedInstPtr; + +EncStatus encode_inst(InstID instID, OperandsPtr opnds, + EncodedInstPtr inst); +unsigned long long encoderIP(void); +char *instFormatName(InstID instID); + +#endif /* _SKI_ENCODER_H */ diff --git a/src/encoder/formats.awk b/src/encoder/formats.awk new file mode 100755 index 0000000..fef927c --- /dev/null +++ b/src/encoder/formats.awk @@ -0,0 +1,77 @@ +#!/usr/bin/awk -f +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +function printEmacs(file) +{ + Emacs="/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t;" \ + " c-basic-offset: 4 -*- */" + printf "%s\n", Emacs > file +} + +function printWarn(file, i, date) +{ + "date" | getline date; + printf("/* DO NOT EDIT - Automatically generated %s using:\n", \ + date) > file; + for (i = 0; i < ARGC; i++) + printf(" %s", ARGV[i]) > file; + printf("\n */\n\n") > file; + close("date"); +} + +BEGIN { + HFILE="EMformats.h"; + printEmacs(HFILE); + CFILE="formats.c"; + TEMPLATE="formats.c_template"; + printWarn(HFILE); + while (getline ln < (prefix "Copyright") == 1) { + print ln > HFILE + } + close((prefix "Copyright")) + + print "" > HFILE + print "/* $Head" "er$ */" > HFILE + print "" > HFILE + print "/* EM instruction formats header */" > HFILE + print "" > HFILE + print "#ifndef EMFORMATS_H" > HFILE + print "#define EMFORMATS_H" > HFILE + print "" > HFILE + print "typedef enum {" > HFILE + print " EM_FORMAT_NONE = 0," > HFILE + + printWarn(CFILE); + while (getline ln < (prefix TEMPLATE) == 1) { + print ln > CFILE + } + close((prefix TEMPLATE)); + print "static char *formatName[NUM_FORMATS+1] = {" > CFILE + print " \"???\"," > CFILE +} + +/^#/ { + next +} + +/^[A-Z]/ { + print " EM_FORMAT_" $1 "," > HFILE; + print " \"" $1 "\"," > CFILE; + count++ +} + +/^ / { + next +} + +END { + print " EM_FORMAT_X41" > HFILE; + print "} Format;" > HFILE; + print "" > HFILE; + print "#define NUM_FORMATS " count+1 > HFILE; + print "" > HFILE; + print "#endif /* EMFORMATS_H */" > HFILE; + + print " \"X41\"" > CFILE; + print "};" > CFILE; +} diff --git a/src/encoder/formats.c_template b/src/encoder/formats.c_template new file mode 100644 index 0000000..4628230 --- /dev/null +++ b/src/encoder/formats.c_template @@ -0,0 +1,39 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/* Instruction Format Names */ + +#include +#include + +static char *formatName[]; + +char *instFormatName(InstID instID) +{ + EMDB_info *inst_info; + Format format; + + if (instID <= EM_INST_NONE || instID >= EM_INST_LAST) + return formatName[EM_FORMAT_NONE]; + + inst_info = &InstTable[instID]; + format = inst_info->format; + return formatName[format]; +} + diff --git a/src/encodings/encoding.decode b/src/encodings/encoding.decode new file mode 100644 index 0000000..700fdee --- /dev/null +++ b/src/encodings/encoding.decode @@ -0,0 +1,7019 @@ +/* Decode Structures + * Generated from Itanium SDM Rev. 2.1 (15 Jan 03) + * Generated 15 Jan 2003, 12:13:51 PM + * Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "_decoder.h" + +TemplateInfo templates[] = { +/* Slot 0 Slot 1 Slot 2 + ----------------------------------------------------------*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Cont}, {I_Unit, SB_Cont}}}, /*00:MII*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Cont}, {I_Unit, SB_Stop}}}, /*01:MII,*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Stop}, {I_Unit, SB_Cont}}}, /*02:MI,I*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Stop}, {I_Unit, SB_Stop}}}, /*03:MI,I,*/ + {{{M_Unit, SB_Cont}, {L_Unit, SB_Cont}, {X_Unit, SB_Cont}}}, /*04:MLX*/ + {{{M_Unit, SB_Cont}, {L_Unit, SB_Cont}, {X_Unit, SB_Stop}}}, /*05:MLX,*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*06:Rv*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*07:Rv*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {I_Unit, SB_Cont}}}, /*08:MMI*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {I_Unit, SB_Stop}}}, /*09:MMI,*/ + {{{M_Unit, SB_Stop}, {M_Unit, SB_Cont}, {I_Unit, SB_Cont}}}, /*0A:M,MI*/ + {{{M_Unit, SB_Stop}, {M_Unit, SB_Cont}, {I_Unit, SB_Stop}}}, /*0B:M,MI,*/ + {{{M_Unit, SB_Cont}, {F_Unit, SB_Cont}, {I_Unit, SB_Cont}}}, /*0C:MFI*/ + {{{M_Unit, SB_Cont}, {F_Unit, SB_Cont}, {I_Unit, SB_Stop}}}, /*0D:MFI,*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {F_Unit, SB_Cont}}}, /*0E:MMF*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {F_Unit, SB_Stop}}}, /*0F:MMF,*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Cont}, {B_Unit, SB_Cont}}}, /*10:MIB*/ + {{{M_Unit, SB_Cont}, {I_Unit, SB_Cont}, {B_Unit, SB_Stop}}}, /*11:MIB,*/ + {{{M_Unit, SB_Cont}, {B_Unit, SB_Cont}, {B_Unit, SB_Cont}}}, /*12:MBB*/ + {{{M_Unit, SB_Cont}, {B_Unit, SB_Cont}, {B_Unit, SB_Stop}}}, /*13:MBB,*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*14:Rv*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*15:Rv*/ + {{{B_Unit, SB_Cont}, {B_Unit, SB_Cont}, {B_Unit, SB_Cont}}}, /*16:BBB*/ + {{{B_Unit, SB_Cont}, {B_Unit, SB_Cont}, {B_Unit, SB_Stop}}}, /*17:BBB,*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {B_Unit, SB_Cont}}}, /*18:MMB*/ + {{{M_Unit, SB_Cont}, {M_Unit, SB_Cont}, {B_Unit, SB_Stop}}}, /*19:MMB,*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*1A:Rv*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*1B:Rv*/ + {{{M_Unit, SB_Cont}, {F_Unit, SB_Cont}, {B_Unit, SB_Cont}}}, /*1C:MFB*/ + {{{M_Unit, SB_Cont}, {F_Unit, SB_Cont}, {B_Unit, SB_Stop}}}, /*1D:MFB,*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*1E:Rv*/ + {{{No_Unit, SB_Cont}, {No_Unit, SB_Cont}, {No_Unit, SB_Cont}}}, /*1F:Rv*/ +}; + +OpDecode opDecodeTable[] = { +#define opI0_0 0 /* 0 - 127 [128] */ + /* 0 */ {{EM_BREAK_I_IMM21}, {{64, 64}}}, + /* 1 */ {{EM_BREAK_I_IMM21}, {{64, 64}}}, + /* 2 */ {{EM_NOP_I_IMM21}, {{64, 64}}}, + /* 3 */ {{EM_HINT_I_IMM21}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_MOV_I_AR3_IMM8}, {{64, 64}}}, + /* 15 */ {{EM_MOV_I_AR3_IMM8}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_ZXT1_R1_R3}, {{64, 64}}}, + /* 21 */ {{EM_ZXT1_R1_R3}, {{64, 64}}}, + /* 22 */ {{EM_ZXT2_R1_R3}, {{64, 64}}}, + /* 23 */ {{EM_ZXT2_R1_R3}, {{64, 64}}}, + /* 24 */ {{EM_ZXT4_R1_R3}, {{64, 64}}}, + /* 25 */ {{EM_ZXT4_R1_R3}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_SXT1_R1_R3}, {{64, 64}}}, + /* 29 */ {{EM_SXT1_R1_R3}, {{64, 64}}}, + /* 2A */ {{EM_SXT2_R1_R3}, {{64, 64}}}, + /* 2B */ {{EM_SXT2_R1_R3}, {{64, 64}}}, + /* 2C */ {{EM_SXT4_R1_R3}, {{64, 64}}}, + /* 2D */ {{EM_SXT4_R1_R3}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30 */ {{EM_CZX1_L_R1_R3}, {{64, 64}}}, + /* 31 */ {{EM_CZX1_L_R1_R3}, {{64, 64}}}, + /* 32 */ {{EM_CZX2_L_R1_R3}, {{64, 64}}}, + /* 33 */ {{EM_CZX2_L_R1_R3}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_CZX1_R_R1_R3}, {{64, 64}}}, + /* 39 */ {{EM_CZX1_R_R1_R3}, {{64, 64}}}, + /* 3A */ {{EM_CZX2_R_R1_R3}, {{64, 64}}}, + /* 3B */ {{EM_CZX2_R_R1_R3}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_MOV_I_AR3_R2}, {{64, 64}}}, + /* 55 */ {{EM_MOV_I_AR3_R2}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_MOV_R1_IP}, {{64, 64}}}, + /* 61 */ {{EM_MOV_R1_IP}, {{64, 64}}}, + /* 62 */ {{EM_MOV_R1_B2}, {{64, 64}}}, + /* 63 */ {{EM_MOV_R1_B2}, {{64, 64}}}, + /* 64 */ {{EM_MOV_I_R1_AR3}, {{64, 64}}}, + /* 65 */ {{EM_MOV_I_R1_AR3}, {{64, 64}}}, + /* 66 */ {{EM_MOV_R1_PR}, {{64, 64}}}, + /* 67 */ {{EM_MOV_R1_PR}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opI0_1 128 /* 128 - 143 [16] */ + /* 0 */ {{EM_MOV_SPTK_B1_R2_TAG13}, {{64, 64}}}, + /* 1 */ {{EM_MOV_B1_R2_TAG13}, {{64, 64}}}, + /* 2 */ {{EM_MOV_DPTK_B1_R2_TAG13}, {{64, 64}}}, + /* 3 */ {{EM_MOV_MWH3_B1_R2_TAG13}, {{64, 64}}}, + /* 4 */ {{EM_MOV_RET_SPTK_B1_R2_TAG13}, {{64, 64}}}, + /* 5 */ {{EM_MOV_RET_B1_R2_TAG13}, {{64, 64}}}, + /* 6 */ {{EM_MOV_RET_DPTK_B1_R2_TAG13}, {{64, 64}}}, + /* 7 */ {{EM_MOV_RET_MWH3_B1_R2_TAG13}, {{64, 64}}}, + /* 8 */ {{EM_MOV_SPTK_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* 9 */ {{EM_MOV_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* A */ {{EM_MOV_DPTK_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* B */ {{EM_MOV_MWH3_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* C */ {{EM_MOV_RET_SPTK_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* D */ {{EM_MOV_RET_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* E */ {{EM_MOV_RET_DPTK_IMP_B1_R2_TAG13}, {{64, 64}}}, + /* F */ {{EM_MOV_RET_MWH3_IMP_B1_R2_TAG13}, {{64, 64}}}, +#define opI0_2 144 /* 144 - 151 [8] */ + /* 0 */ {{opI0_0}, {{31, 57}, {64, 64}}}, + /* 1 */ {{EM_CHK_S_I_R2_TARGET25}, {{64, 64}}}, + /* 2 */ {{EM_MOV_PR_ROT_IMM44}, {{64, 64}}}, + /* 3 */ {{EM_MOV_PR_R2_MASK17}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{opI0_1}, {{40, 60}, {64, 64}}}, +#define opI5_0 152 /* 152 - 279 [128] */ + /* 0 */ {{EM_TBIT_Z_P1_P2_R3_POS6}, {{64, 64}}}, + /* 1 */ {{EM_TBIT_Z_UNC_P1_P2_R3_POS6}, {{64, 64}}}, + /* 2 */ {{EM_TNAT_Z_P1_P2_R3}, {{64, 64}}}, + /* 3 */ {{EM_TNAT_Z_UNC_P1_P2_R3}, {{64, 64}}}, + /* 4 */ {{EM_TBIT_Z_P1_P2_R3_POS6}, {{64, 64}}}, + /* 5 */ {{EM_TBIT_Z_UNC_P1_P2_R3_POS6}, {{64, 64}}}, + /* 6 */ {{EM_TNAT_Z_P1_P2_R3}, {{64, 64}}}, + /* 7 */ {{EM_TNAT_Z_UNC_P1_P2_R3}, {{64, 64}}}, + /* 8 */ {{EM_TBIT_Z_OR_P1_P2_R3_POS6}, {{64, 64}}}, + /* 9 */ {{EM_TBIT_NZ_OR_P1_P2_R3_POS6}, {{64, 64}}}, + /* A */ {{EM_TNAT_Z_OR_P1_P2_R3}, {{64, 64}}}, + /* B */ {{EM_TNAT_NZ_OR_P1_P2_R3}, {{64, 64}}}, + /* C */ {{EM_TBIT_Z_OR_P1_P2_R3_POS6}, {{64, 64}}}, + /* D */ {{EM_TBIT_NZ_OR_P1_P2_R3_POS6}, {{64, 64}}}, + /* E */ {{EM_TNAT_Z_OR_P1_P2_R3}, {{64, 64}}}, + /* F */ {{EM_TNAT_NZ_OR_P1_P2_R3}, {{64, 64}}}, + /* 10 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 11 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 12 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 13 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 14 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 15 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 16 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 17 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 18 */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 19 */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 1A */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 1B */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 1C */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 1D */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 1E */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 1F */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 31 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 32 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 33 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 34 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 35 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 36 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 37 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 38 */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 39 */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3A */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3B */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3C */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3D */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3E */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 3F */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 40 */ {{EM_TBIT_Z_AND_P1_P2_R3_POS6}, {{64, 64}}}, + /* 41 */ {{EM_TBIT_NZ_AND_P1_P2_R3_POS6}, {{64, 64}}}, + /* 42 */ {{EM_TNAT_Z_AND_P1_P2_R3}, {{64, 64}}}, + /* 43 */ {{EM_TNAT_NZ_AND_P1_P2_R3}, {{64, 64}}}, + /* 44 */ {{EM_TBIT_Z_AND_P1_P2_R3_POS6}, {{64, 64}}}, + /* 45 */ {{EM_TBIT_NZ_AND_P1_P2_R3_POS6}, {{64, 64}}}, + /* 46 */ {{EM_TNAT_Z_AND_P1_P2_R3}, {{64, 64}}}, + /* 47 */ {{EM_TNAT_NZ_AND_P1_P2_R3}, {{64, 64}}}, + /* 48 */ {{EM_TBIT_Z_OR_ANDCM_P1_P2_R3_POS6}, {{64, 64}}}, + /* 49 */ {{EM_TBIT_NZ_OR_ANDCM_P1_P2_R3_POS6}, {{64, 64}}}, + /* 4A */ {{EM_TNAT_Z_OR_ANDCM_P1_P2_R3}, {{64, 64}}}, + /* 4B */ {{EM_TNAT_NZ_OR_ANDCM_P1_P2_R3}, {{64, 64}}}, + /* 4C */ {{EM_TBIT_Z_OR_ANDCM_P1_P2_R3_POS6}, {{64, 64}}}, + /* 4D */ {{EM_TBIT_NZ_OR_ANDCM_P1_P2_R3_POS6}, {{64, 64}}}, + /* 4E */ {{EM_TNAT_Z_OR_ANDCM_P1_P2_R3}, {{64, 64}}}, + /* 4F */ {{EM_TNAT_NZ_OR_ANDCM_P1_P2_R3}, {{64, 64}}}, + /* 50 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 51 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 52 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 53 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 54 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 55 */ {{EM_EXTR_U_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 56 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 57 */ {{EM_EXTR_R1_R3_POS6_LEN6}, {{64, 64}}}, + /* 58 */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 59 */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 5A */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 5B */ {{EM_DEP_Z_R1_R2_POS6_LEN6}, {{64, 64}}}, + /* 5C */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 5D */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 5E */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 5F */ {{EM_DEP_Z_R1_IMM8_POS6_LEN6}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 71 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 72 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 73 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 74 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 75 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 76 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 77 */ {{EM_SHRP_R1_R2_R3_COUNT6}, {{64, 64}}}, + /* 78 */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 79 */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7A */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7B */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7C */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7D */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7E */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, + /* 7F */ {{EM_DEP_R1_IMM1_R3_POS6_LEN6}, {{64, 64}}}, +#define opI7_0 280 /* 280 - 791 [512] */ + /* 0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_PSHR2_U_R1_R3_R2}, {{64, 64}}}, + /* 21 */ {{EM_PMPYSHR2_U_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 22 */ {{EM_PSHR2_R1_R3_R2}, {{64, 64}}}, + /* 23 */ {{EM_PMPYSHR2_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 24 */ {{EM_PSHL2_R1_R2_R3}, {{64, 64}}}, + /* 25 */ {{EM_PMPYSHR2_U_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_PMPYSHR2_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_PMPYSHR2_U_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_PMPYSHR2_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D */ {{EM_PMPYSHR2_U_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_PMPYSHR2_R1_R2_R3_COUNT2}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_PSHR2_U_R1_R3_COUNT5}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_PSHR2_R1_R3_COUNT5}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_POPCNT_R1_R3}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 81 */ {{EM_PMIN1_U_R1_R2_R3}, {{64, 64}}}, + /* 82 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 83 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 84 */ {{EM_UNPACK1_H_R1_R2_R3}, {{64, 64}}}, + /* 85 */ {{EM_PMAX1_U_R1_R2_R3}, {{64, 64}}}, + /* 86 */ {{EM_UNPACK1_L_R1_R2_R3}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_MIX1_R_R1_R2_R3}, {{64, 64}}}, + /* 89 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8A */ {{EM_MIX1_L_R1_R2_R3}, {{64, 64}}}, + /* 8B */ {{EM_PSAD1_R1_R2_R3}, {{64, 64}}}, + /* 8C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 91 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 92 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 93 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 94 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 95 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 96 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 97 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 98 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 99 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A0 */ {{EM_PACK2_USS_R1_R2_R3}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_PACK2_SSS_R1_R2_R3}, {{64, 64}}}, + /* A3 */ {{EM_PMIN2_R1_R2_R3}, {{64, 64}}}, + /* A4 */ {{EM_UNPACK2_H_R1_R2_R3}, {{64, 64}}}, + /* A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A6 */ {{EM_UNPACK2_L_R1_R2_R3}, {{64, 64}}}, + /* A7 */ {{EM_PMAX2_R1_R2_R3}, {{64, 64}}}, + /* A8 */ {{EM_MIX2_R_R1_R2_R3}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_MIX2_L_R1_R2_R3}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AD */ {{EM_PMPY2_R_R1_R2_R3}, {{64, 64}}}, + /* AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AF */ {{EM_PMPY2_L_R1_R2_R3}, {{64, 64}}}, + /* B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_MUX1_R1_R2_MBTYPE4}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_PSHL2_R1_R2_COUNT5}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EA */ {{EM_MUX2_R1_R2_MHTYPE8}, {{64, 64}}}, + /* EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 100 */ {{EM_PSHR4_U_R1_R3_R2}, {{64, 64}}}, + /* 101 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 102 */ {{EM_PSHR4_R1_R3_R2}, {{64, 64}}}, + /* 103 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 104 */ {{EM_PSHL4_R1_R2_R3}, {{64, 64}}}, + /* 105 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 106 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 107 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 108 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 109 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 110 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 111 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 112 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 113 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 114 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 115 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 116 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 117 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 118 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 119 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 120 */ {{EM_SHR_U_R1_R3_R2}, {{64, 64}}}, + /* 121 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 122 */ {{EM_SHR_R1_R3_R2}, {{64, 64}}}, + /* 123 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 124 */ {{EM_SHL_R1_R2_R3}, {{64, 64}}}, + /* 125 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 126 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 127 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 128 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 129 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 130 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 131 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 132 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 133 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 134 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 135 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 136 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 137 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 138 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 139 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 140 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 141 */ {{EM_PSHR4_U_R1_R3_COUNT5}, {{64, 64}}}, + /* 142 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 143 */ {{EM_PSHR4_R1_R3_COUNT5}, {{64, 64}}}, + /* 144 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 145 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 146 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 147 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 148 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 149 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 150 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 151 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 152 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 153 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 154 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 155 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 156 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 157 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 158 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 159 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 160 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 161 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 162 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 163 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 164 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 165 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 166 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 167 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 168 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 169 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 170 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 171 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 172 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 173 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 174 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 175 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 176 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 177 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 178 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 179 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 180 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 181 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 182 */ {{EM_PACK4_SSS_R1_R2_R3}, {{64, 64}}}, + /* 183 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 184 */ {{EM_UNPACK4_H_R1_R2_R3}, {{64, 64}}}, + /* 185 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 186 */ {{EM_UNPACK4_L_R1_R2_R3}, {{64, 64}}}, + /* 187 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 188 */ {{EM_MIX4_R_R1_R2_R3}, {{64, 64}}}, + /* 189 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18A */ {{EM_MIX4_L_R1_R2_R3}, {{64, 64}}}, + /* 18B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 190 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 191 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 192 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 193 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 194 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 195 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 196 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 197 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 198 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 199 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C5 */ {{EM_PSHL4_R1_R2_COUNT5}, {{64, 64}}}, + /* 1C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opA8_0 792 /* 792 - 919 [128] */ + /* 0 */ {{EM_ADD_R1_R2_R3}, {{64, 64}}}, + /* 1 */ {{EM_ADD_R1_R2_R3_1}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_SUB_R1_R2_R3_1}, {{64, 64}}}, + /* 5 */ {{EM_SUB_R1_R2_R3}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ADDP4_R1_R2_R3}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{EM_AND_R1_R2_R3}, {{64, 64}}}, + /* D */ {{EM_ANDCM_R1_R2_R3}, {{64, 64}}}, + /* E */ {{EM_OR_R1_R2_R3}, {{64, 64}}}, + /* F */ {{EM_XOR_R1_R2_R3}, {{64, 64}}}, + /* 10 */ {{EM_SHLADD_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 11 */ {{EM_SHLADD_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 12 */ {{EM_SHLADD_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 13 */ {{EM_SHLADD_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_SHLADDP4_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 19 */ {{EM_SHLADDP4_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 1A */ {{EM_SHLADDP4_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 1B */ {{EM_SHLADDP4_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 25 */ {{EM_SUB_R1_IMM8_R3}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_AND_R1_IMM8_R3}, {{64, 64}}}, + /* 2D */ {{EM_ANDCM_R1_IMM8_R3}, {{64, 64}}}, + /* 2E */ {{EM_OR_R1_IMM8_R3}, {{64, 64}}}, + /* 2F */ {{EM_XOR_R1_IMM8_R3}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opA8_1 920 /* 920 - 1175 [256] */ + /* 0 */ {{EM_PADD1_R1_R2_R3}, {{64, 64}}}, + /* 1 */ {{EM_PADD1_SSS_R1_R2_R3}, {{64, 64}}}, + /* 2 */ {{EM_PADD1_UUU_R1_R2_R3}, {{64, 64}}}, + /* 3 */ {{EM_PADD1_UUS_R1_R2_R3}, {{64, 64}}}, + /* 4 */ {{EM_PSUB1_R1_R2_R3}, {{64, 64}}}, + /* 5 */ {{EM_PSUB1_SSS_R1_R2_R3}, {{64, 64}}}, + /* 6 */ {{EM_PSUB1_UUU_R1_R2_R3}, {{64, 64}}}, + /* 7 */ {{EM_PSUB1_UUS_R1_R2_R3}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_PAVG1_R1_R2_R3}, {{64, 64}}}, + /* B */ {{EM_PAVG1_RAZ_R1_R2_R3}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_PAVGSUB1_R1_R2_R3}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_PCMP1_EQ_R1_R2_R3}, {{64, 64}}}, + /* 25 */ {{EM_PCMP1_GT_R1_R2_R3}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_PADD2_R1_R2_R3}, {{64, 64}}}, + /* 41 */ {{EM_PADD2_SSS_R1_R2_R3}, {{64, 64}}}, + /* 42 */ {{EM_PADD2_UUU_R1_R2_R3}, {{64, 64}}}, + /* 43 */ {{EM_PADD2_UUS_R1_R2_R3}, {{64, 64}}}, + /* 44 */ {{EM_PSUB2_R1_R2_R3}, {{64, 64}}}, + /* 45 */ {{EM_PSUB2_SSS_R1_R2_R3}, {{64, 64}}}, + /* 46 */ {{EM_PSUB2_UUU_R1_R2_R3}, {{64, 64}}}, + /* 47 */ {{EM_PSUB2_UUS_R1_R2_R3}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_PAVG2_R1_R2_R3}, {{64, 64}}}, + /* 4B */ {{EM_PAVG2_RAZ_R1_R2_R3}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_PAVGSUB2_R1_R2_R3}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_PSHLADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 51 */ {{EM_PSHLADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 52 */ {{EM_PSHLADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 53 */ {{EM_PSHLADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_PSHRADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 59 */ {{EM_PSHRADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 5A */ {{EM_PSHRADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 5B */ {{EM_PSHRADD2_R1_R2_COUNT2_R3}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_PCMP2_EQ_R1_R2_R3}, {{64, 64}}}, + /* 65 */ {{EM_PCMP2_GT_R1_R2_R3}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_PADD4_R1_R2_R3}, {{64, 64}}}, + /* 81 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 82 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 83 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 84 */ {{EM_PSUB4_R1_R2_R3}, {{64, 64}}}, + /* 85 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 86 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 89 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 91 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 92 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 93 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 94 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 95 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 96 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 97 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 98 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 99 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A4 */ {{EM_PCMP4_EQ_R1_R2_R3}, {{64, 64}}}, + /* A5 */ {{EM_PCMP4_GT_R1_R2_R3}, {{64, 64}}}, + /* A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opA8_2 1176 /* 1176 - 1177 [2] */ + /* 0 */ {{EM_ADDS_R1_IMM14_R3}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opA8_3 1178 /* 1178 - 1179 [2] */ + /* 0 */ {{EM_ADDP4_R1_IMM14_R3}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opA8_4 1180 /* 1180 - 1183 [4] */ + /* 0 */ {{opA8_0}, {{30, 57}, {64, 64}}}, + /* 1 */ {{opA8_1}, {{27, 63}, {30, 57}, {64, 64}}}, + /* 2 */ {{opA8_2}, {{30, 63}, {64, 64}}}, + /* 3 */ {{opA8_3}, {{30, 63}, {64, 64}}}, +#define opAC_0 1184 /* 1184 - 1215 [32] */ + /* 0 */ {{EM_CMP_LT_P1_P2_R2_R3}, {{64, 64}}}, + /* 1 */ {{EM_CMP_LT_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 2 */ {{EM_CMP_EQ_AND_P1_P2_R2_R3}, {{64, 64}}}, + /* 3 */ {{EM_CMP_NE_AND_P1_P2_R2_R3}, {{64, 64}}}, + /* 4 */ {{EM_CMP4_LT_P1_P2_R2_R3}, {{64, 64}}}, + /* 5 */ {{EM_CMP4_LT_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 6 */ {{EM_CMP4_EQ_AND_P1_P2_R2_R3}, {{64, 64}}}, + /* 7 */ {{EM_CMP4_NE_AND_P1_P2_R2_R3}, {{64, 64}}}, + /* 8 */ {{EM_CMP_LT_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 9 */ {{EM_CMP_LT_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* A */ {{EM_CMP_EQ_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* B */ {{EM_CMP_NE_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* C */ {{EM_CMP4_LT_P1_P2_IMM8_R3}, {{64, 64}}}, + /* D */ {{EM_CMP4_LT_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* E */ {{EM_CMP4_EQ_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* F */ {{EM_CMP4_NE_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 10 */ {{EM_CMP_GT_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 11 */ {{EM_CMP_LE_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 12 */ {{EM_CMP_GE_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 13 */ {{EM_CMP_LT_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 14 */ {{EM_CMP4_GT_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 15 */ {{EM_CMP4_LE_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 16 */ {{EM_CMP4_GE_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 17 */ {{EM_CMP4_LT_AND_P1_P2_R0_R3}, {{64, 64}}}, + /* 18 */ {{EM_CMP_LT_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 19 */ {{EM_CMP_LT_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1A */ {{EM_CMP_EQ_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1B */ {{EM_CMP_NE_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1C */ {{EM_CMP4_LT_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1D */ {{EM_CMP4_LT_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1E */ {{EM_CMP4_EQ_AND_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1F */ {{EM_CMP4_NE_AND_P1_P2_IMM8_R3}, {{64, 64}}}, +#define opAD_0 1216 /* 1216 - 1247 [32] */ + /* 0 */ {{EM_CMP_LTU_P1_P2_R2_R3}, {{64, 64}}}, + /* 1 */ {{EM_CMP_LTU_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 2 */ {{EM_CMP_EQ_OR_P1_P2_R2_R3}, {{64, 64}}}, + /* 3 */ {{EM_CMP_NE_OR_P1_P2_R2_R3}, {{64, 64}}}, + /* 4 */ {{EM_CMP4_LTU_P1_P2_R2_R3}, {{64, 64}}}, + /* 5 */ {{EM_CMP4_LTU_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 6 */ {{EM_CMP4_EQ_OR_P1_P2_R2_R3}, {{64, 64}}}, + /* 7 */ {{EM_CMP4_NE_OR_P1_P2_R2_R3}, {{64, 64}}}, + /* 8 */ {{EM_CMP_LTU_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 9 */ {{EM_CMP_LTU_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* A */ {{EM_CMP_EQ_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* B */ {{EM_CMP_NE_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* C */ {{EM_CMP4_LTU_P1_P2_IMM8_R3}, {{64, 64}}}, + /* D */ {{EM_CMP4_LTU_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* E */ {{EM_CMP4_EQ_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* F */ {{EM_CMP4_NE_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 10 */ {{EM_CMP_GT_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 11 */ {{EM_CMP_LE_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 12 */ {{EM_CMP_GE_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 13 */ {{EM_CMP_LT_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 14 */ {{EM_CMP4_GT_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 15 */ {{EM_CMP4_LE_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 16 */ {{EM_CMP4_GE_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 17 */ {{EM_CMP4_LT_OR_P1_P2_R0_R3}, {{64, 64}}}, + /* 18 */ {{EM_CMP_LTU_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 19 */ {{EM_CMP_LTU_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1A */ {{EM_CMP_EQ_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1B */ {{EM_CMP_NE_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1C */ {{EM_CMP4_LTU_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1D */ {{EM_CMP4_LTU_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1E */ {{EM_CMP4_EQ_OR_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1F */ {{EM_CMP4_NE_OR_P1_P2_IMM8_R3}, {{64, 64}}}, +#define opAE_0 1248 /* 1248 - 1279 [32] */ + /* 0 */ {{EM_CMP_EQ_P1_P2_R2_R3}, {{64, 64}}}, + /* 1 */ {{EM_CMP_EQ_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 2 */ {{EM_CMP_EQ_OR_ANDCM_P1_P2_R2_R3}, {{64, 64}}}, + /* 3 */ {{EM_CMP_NE_OR_ANDCM_P1_P2_R2_R3}, {{64, 64}}}, + /* 4 */ {{EM_CMP4_EQ_P1_P2_R2_R3}, {{64, 64}}}, + /* 5 */ {{EM_CMP4_EQ_UNC_P1_P2_R2_R3}, {{64, 64}}}, + /* 6 */ {{EM_CMP4_EQ_OR_ANDCM_P1_P2_R2_R3}, {{64, 64}}}, + /* 7 */ {{EM_CMP4_NE_OR_ANDCM_P1_P2_R2_R3}, {{64, 64}}}, + /* 8 */ {{EM_CMP_EQ_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 9 */ {{EM_CMP_EQ_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* A */ {{EM_CMP_EQ_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* B */ {{EM_CMP_NE_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* C */ {{EM_CMP4_EQ_P1_P2_IMM8_R3}, {{64, 64}}}, + /* D */ {{EM_CMP4_EQ_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* E */ {{EM_CMP4_EQ_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* F */ {{EM_CMP4_NE_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 10 */ {{EM_CMP_GT_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 11 */ {{EM_CMP_LE_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 12 */ {{EM_CMP_GE_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 13 */ {{EM_CMP_LT_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 14 */ {{EM_CMP4_GT_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 15 */ {{EM_CMP4_LE_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 16 */ {{EM_CMP4_GE_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 17 */ {{EM_CMP4_LT_OR_ANDCM_P1_P2_R0_R3}, {{64, 64}}}, + /* 18 */ {{EM_CMP_EQ_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 19 */ {{EM_CMP_EQ_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1A */ {{EM_CMP_EQ_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1B */ {{EM_CMP_NE_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1C */ {{EM_CMP4_EQ_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1D */ {{EM_CMP4_EQ_UNC_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1E */ {{EM_CMP4_EQ_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, + /* 1F */ {{EM_CMP4_NE_OR_ANDCM_P1_P2_IMM8_R3}, {{64, 64}}}, +#define opM0_0 1280 /* 1280 - 1407 [128] */ + /* 0 */ {{EM_BREAK_M_IMM21}, {{64, 64}}}, + /* 1 */ {{EM_BREAK_M_IMM21}, {{64, 64}}}, + /* 2 */ {{EM_NOP_M_IMM21}, {{64, 64}}}, + /* 3 */ {{EM_HINT_M_IMM21}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 9 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* A */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* B */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* C */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* D */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* E */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* F */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_LOADRS}, {{64, 64}}}, + /* 15 */ {{EM_LOADRS}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_FLUSHRS}, {{64, 64}}}, + /* 19 */ {{EM_FLUSHRS}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_INVALA}, {{64, 64}}}, + /* 21 */ {{EM_INVALA}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_INVALA_E_R1}, {{64, 64}}}, + /* 25 */ {{EM_INVALA_E_R1}, {{64, 64}}}, + /* 26 */ {{EM_INVALA_E_F1}, {{64, 64}}}, + /* 27 */ {{EM_INVALA_E_F1}, {{64, 64}}}, + /* 28 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 29 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 2A */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 2B */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 2C */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 2D */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 2E */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 2F */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_FWB}, {{64, 64}}}, + /* 41 */ {{EM_FWB}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_MF}, {{64, 64}}}, + /* 45 */ {{EM_MF}, {{64, 64}}}, + /* 46 */ {{EM_MF_A}, {{64, 64}}}, + /* 47 */ {{EM_MF_A}, {{64, 64}}}, + /* 48 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 49 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 4A */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 4B */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 4C */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 4D */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 4E */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 4F */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 50 */ {{EM_MOV_M_AR3_IMM8}, {{64, 64}}}, + /* 51 */ {{EM_MOV_M_AR3_IMM8}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_SRLZ_D}, {{64, 64}}}, + /* 61 */ {{EM_SRLZ_D}, {{64, 64}}}, + /* 62 */ {{EM_SRLZ_I}, {{64, 64}}}, + /* 63 */ {{EM_SRLZ_I}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_SYNC_I}, {{64, 64}}}, + /* 67 */ {{EM_SYNC_I}, {{64, 64}}}, + /* 68 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 69 */ {{EM_SUM_IMM24}, {{64, 64}}}, + /* 6A */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 6B */ {{EM_RUM_IMM24}, {{64, 64}}}, + /* 6C */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 6D */ {{EM_SSM_IMM24}, {{64, 64}}}, + /* 6E */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 6F */ {{EM_RSM_IMM24}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM0_1 1408 /* 1408 - 1415 [8] */ + /* 0 */ {{opM0_0}, {{31, 57}, {64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_CHK_A_NC_R1_TARGET25}, {{64, 64}}}, + /* 5 */ {{EM_CHK_A_CLR_R1_TARGET25}, {{64, 64}}}, + /* 6 */ {{EM_CHK_A_NC_F1_TARGET25}, {{64, 64}}}, + /* 7 */ {{EM_CHK_A_CLR_F1_TARGET25}, {{64, 64}}}, +#define opM1_0 1416 /* 1416 - 1543 [128] */ + /* 0 */ {{EM_MOV_RR_R3_R2}, {{64, 64}}}, + /* 1 */ {{EM_MOV_DBR_R3_R2}, {{64, 64}}}, + /* 2 */ {{EM_MOV_IBR_R3_R2}, {{64, 64}}}, + /* 3 */ {{EM_MOV_PKR_R3_R2}, {{64, 64}}}, + /* 4 */ {{EM_MOV_PMC_R3_R2}, {{64, 64}}}, + /* 5 */ {{EM_MOV_PMD_R3_R2}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_PTC_L_R3_R2}, {{64, 64}}}, + /* A */ {{EM_PTC_G_R3_R2}, {{64, 64}}}, + /* B */ {{EM_PTC_GA_R3_R2}, {{64, 64}}}, + /* C */ {{EM_PTR_D_R3_R2}, {{64, 64}}}, + /* D */ {{EM_PTR_I_R3_R2}, {{64, 64}}}, + /* E */ {{EM_ITR_D_DTR_R3_R2}, {{64, 64}}}, + /* F */ {{EM_ITR_I_ITR_R3_R2}, {{64, 64}}}, + /* 10 */ {{EM_MOV_R1_RR_R3}, {{64, 64}}}, + /* 11 */ {{EM_MOV_R1_DBR_R3}, {{64, 64}}}, + /* 12 */ {{EM_MOV_R1_IBR_R3}, {{64, 64}}}, + /* 13 */ {{EM_MOV_R1_PKR_R3}, {{64, 64}}}, + /* 14 */ {{EM_MOV_R1_PMC_R3}, {{64, 64}}}, + /* 15 */ {{EM_MOV_R1_PMD_R3}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_MOV_R1_CPUID_R3}, {{64, 64}}}, + /* 18 */ {{EM_PROBE_R_R1_R3_IMM2}, {{64, 64}}}, + /* 19 */ {{EM_PROBE_W_R1_R3_IMM2}, {{64, 64}}}, + /* 1A */ {{EM_THASH_R1_R3}, {{64, 64}}}, + /* 1B */ {{EM_TTAG_R1_R3}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_TPA_R1_R3}, {{64, 64}}}, + /* 1F */ {{EM_TAK_R1_R3}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_MOV_R1_PSR_UM}, {{64, 64}}}, + /* 22 */ {{EM_MOV_M_R1_AR3}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_MOV_R1_CR3}, {{64, 64}}}, + /* 25 */ {{EM_MOV_R1_PSR}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_MOV_PSR_UM_R2}, {{64, 64}}}, + /* 2A */ {{EM_MOV_M_AR3_R2}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_MOV_CR3_R2}, {{64, 64}}}, + /* 2D */ {{EM_MOV_PSR_L_R2}, {{64, 64}}}, + /* 2E */ {{EM_ITC_D_R2}, {{64, 64}}}, + /* 2F */ {{EM_ITC_I_R2}, {{64, 64}}}, + /* 30 */ {{EM_FC_R3}, {{64, 64}}}, + /* 31 */ {{EM_PROBE_RW_FAULT_R3_IMM2}, {{64, 64}}}, + /* 32 */ {{EM_PROBE_R_FAULT_R3_IMM2}, {{64, 64}}}, + /* 33 */ {{EM_PROBE_W_FAULT_R3_IMM2}, {{64, 64}}}, + /* 34 */ {{EM_PTC_E_R3}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_PROBE_R_R1_R3_R2}, {{64, 64}}}, + /* 39 */ {{EM_PROBE_W_R1_R3_R2}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_MOV_RR_R3_R2}, {{64, 64}}}, + /* 41 */ {{EM_MOV_DBR_R3_R2}, {{64, 64}}}, + /* 42 */ {{EM_MOV_IBR_R3_R2}, {{64, 64}}}, + /* 43 */ {{EM_MOV_PKR_R3_R2}, {{64, 64}}}, + /* 44 */ {{EM_MOV_PMC_R3_R2}, {{64, 64}}}, + /* 45 */ {{EM_MOV_PMD_R3_R2}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_PTC_L_R3_R2}, {{64, 64}}}, + /* 4A */ {{EM_PTC_G_R3_R2}, {{64, 64}}}, + /* 4B */ {{EM_PTC_GA_R3_R2}, {{64, 64}}}, + /* 4C */ {{EM_PTR_D_R3_R2}, {{64, 64}}}, + /* 4D */ {{EM_PTR_I_R3_R2}, {{64, 64}}}, + /* 4E */ {{EM_ITR_D_DTR_R3_R2}, {{64, 64}}}, + /* 4F */ {{EM_ITR_I_ITR_R3_R2}, {{64, 64}}}, + /* 50 */ {{EM_MOV_R1_RR_R3}, {{64, 64}}}, + /* 51 */ {{EM_MOV_R1_DBR_R3}, {{64, 64}}}, + /* 52 */ {{EM_MOV_R1_IBR_R3}, {{64, 64}}}, + /* 53 */ {{EM_MOV_R1_PKR_R3}, {{64, 64}}}, + /* 54 */ {{EM_MOV_R1_PMC_R3}, {{64, 64}}}, + /* 55 */ {{EM_MOV_R1_PMD_R3}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_MOV_R1_CPUID_R3}, {{64, 64}}}, + /* 58 */ {{EM_PROBE_R_R1_R3_IMM2}, {{64, 64}}}, + /* 59 */ {{EM_PROBE_W_R1_R3_IMM2}, {{64, 64}}}, + /* 5A */ {{EM_THASH_R1_R3}, {{64, 64}}}, + /* 5B */ {{EM_TTAG_R1_R3}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_TPA_R1_R3}, {{64, 64}}}, + /* 5F */ {{EM_TAK_R1_R3}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_MOV_R1_PSR_UM}, {{64, 64}}}, + /* 62 */ {{EM_MOV_M_R1_AR3}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_MOV_R1_CR3}, {{64, 64}}}, + /* 65 */ {{EM_MOV_R1_PSR}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_MOV_PSR_UM_R2}, {{64, 64}}}, + /* 6A */ {{EM_MOV_M_AR3_R2}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_MOV_CR3_R2}, {{64, 64}}}, + /* 6D */ {{EM_MOV_PSR_L_R2}, {{64, 64}}}, + /* 6E */ {{EM_ITC_D_R2}, {{64, 64}}}, + /* 6F */ {{EM_ITC_I_R2}, {{64, 64}}}, + /* 70 */ {{EM_FC_I_R3}, {{64, 64}}}, + /* 71 */ {{EM_PROBE_RW_FAULT_R3_IMM2}, {{64, 64}}}, + /* 72 */ {{EM_PROBE_R_FAULT_R3_IMM2}, {{64, 64}}}, + /* 73 */ {{EM_PROBE_W_FAULT_R3_IMM2}, {{64, 64}}}, + /* 74 */ {{EM_PTC_E_R3}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_PROBE_R_R1_R3_R2}, {{64, 64}}}, + /* 79 */ {{EM_PROBE_W_R1_R3_R2}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM1_1 1544 /* 1544 - 1551 [8] */ + /* 0 */ {{opM1_0}, {{27, 63}, {31, 58}, {64, 64}}}, + /* 1 */ {{EM_CHK_S_M_R2_TARGET25}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_CHK_S_F2_TARGET25}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ALLOC_R1_AR_PFS_I_L_O_R}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM4_0 1552 /* 1552 - 2063 [512] */ + /* 0 */ {{EM_LD1_R1_R3}, {{64, 64}}}, + /* 1 */ {{EM_CMPXCHG1_ACQ_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 2 */ {{EM_LD1_NT1_R1_R3}, {{64, 64}}}, + /* 3 */ {{EM_CMPXCHG1_ACQ_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 4 */ {{EM_LD1_LDHINT2_R1_R3}, {{64, 64}}}, + /* 5 */ {{EM_CMPXCHG1_ACQ_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 6 */ {{EM_LD1_NTA_R1_R3}, {{64, 64}}}, + /* 7 */ {{EM_CMPXCHG1_ACQ_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 8 */ {{EM_LD2_R1_R3}, {{64, 64}}}, + /* 9 */ {{EM_CMPXCHG2_ACQ_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* A */ {{EM_LD2_NT1_R1_R3}, {{64, 64}}}, + /* B */ {{EM_CMPXCHG2_ACQ_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* C */ {{EM_LD2_LDHINT2_R1_R3}, {{64, 64}}}, + /* D */ {{EM_CMPXCHG2_ACQ_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* E */ {{EM_LD2_NTA_R1_R3}, {{64, 64}}}, + /* F */ {{EM_CMPXCHG2_ACQ_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 10 */ {{EM_LD4_R1_R3}, {{64, 64}}}, + /* 11 */ {{EM_CMPXCHG4_ACQ_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 12 */ {{EM_LD4_NT1_R1_R3}, {{64, 64}}}, + /* 13 */ {{EM_CMPXCHG4_ACQ_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 14 */ {{EM_LD4_LDHINT2_R1_R3}, {{64, 64}}}, + /* 15 */ {{EM_CMPXCHG4_ACQ_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 16 */ {{EM_LD4_NTA_R1_R3}, {{64, 64}}}, + /* 17 */ {{EM_CMPXCHG4_ACQ_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 18 */ {{EM_LD8_R1_R3}, {{64, 64}}}, + /* 19 */ {{EM_CMPXCHG8_ACQ_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 1A */ {{EM_LD8_NT1_R1_R3}, {{64, 64}}}, + /* 1B */ {{EM_CMPXCHG8_ACQ_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 1C */ {{EM_LD8_LDHINT2_R1_R3}, {{64, 64}}}, + /* 1D */ {{EM_CMPXCHG8_ACQ_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 1E */ {{EM_LD8_NTA_R1_R3}, {{64, 64}}}, + /* 1F */ {{EM_CMPXCHG8_ACQ_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 20 */ {{EM_LD1_S_R1_R3}, {{64, 64}}}, + /* 21 */ {{EM_CMPXCHG1_REL_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 22 */ {{EM_LD1_S_NT1_R1_R3}, {{64, 64}}}, + /* 23 */ {{EM_CMPXCHG1_REL_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 24 */ {{EM_LD1_S_LDHINT2_R1_R3}, {{64, 64}}}, + /* 25 */ {{EM_CMPXCHG1_REL_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 26 */ {{EM_LD1_S_NTA_R1_R3}, {{64, 64}}}, + /* 27 */ {{EM_CMPXCHG1_REL_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 28 */ {{EM_LD2_S_R1_R3}, {{64, 64}}}, + /* 29 */ {{EM_CMPXCHG2_REL_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 2A */ {{EM_LD2_S_NT1_R1_R3}, {{64, 64}}}, + /* 2B */ {{EM_CMPXCHG2_REL_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 2C */ {{EM_LD2_S_LDHINT2_R1_R3}, {{64, 64}}}, + /* 2D */ {{EM_CMPXCHG2_REL_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 2E */ {{EM_LD2_S_NTA_R1_R3}, {{64, 64}}}, + /* 2F */ {{EM_CMPXCHG2_REL_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 30 */ {{EM_LD4_S_R1_R3}, {{64, 64}}}, + /* 31 */ {{EM_CMPXCHG4_REL_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 32 */ {{EM_LD4_S_NT1_R1_R3}, {{64, 64}}}, + /* 33 */ {{EM_CMPXCHG4_REL_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 34 */ {{EM_LD4_S_LDHINT2_R1_R3}, {{64, 64}}}, + /* 35 */ {{EM_CMPXCHG4_REL_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 36 */ {{EM_LD4_S_NTA_R1_R3}, {{64, 64}}}, + /* 37 */ {{EM_CMPXCHG4_REL_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 38 */ {{EM_LD8_S_R1_R3}, {{64, 64}}}, + /* 39 */ {{EM_CMPXCHG8_REL_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 3A */ {{EM_LD8_S_NT1_R1_R3}, {{64, 64}}}, + /* 3B */ {{EM_CMPXCHG8_REL_NT1_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 3C */ {{EM_LD8_S_LDHINT2_R1_R3}, {{64, 64}}}, + /* 3D */ {{EM_CMPXCHG8_REL_LDHINT2_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 3E */ {{EM_LD8_S_NTA_R1_R3}, {{64, 64}}}, + /* 3F */ {{EM_CMPXCHG8_REL_NTA_R1_R3_R2_AR_CCV}, {{64, 64}}}, + /* 40 */ {{EM_LD1_A_R1_R3}, {{64, 64}}}, + /* 41 */ {{EM_XCHG1_R1_R3_R2}, {{64, 64}}}, + /* 42 */ {{EM_LD1_A_NT1_R1_R3}, {{64, 64}}}, + /* 43 */ {{EM_XCHG1_NT1_R1_R3_R2}, {{64, 64}}}, + /* 44 */ {{EM_LD1_A_LDHINT2_R1_R3}, {{64, 64}}}, + /* 45 */ {{EM_XCHG1_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 46 */ {{EM_LD1_A_NTA_R1_R3}, {{64, 64}}}, + /* 47 */ {{EM_XCHG1_NTA_R1_R3_R2}, {{64, 64}}}, + /* 48 */ {{EM_LD2_A_R1_R3}, {{64, 64}}}, + /* 49 */ {{EM_XCHG2_R1_R3_R2}, {{64, 64}}}, + /* 4A */ {{EM_LD2_A_NT1_R1_R3}, {{64, 64}}}, + /* 4B */ {{EM_XCHG2_NT1_R1_R3_R2}, {{64, 64}}}, + /* 4C */ {{EM_LD2_A_LDHINT2_R1_R3}, {{64, 64}}}, + /* 4D */ {{EM_XCHG2_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 4E */ {{EM_LD2_A_NTA_R1_R3}, {{64, 64}}}, + /* 4F */ {{EM_XCHG2_NTA_R1_R3_R2}, {{64, 64}}}, + /* 50 */ {{EM_LD4_A_R1_R3}, {{64, 64}}}, + /* 51 */ {{EM_XCHG4_R1_R3_R2}, {{64, 64}}}, + /* 52 */ {{EM_LD4_A_NT1_R1_R3}, {{64, 64}}}, + /* 53 */ {{EM_XCHG4_NT1_R1_R3_R2}, {{64, 64}}}, + /* 54 */ {{EM_LD4_A_LDHINT2_R1_R3}, {{64, 64}}}, + /* 55 */ {{EM_XCHG4_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 56 */ {{EM_LD4_A_NTA_R1_R3}, {{64, 64}}}, + /* 57 */ {{EM_XCHG4_NTA_R1_R3_R2}, {{64, 64}}}, + /* 58 */ {{EM_LD8_A_R1_R3}, {{64, 64}}}, + /* 59 */ {{EM_XCHG8_R1_R3_R2}, {{64, 64}}}, + /* 5A */ {{EM_LD8_A_NT1_R1_R3}, {{64, 64}}}, + /* 5B */ {{EM_XCHG8_NT1_R1_R3_R2}, {{64, 64}}}, + /* 5C */ {{EM_LD8_A_LDHINT2_R1_R3}, {{64, 64}}}, + /* 5D */ {{EM_XCHG8_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 5E */ {{EM_LD8_A_NTA_R1_R3}, {{64, 64}}}, + /* 5F */ {{EM_XCHG8_NTA_R1_R3_R2}, {{64, 64}}}, + /* 60 */ {{EM_LD1_SA_R1_R3}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_LD1_SA_NT1_R1_R3}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_LD1_SA_LDHINT2_R1_R3}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_LD1_SA_NTA_R1_R3}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_LD2_SA_R1_R3}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_LD2_SA_NT1_R1_R3}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_LD2_SA_LDHINT2_R1_R3}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_LD2_SA_NTA_R1_R3}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_LD4_SA_R1_R3}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_LD4_SA_NT1_R1_R3}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_LD4_SA_LDHINT2_R1_R3}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_LD4_SA_NTA_R1_R3}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_LD8_SA_R1_R3}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_LD8_SA_NT1_R1_R3}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_LD8_SA_LDHINT2_R1_R3}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_LD8_SA_NTA_R1_R3}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_LD1_BIAS_R1_R3}, {{64, 64}}}, + /* 81 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 82 */ {{EM_LD1_BIAS_NT1_R1_R3}, {{64, 64}}}, + /* 83 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 84 */ {{EM_LD1_BIAS_LDHINT2_R1_R3}, {{64, 64}}}, + /* 85 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 86 */ {{EM_LD1_BIAS_NTA_R1_R3}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_LD2_BIAS_R1_R3}, {{64, 64}}}, + /* 89 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8A */ {{EM_LD2_BIAS_NT1_R1_R3}, {{64, 64}}}, + /* 8B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8C */ {{EM_LD2_BIAS_LDHINT2_R1_R3}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_LD2_BIAS_NTA_R1_R3}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_LD4_BIAS_R1_R3}, {{64, 64}}}, + /* 91 */ {{EM_FETCHADD4_ACQ_R1_R3_INC3}, {{64, 64}}}, + /* 92 */ {{EM_LD4_BIAS_NT1_R1_R3}, {{64, 64}}}, + /* 93 */ {{EM_FETCHADD4_ACQ_NT1_R1_R3_INC3}, {{64, 64}}}, + /* 94 */ {{EM_LD4_BIAS_LDHINT2_R1_R3}, {{64, 64}}}, + /* 95 */ {{EM_FETCHADD4_ACQ_LDHINT2_R1_R3_INC3}, {{64, 64}}}, + /* 96 */ {{EM_LD4_BIAS_NTA_R1_R3}, {{64, 64}}}, + /* 97 */ {{EM_FETCHADD4_ACQ_NTA_R1_R3_INC3}, {{64, 64}}}, + /* 98 */ {{EM_LD8_BIAS_R1_R3}, {{64, 64}}}, + /* 99 */ {{EM_FETCHADD8_ACQ_R1_R3_INC3}, {{64, 64}}}, + /* 9A */ {{EM_LD8_BIAS_NT1_R1_R3}, {{64, 64}}}, + /* 9B */ {{EM_FETCHADD8_ACQ_NT1_R1_R3_INC3}, {{64, 64}}}, + /* 9C */ {{EM_LD8_BIAS_LDHINT2_R1_R3}, {{64, 64}}}, + /* 9D */ {{EM_FETCHADD8_ACQ_LDHINT2_R1_R3_INC3}, {{64, 64}}}, + /* 9E */ {{EM_LD8_BIAS_NTA_R1_R3}, {{64, 64}}}, + /* 9F */ {{EM_FETCHADD8_ACQ_NTA_R1_R3_INC3}, {{64, 64}}}, + /* A0 */ {{EM_LD1_ACQ_R1_R3}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_LD1_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A4 */ {{EM_LD1_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A6 */ {{EM_LD1_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_LD2_ACQ_R1_R3}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_LD2_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_LD2_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AE */ {{EM_LD2_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B0 */ {{EM_LD4_ACQ_R1_R3}, {{64, 64}}}, + /* B1 */ {{EM_FETCHADD4_REL_R1_R3_INC3}, {{64, 64}}}, + /* B2 */ {{EM_LD4_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* B3 */ {{EM_FETCHADD4_REL_NT1_R1_R3_INC3}, {{64, 64}}}, + /* B4 */ {{EM_LD4_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* B5 */ {{EM_FETCHADD4_REL_LDHINT2_R1_R3_INC3}, {{64, 64}}}, + /* B6 */ {{EM_LD4_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* B7 */ {{EM_FETCHADD4_REL_NTA_R1_R3_INC3}, {{64, 64}}}, + /* B8 */ {{EM_LD8_ACQ_R1_R3}, {{64, 64}}}, + /* B9 */ {{EM_FETCHADD8_REL_R1_R3_INC3}, {{64, 64}}}, + /* BA */ {{EM_LD8_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* BB */ {{EM_FETCHADD8_REL_NT1_R1_R3_INC3}, {{64, 64}}}, + /* BC */ {{EM_LD8_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* BD */ {{EM_FETCHADD8_REL_LDHINT2_R1_R3_INC3}, {{64, 64}}}, + /* BE */ {{EM_LD8_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* BF */ {{EM_FETCHADD8_REL_NTA_R1_R3_INC3}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_LD8_FILL_R1_R3}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_LD8_FILL_NT1_R1_R3}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_LD8_FILL_LDHINT2_R1_R3}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_LD8_FILL_NTA_R1_R3}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_GETF_SIG_R1_F2}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_GETF_SIG_R1_F2}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_GETF_SIG_R1_F2}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_GETF_SIG_R1_F2}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_GETF_EXP_R1_F2}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_GETF_EXP_R1_F2}, {{64, 64}}}, + /* EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* ED */ {{EM_GETF_EXP_R1_F2}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_GETF_EXP_R1_F2}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_GETF_S_R1_F2}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_GETF_S_R1_F2}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_GETF_S_R1_F2}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_GETF_S_R1_F2}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_GETF_D_R1_F2}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_GETF_D_R1_F2}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_GETF_D_R1_F2}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_GETF_D_R1_F2}, {{64, 64}}}, + /* 100 */ {{EM_LD1_C_CLR_R1_R3}, {{64, 64}}}, + /* 101 */ {{EM_CMP8XCHG16_ACQ_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 102 */ {{EM_LD1_C_CLR_NT1_R1_R3}, {{64, 64}}}, + /* 103 */ {{EM_CMP8XCHG16_ACQ_NT1_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 104 */ {{EM_LD1_C_CLR_LDHINT2_R1_R3}, {{64, 64}}}, + /* 105 */ {{EM_CMP8XCHG16_ACQ_LDHINT2_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 106 */ {{EM_LD1_C_CLR_NTA_R1_R3}, {{64, 64}}}, + /* 107 */ {{EM_CMP8XCHG16_ACQ_NTA_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 108 */ {{EM_LD2_C_CLR_R1_R3}, {{64, 64}}}, + /* 109 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10A */ {{EM_LD2_C_CLR_NT1_R1_R3}, {{64, 64}}}, + /* 10B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10C */ {{EM_LD2_C_CLR_LDHINT2_R1_R3}, {{64, 64}}}, + /* 10D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10E */ {{EM_LD2_C_CLR_NTA_R1_R3}, {{64, 64}}}, + /* 10F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 110 */ {{EM_LD4_C_CLR_R1_R3}, {{64, 64}}}, + /* 111 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 112 */ {{EM_LD4_C_CLR_NT1_R1_R3}, {{64, 64}}}, + /* 113 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 114 */ {{EM_LD4_C_CLR_LDHINT2_R1_R3}, {{64, 64}}}, + /* 115 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 116 */ {{EM_LD4_C_CLR_NTA_R1_R3}, {{64, 64}}}, + /* 117 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 118 */ {{EM_LD8_C_CLR_R1_R3}, {{64, 64}}}, + /* 119 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11A */ {{EM_LD8_C_CLR_NT1_R1_R3}, {{64, 64}}}, + /* 11B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11C */ {{EM_LD8_C_CLR_LDHINT2_R1_R3}, {{64, 64}}}, + /* 11D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11E */ {{EM_LD8_C_CLR_NTA_R1_R3}, {{64, 64}}}, + /* 11F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 120 */ {{EM_LD1_C_NC_R1_R3}, {{64, 64}}}, + /* 121 */ {{EM_CMP8XCHG16_REL_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 122 */ {{EM_LD1_C_NC_NT1_R1_R3}, {{64, 64}}}, + /* 123 */ {{EM_CMP8XCHG16_REL_NT1_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 124 */ {{EM_LD1_C_NC_LDHINT2_R1_R3}, {{64, 64}}}, + /* 125 */ {{EM_CMP8XCHG16_REL_LDHINT2_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 126 */ {{EM_LD1_C_NC_NTA_R1_R3}, {{64, 64}}}, + /* 127 */ {{EM_CMP8XCHG16_REL_NTA_R1_R3_R2_AR_CSD_AR_CCV}, {{64, 64}}}, + /* 128 */ {{EM_LD2_C_NC_R1_R3}, {{64, 64}}}, + /* 129 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12A */ {{EM_LD2_C_NC_NT1_R1_R3}, {{64, 64}}}, + /* 12B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12C */ {{EM_LD2_C_NC_LDHINT2_R1_R3}, {{64, 64}}}, + /* 12D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12E */ {{EM_LD2_C_NC_NTA_R1_R3}, {{64, 64}}}, + /* 12F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 130 */ {{EM_LD4_C_NC_R1_R3}, {{64, 64}}}, + /* 131 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 132 */ {{EM_LD4_C_NC_NT1_R1_R3}, {{64, 64}}}, + /* 133 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 134 */ {{EM_LD4_C_NC_LDHINT2_R1_R3}, {{64, 64}}}, + /* 135 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 136 */ {{EM_LD4_C_NC_NTA_R1_R3}, {{64, 64}}}, + /* 137 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 138 */ {{EM_LD8_C_NC_R1_R3}, {{64, 64}}}, + /* 139 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13A */ {{EM_LD8_C_NC_NT1_R1_R3}, {{64, 64}}}, + /* 13B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13C */ {{EM_LD8_C_NC_LDHINT2_R1_R3}, {{64, 64}}}, + /* 13D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13E */ {{EM_LD8_C_NC_NTA_R1_R3}, {{64, 64}}}, + /* 13F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 140 */ {{EM_LD1_C_CLR_ACQ_R1_R3}, {{64, 64}}}, + /* 141 */ {{EM_LD16_R1_AR_CSD_R3}, {{64, 64}}}, + /* 142 */ {{EM_LD1_C_CLR_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* 143 */ {{EM_LD16_NT1_R1_AR_CSD_R3}, {{64, 64}}}, + /* 144 */ {{EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* 145 */ {{EM_LD16_LDHINT2_R1_AR_CSD_R3}, {{64, 64}}}, + /* 146 */ {{EM_LD1_C_CLR_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* 147 */ {{EM_LD16_NTA_R1_AR_CSD_R3}, {{64, 64}}}, + /* 148 */ {{EM_LD2_C_CLR_ACQ_R1_R3}, {{64, 64}}}, + /* 149 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14A */ {{EM_LD2_C_CLR_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* 14B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14C */ {{EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* 14D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14E */ {{EM_LD2_C_CLR_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* 14F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 150 */ {{EM_LD4_C_CLR_ACQ_R1_R3}, {{64, 64}}}, + /* 151 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 152 */ {{EM_LD4_C_CLR_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* 153 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 154 */ {{EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* 155 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 156 */ {{EM_LD4_C_CLR_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* 157 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 158 */ {{EM_LD8_C_CLR_ACQ_R1_R3}, {{64, 64}}}, + /* 159 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15A */ {{EM_LD8_C_CLR_ACQ_NT1_R1_R3}, {{64, 64}}}, + /* 15B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15C */ {{EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3}, {{64, 64}}}, + /* 15D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15E */ {{EM_LD8_C_CLR_ACQ_NTA_R1_R3}, {{64, 64}}}, + /* 15F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 160 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 161 */ {{EM_LD16_ACQ_R1_AR_CSD_R3}, {{64, 64}}}, + /* 162 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 163 */ {{EM_LD16_ACQ_NT1_R1_AR_CSD_R3}, {{64, 64}}}, + /* 164 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 165 */ {{EM_LD16_ACQ_LDHINT2_R1_AR_CSD_R3}, {{64, 64}}}, + /* 166 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 167 */ {{EM_LD16_ACQ_NTA_R1_AR_CSD_R3}, {{64, 64}}}, + /* 168 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 169 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 170 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 171 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 172 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 173 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 174 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 175 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 176 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 177 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 178 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 179 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 180 */ {{EM_ST1_R3_R2}, {{64, 64}}}, + /* 181 */ {{EM_ST16_R3_R2_AR_CSD}, {{64, 64}}}, + /* 182 */ {{EM_ST1_STHINT1_R3_R2}, {{64, 64}}}, + /* 183 */ {{EM_ST16_STHINT1_R3_R2_AR_CSD}, {{64, 64}}}, + /* 184 */ {{EM_ST1_STHINT2_R3_R2}, {{64, 64}}}, + /* 185 */ {{EM_ST16_STHINT2_R3_R2_AR_CSD}, {{64, 64}}}, + /* 186 */ {{EM_ST1_NTA_R3_R2}, {{64, 64}}}, + /* 187 */ {{EM_ST16_NTA_R3_R2_AR_CSD}, {{64, 64}}}, + /* 188 */ {{EM_ST2_R3_R2}, {{64, 64}}}, + /* 189 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18A */ {{EM_ST2_STHINT1_R3_R2}, {{64, 64}}}, + /* 18B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18C */ {{EM_ST2_STHINT2_R3_R2}, {{64, 64}}}, + /* 18D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18E */ {{EM_ST2_NTA_R3_R2}, {{64, 64}}}, + /* 18F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 190 */ {{EM_ST4_R3_R2}, {{64, 64}}}, + /* 191 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 192 */ {{EM_ST4_STHINT1_R3_R2}, {{64, 64}}}, + /* 193 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 194 */ {{EM_ST4_STHINT2_R3_R2}, {{64, 64}}}, + /* 195 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 196 */ {{EM_ST4_NTA_R3_R2}, {{64, 64}}}, + /* 197 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 198 */ {{EM_ST8_R3_R2}, {{64, 64}}}, + /* 199 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19A */ {{EM_ST8_STHINT1_R3_R2}, {{64, 64}}}, + /* 19B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19C */ {{EM_ST8_STHINT2_R3_R2}, {{64, 64}}}, + /* 19D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19E */ {{EM_ST8_NTA_R3_R2}, {{64, 64}}}, + /* 19F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A0 */ {{EM_ST1_REL_R3_R2}, {{64, 64}}}, + /* 1A1 */ {{EM_ST16_REL_R3_R2_AR_CSD}, {{64, 64}}}, + /* 1A2 */ {{EM_ST1_REL_STHINT1_R3_R2}, {{64, 64}}}, + /* 1A3 */ {{EM_ST16_REL_STHINT1_R3_R2_AR_CSD}, {{64, 64}}}, + /* 1A4 */ {{EM_ST1_REL_STHINT2_R3_R2}, {{64, 64}}}, + /* 1A5 */ {{EM_ST16_REL_STHINT2_R3_R2_AR_CSD}, {{64, 64}}}, + /* 1A6 */ {{EM_ST1_REL_NTA_R3_R2}, {{64, 64}}}, + /* 1A7 */ {{EM_ST16_REL_NTA_R3_R2_AR_CSD}, {{64, 64}}}, + /* 1A8 */ {{EM_ST2_REL_R3_R2}, {{64, 64}}}, + /* 1A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AA */ {{EM_ST2_REL_STHINT1_R3_R2}, {{64, 64}}}, + /* 1AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AC */ {{EM_ST2_REL_STHINT2_R3_R2}, {{64, 64}}}, + /* 1AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AE */ {{EM_ST2_REL_NTA_R3_R2}, {{64, 64}}}, + /* 1AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B0 */ {{EM_ST4_REL_R3_R2}, {{64, 64}}}, + /* 1B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B2 */ {{EM_ST4_REL_STHINT1_R3_R2}, {{64, 64}}}, + /* 1B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B4 */ {{EM_ST4_REL_STHINT2_R3_R2}, {{64, 64}}}, + /* 1B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B6 */ {{EM_ST4_REL_NTA_R3_R2}, {{64, 64}}}, + /* 1B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B8 */ {{EM_ST8_REL_R3_R2}, {{64, 64}}}, + /* 1B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BA */ {{EM_ST8_REL_STHINT1_R3_R2}, {{64, 64}}}, + /* 1BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BC */ {{EM_ST8_REL_STHINT2_R3_R2}, {{64, 64}}}, + /* 1BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BE */ {{EM_ST8_REL_NTA_R3_R2}, {{64, 64}}}, + /* 1BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D8 */ {{EM_ST8_SPILL_R3_R2}, {{64, 64}}}, + /* 1D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DA */ {{EM_ST8_SPILL_STHINT1_R3_R2}, {{64, 64}}}, + /* 1DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DC */ {{EM_ST8_SPILL_STHINT2_R3_R2}, {{64, 64}}}, + /* 1DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DE */ {{EM_ST8_SPILL_NTA_R3_R2}, {{64, 64}}}, + /* 1DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM4_1 2064 /* 2064 - 2319 [256] */ + /* 0 */ {{EM_LD1_R1_R3_R2}, {{64, 64}}}, + /* 1 */ {{EM_LD1_NT1_R1_R3_R2}, {{64, 64}}}, + /* 2 */ {{EM_LD1_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 3 */ {{EM_LD1_NTA_R1_R3_R2}, {{64, 64}}}, + /* 4 */ {{EM_LD2_R1_R3_R2}, {{64, 64}}}, + /* 5 */ {{EM_LD2_NT1_R1_R3_R2}, {{64, 64}}}, + /* 6 */ {{EM_LD2_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 7 */ {{EM_LD2_NTA_R1_R3_R2}, {{64, 64}}}, + /* 8 */ {{EM_LD4_R1_R3_R2}, {{64, 64}}}, + /* 9 */ {{EM_LD4_NT1_R1_R3_R2}, {{64, 64}}}, + /* A */ {{EM_LD4_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* B */ {{EM_LD4_NTA_R1_R3_R2}, {{64, 64}}}, + /* C */ {{EM_LD8_R1_R3_R2}, {{64, 64}}}, + /* D */ {{EM_LD8_NT1_R1_R3_R2}, {{64, 64}}}, + /* E */ {{EM_LD8_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* F */ {{EM_LD8_NTA_R1_R3_R2}, {{64, 64}}}, + /* 10 */ {{EM_LD1_S_R1_R3_R2}, {{64, 64}}}, + /* 11 */ {{EM_LD1_S_NT1_R1_R3_R2}, {{64, 64}}}, + /* 12 */ {{EM_LD1_S_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 13 */ {{EM_LD1_S_NTA_R1_R3_R2}, {{64, 64}}}, + /* 14 */ {{EM_LD2_S_R1_R3_R2}, {{64, 64}}}, + /* 15 */ {{EM_LD2_S_NT1_R1_R3_R2}, {{64, 64}}}, + /* 16 */ {{EM_LD2_S_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 17 */ {{EM_LD2_S_NTA_R1_R3_R2}, {{64, 64}}}, + /* 18 */ {{EM_LD4_S_R1_R3_R2}, {{64, 64}}}, + /* 19 */ {{EM_LD4_S_NT1_R1_R3_R2}, {{64, 64}}}, + /* 1A */ {{EM_LD4_S_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 1B */ {{EM_LD4_S_NTA_R1_R3_R2}, {{64, 64}}}, + /* 1C */ {{EM_LD8_S_R1_R3_R2}, {{64, 64}}}, + /* 1D */ {{EM_LD8_S_NT1_R1_R3_R2}, {{64, 64}}}, + /* 1E */ {{EM_LD8_S_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 1F */ {{EM_LD8_S_NTA_R1_R3_R2}, {{64, 64}}}, + /* 20 */ {{EM_LD1_A_R1_R3_R2}, {{64, 64}}}, + /* 21 */ {{EM_LD1_A_NT1_R1_R3_R2}, {{64, 64}}}, + /* 22 */ {{EM_LD1_A_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 23 */ {{EM_LD1_A_NTA_R1_R3_R2}, {{64, 64}}}, + /* 24 */ {{EM_LD2_A_R1_R3_R2}, {{64, 64}}}, + /* 25 */ {{EM_LD2_A_NT1_R1_R3_R2}, {{64, 64}}}, + /* 26 */ {{EM_LD2_A_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 27 */ {{EM_LD2_A_NTA_R1_R3_R2}, {{64, 64}}}, + /* 28 */ {{EM_LD4_A_R1_R3_R2}, {{64, 64}}}, + /* 29 */ {{EM_LD4_A_NT1_R1_R3_R2}, {{64, 64}}}, + /* 2A */ {{EM_LD4_A_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 2B */ {{EM_LD4_A_NTA_R1_R3_R2}, {{64, 64}}}, + /* 2C */ {{EM_LD8_A_R1_R3_R2}, {{64, 64}}}, + /* 2D */ {{EM_LD8_A_NT1_R1_R3_R2}, {{64, 64}}}, + /* 2E */ {{EM_LD8_A_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 2F */ {{EM_LD8_A_NTA_R1_R3_R2}, {{64, 64}}}, + /* 30 */ {{EM_LD1_SA_R1_R3_R2}, {{64, 64}}}, + /* 31 */ {{EM_LD1_SA_NT1_R1_R3_R2}, {{64, 64}}}, + /* 32 */ {{EM_LD1_SA_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 33 */ {{EM_LD1_SA_NTA_R1_R3_R2}, {{64, 64}}}, + /* 34 */ {{EM_LD2_SA_R1_R3_R2}, {{64, 64}}}, + /* 35 */ {{EM_LD2_SA_NT1_R1_R3_R2}, {{64, 64}}}, + /* 36 */ {{EM_LD2_SA_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 37 */ {{EM_LD2_SA_NTA_R1_R3_R2}, {{64, 64}}}, + /* 38 */ {{EM_LD4_SA_R1_R3_R2}, {{64, 64}}}, + /* 39 */ {{EM_LD4_SA_NT1_R1_R3_R2}, {{64, 64}}}, + /* 3A */ {{EM_LD4_SA_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 3B */ {{EM_LD4_SA_NTA_R1_R3_R2}, {{64, 64}}}, + /* 3C */ {{EM_LD8_SA_R1_R3_R2}, {{64, 64}}}, + /* 3D */ {{EM_LD8_SA_NT1_R1_R3_R2}, {{64, 64}}}, + /* 3E */ {{EM_LD8_SA_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 3F */ {{EM_LD8_SA_NTA_R1_R3_R2}, {{64, 64}}}, + /* 40 */ {{EM_LD1_BIAS_R1_R3_R2}, {{64, 64}}}, + /* 41 */ {{EM_LD1_BIAS_NT1_R1_R3_R2}, {{64, 64}}}, + /* 42 */ {{EM_LD1_BIAS_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 43 */ {{EM_LD1_BIAS_NTA_R1_R3_R2}, {{64, 64}}}, + /* 44 */ {{EM_LD2_BIAS_R1_R3_R2}, {{64, 64}}}, + /* 45 */ {{EM_LD2_BIAS_NT1_R1_R3_R2}, {{64, 64}}}, + /* 46 */ {{EM_LD2_BIAS_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 47 */ {{EM_LD2_BIAS_NTA_R1_R3_R2}, {{64, 64}}}, + /* 48 */ {{EM_LD4_BIAS_R1_R3_R2}, {{64, 64}}}, + /* 49 */ {{EM_LD4_BIAS_NT1_R1_R3_R2}, {{64, 64}}}, + /* 4A */ {{EM_LD4_BIAS_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 4B */ {{EM_LD4_BIAS_NTA_R1_R3_R2}, {{64, 64}}}, + /* 4C */ {{EM_LD8_BIAS_R1_R3_R2}, {{64, 64}}}, + /* 4D */ {{EM_LD8_BIAS_NT1_R1_R3_R2}, {{64, 64}}}, + /* 4E */ {{EM_LD8_BIAS_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 4F */ {{EM_LD8_BIAS_NTA_R1_R3_R2}, {{64, 64}}}, + /* 50 */ {{EM_LD1_ACQ_R1_R3_R2}, {{64, 64}}}, + /* 51 */ {{EM_LD1_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* 52 */ {{EM_LD1_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 53 */ {{EM_LD1_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* 54 */ {{EM_LD2_ACQ_R1_R3_R2}, {{64, 64}}}, + /* 55 */ {{EM_LD2_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* 56 */ {{EM_LD2_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 57 */ {{EM_LD2_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* 58 */ {{EM_LD4_ACQ_R1_R3_R2}, {{64, 64}}}, + /* 59 */ {{EM_LD4_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* 5A */ {{EM_LD4_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 5B */ {{EM_LD4_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* 5C */ {{EM_LD8_ACQ_R1_R3_R2}, {{64, 64}}}, + /* 5D */ {{EM_LD8_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* 5E */ {{EM_LD8_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 5F */ {{EM_LD8_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_LD8_FILL_R1_R3_R2}, {{64, 64}}}, + /* 6D */ {{EM_LD8_FILL_NT1_R1_R3_R2}, {{64, 64}}}, + /* 6E */ {{EM_LD8_FILL_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 6F */ {{EM_LD8_FILL_NTA_R1_R3_R2}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_LD1_C_CLR_R1_R3_R2}, {{64, 64}}}, + /* 81 */ {{EM_LD1_C_CLR_NT1_R1_R3_R2}, {{64, 64}}}, + /* 82 */ {{EM_LD1_C_CLR_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 83 */ {{EM_LD1_C_CLR_NTA_R1_R3_R2}, {{64, 64}}}, + /* 84 */ {{EM_LD2_C_CLR_R1_R3_R2}, {{64, 64}}}, + /* 85 */ {{EM_LD2_C_CLR_NT1_R1_R3_R2}, {{64, 64}}}, + /* 86 */ {{EM_LD2_C_CLR_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 87 */ {{EM_LD2_C_CLR_NTA_R1_R3_R2}, {{64, 64}}}, + /* 88 */ {{EM_LD4_C_CLR_R1_R3_R2}, {{64, 64}}}, + /* 89 */ {{EM_LD4_C_CLR_NT1_R1_R3_R2}, {{64, 64}}}, + /* 8A */ {{EM_LD4_C_CLR_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 8B */ {{EM_LD4_C_CLR_NTA_R1_R3_R2}, {{64, 64}}}, + /* 8C */ {{EM_LD8_C_CLR_R1_R3_R2}, {{64, 64}}}, + /* 8D */ {{EM_LD8_C_CLR_NT1_R1_R3_R2}, {{64, 64}}}, + /* 8E */ {{EM_LD8_C_CLR_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 8F */ {{EM_LD8_C_CLR_NTA_R1_R3_R2}, {{64, 64}}}, + /* 90 */ {{EM_LD1_C_NC_R1_R3_R2}, {{64, 64}}}, + /* 91 */ {{EM_LD1_C_NC_NT1_R1_R3_R2}, {{64, 64}}}, + /* 92 */ {{EM_LD1_C_NC_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 93 */ {{EM_LD1_C_NC_NTA_R1_R3_R2}, {{64, 64}}}, + /* 94 */ {{EM_LD2_C_NC_R1_R3_R2}, {{64, 64}}}, + /* 95 */ {{EM_LD2_C_NC_NT1_R1_R3_R2}, {{64, 64}}}, + /* 96 */ {{EM_LD2_C_NC_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 97 */ {{EM_LD2_C_NC_NTA_R1_R3_R2}, {{64, 64}}}, + /* 98 */ {{EM_LD4_C_NC_R1_R3_R2}, {{64, 64}}}, + /* 99 */ {{EM_LD4_C_NC_NT1_R1_R3_R2}, {{64, 64}}}, + /* 9A */ {{EM_LD4_C_NC_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 9B */ {{EM_LD4_C_NC_NTA_R1_R3_R2}, {{64, 64}}}, + /* 9C */ {{EM_LD8_C_NC_R1_R3_R2}, {{64, 64}}}, + /* 9D */ {{EM_LD8_C_NC_NT1_R1_R3_R2}, {{64, 64}}}, + /* 9E */ {{EM_LD8_C_NC_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* 9F */ {{EM_LD8_C_NC_NTA_R1_R3_R2}, {{64, 64}}}, + /* A0 */ {{EM_LD1_C_CLR_ACQ_R1_R3_R2}, {{64, 64}}}, + /* A1 */ {{EM_LD1_C_CLR_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* A2 */ {{EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* A3 */ {{EM_LD1_C_CLR_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* A4 */ {{EM_LD2_C_CLR_ACQ_R1_R3_R2}, {{64, 64}}}, + /* A5 */ {{EM_LD2_C_CLR_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* A6 */ {{EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* A7 */ {{EM_LD2_C_CLR_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* A8 */ {{EM_LD4_C_CLR_ACQ_R1_R3_R2}, {{64, 64}}}, + /* A9 */ {{EM_LD4_C_CLR_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* AA */ {{EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* AB */ {{EM_LD4_C_CLR_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* AC */ {{EM_LD8_C_CLR_ACQ_R1_R3_R2}, {{64, 64}}}, + /* AD */ {{EM_LD8_C_CLR_ACQ_NT1_R1_R3_R2}, {{64, 64}}}, + /* AE */ {{EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3_R2}, {{64, 64}}}, + /* AF */ {{EM_LD8_C_CLR_ACQ_NTA_R1_R3_R2}, {{64, 64}}}, + /* B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM4_2 2320 /* 2320 - 2321 [2] */ + /* 0 */ {{opM4_1}, {{28, 56}, {64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM4_3 2322 /* 2322 - 2323 [2] */ + /* 0 */ {{opM4_0}, {{28, 55}, {64, 64}}}, + /* 1 */ {{opM4_2}, {{36, 63}, {64, 64}}}, +#define opM5_0 2324 /* 2324 - 2579 [256] */ + /* 0 */ {{EM_LD1_R1_R3_IMM9}, {{64, 64}}}, + /* 1 */ {{EM_LD1_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 2 */ {{EM_LD1_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 3 */ {{EM_LD1_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 4 */ {{EM_LD2_R1_R3_IMM9}, {{64, 64}}}, + /* 5 */ {{EM_LD2_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 6 */ {{EM_LD2_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 7 */ {{EM_LD2_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 8 */ {{EM_LD4_R1_R3_IMM9}, {{64, 64}}}, + /* 9 */ {{EM_LD4_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* A */ {{EM_LD4_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* B */ {{EM_LD4_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* C */ {{EM_LD8_R1_R3_IMM9}, {{64, 64}}}, + /* D */ {{EM_LD8_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* E */ {{EM_LD8_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* F */ {{EM_LD8_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 10 */ {{EM_LD1_S_R1_R3_IMM9}, {{64, 64}}}, + /* 11 */ {{EM_LD1_S_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 12 */ {{EM_LD1_S_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 13 */ {{EM_LD1_S_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 14 */ {{EM_LD2_S_R1_R3_IMM9}, {{64, 64}}}, + /* 15 */ {{EM_LD2_S_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 16 */ {{EM_LD2_S_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 17 */ {{EM_LD2_S_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 18 */ {{EM_LD4_S_R1_R3_IMM9}, {{64, 64}}}, + /* 19 */ {{EM_LD4_S_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 1A */ {{EM_LD4_S_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 1B */ {{EM_LD4_S_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 1C */ {{EM_LD8_S_R1_R3_IMM9}, {{64, 64}}}, + /* 1D */ {{EM_LD8_S_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 1E */ {{EM_LD8_S_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 1F */ {{EM_LD8_S_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 20 */ {{EM_LD1_A_R1_R3_IMM9}, {{64, 64}}}, + /* 21 */ {{EM_LD1_A_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 22 */ {{EM_LD1_A_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 23 */ {{EM_LD1_A_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 24 */ {{EM_LD2_A_R1_R3_IMM9}, {{64, 64}}}, + /* 25 */ {{EM_LD2_A_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 26 */ {{EM_LD2_A_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 27 */ {{EM_LD2_A_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 28 */ {{EM_LD4_A_R1_R3_IMM9}, {{64, 64}}}, + /* 29 */ {{EM_LD4_A_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 2A */ {{EM_LD4_A_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 2B */ {{EM_LD4_A_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 2C */ {{EM_LD8_A_R1_R3_IMM9}, {{64, 64}}}, + /* 2D */ {{EM_LD8_A_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 2E */ {{EM_LD8_A_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 2F */ {{EM_LD8_A_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 30 */ {{EM_LD1_SA_R1_R3_IMM9}, {{64, 64}}}, + /* 31 */ {{EM_LD1_SA_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 32 */ {{EM_LD1_SA_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 33 */ {{EM_LD1_SA_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 34 */ {{EM_LD2_SA_R1_R3_IMM9}, {{64, 64}}}, + /* 35 */ {{EM_LD2_SA_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 36 */ {{EM_LD2_SA_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 37 */ {{EM_LD2_SA_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 38 */ {{EM_LD4_SA_R1_R3_IMM9}, {{64, 64}}}, + /* 39 */ {{EM_LD4_SA_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 3A */ {{EM_LD4_SA_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 3B */ {{EM_LD4_SA_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 3C */ {{EM_LD8_SA_R1_R3_IMM9}, {{64, 64}}}, + /* 3D */ {{EM_LD8_SA_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 3E */ {{EM_LD8_SA_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 3F */ {{EM_LD8_SA_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 40 */ {{EM_LD1_BIAS_R1_R3_IMM9}, {{64, 64}}}, + /* 41 */ {{EM_LD1_BIAS_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 42 */ {{EM_LD1_BIAS_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 43 */ {{EM_LD1_BIAS_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 44 */ {{EM_LD2_BIAS_R1_R3_IMM9}, {{64, 64}}}, + /* 45 */ {{EM_LD2_BIAS_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 46 */ {{EM_LD2_BIAS_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 47 */ {{EM_LD2_BIAS_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 48 */ {{EM_LD4_BIAS_R1_R3_IMM9}, {{64, 64}}}, + /* 49 */ {{EM_LD4_BIAS_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 4A */ {{EM_LD4_BIAS_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 4B */ {{EM_LD4_BIAS_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 4C */ {{EM_LD8_BIAS_R1_R3_IMM9}, {{64, 64}}}, + /* 4D */ {{EM_LD8_BIAS_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 4E */ {{EM_LD8_BIAS_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 4F */ {{EM_LD8_BIAS_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 50 */ {{EM_LD1_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* 51 */ {{EM_LD1_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 52 */ {{EM_LD1_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 53 */ {{EM_LD1_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 54 */ {{EM_LD2_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* 55 */ {{EM_LD2_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 56 */ {{EM_LD2_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 57 */ {{EM_LD2_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 58 */ {{EM_LD4_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* 59 */ {{EM_LD4_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 5A */ {{EM_LD4_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 5B */ {{EM_LD4_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 5C */ {{EM_LD8_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* 5D */ {{EM_LD8_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 5E */ {{EM_LD8_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 5F */ {{EM_LD8_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_LD8_FILL_R1_R3_IMM9}, {{64, 64}}}, + /* 6D */ {{EM_LD8_FILL_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 6E */ {{EM_LD8_FILL_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 6F */ {{EM_LD8_FILL_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_LD1_C_CLR_R1_R3_IMM9}, {{64, 64}}}, + /* 81 */ {{EM_LD1_C_CLR_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 82 */ {{EM_LD1_C_CLR_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 83 */ {{EM_LD1_C_CLR_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 84 */ {{EM_LD2_C_CLR_R1_R3_IMM9}, {{64, 64}}}, + /* 85 */ {{EM_LD2_C_CLR_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 86 */ {{EM_LD2_C_CLR_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 87 */ {{EM_LD2_C_CLR_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 88 */ {{EM_LD4_C_CLR_R1_R3_IMM9}, {{64, 64}}}, + /* 89 */ {{EM_LD4_C_CLR_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 8A */ {{EM_LD4_C_CLR_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 8B */ {{EM_LD4_C_CLR_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 8C */ {{EM_LD8_C_CLR_R1_R3_IMM9}, {{64, 64}}}, + /* 8D */ {{EM_LD8_C_CLR_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 8E */ {{EM_LD8_C_CLR_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 8F */ {{EM_LD8_C_CLR_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 90 */ {{EM_LD1_C_NC_R1_R3_IMM9}, {{64, 64}}}, + /* 91 */ {{EM_LD1_C_NC_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 92 */ {{EM_LD1_C_NC_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 93 */ {{EM_LD1_C_NC_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 94 */ {{EM_LD2_C_NC_R1_R3_IMM9}, {{64, 64}}}, + /* 95 */ {{EM_LD2_C_NC_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 96 */ {{EM_LD2_C_NC_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 97 */ {{EM_LD2_C_NC_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 98 */ {{EM_LD4_C_NC_R1_R3_IMM9}, {{64, 64}}}, + /* 99 */ {{EM_LD4_C_NC_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 9A */ {{EM_LD4_C_NC_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 9B */ {{EM_LD4_C_NC_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* 9C */ {{EM_LD8_C_NC_R1_R3_IMM9}, {{64, 64}}}, + /* 9D */ {{EM_LD8_C_NC_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* 9E */ {{EM_LD8_C_NC_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* 9F */ {{EM_LD8_C_NC_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* A0 */ {{EM_LD1_C_CLR_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* A1 */ {{EM_LD1_C_CLR_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* A2 */ {{EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* A3 */ {{EM_LD1_C_CLR_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* A4 */ {{EM_LD2_C_CLR_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* A5 */ {{EM_LD2_C_CLR_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* A6 */ {{EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* A7 */ {{EM_LD2_C_CLR_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* A8 */ {{EM_LD4_C_CLR_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* A9 */ {{EM_LD4_C_CLR_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* AA */ {{EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* AB */ {{EM_LD4_C_CLR_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* AC */ {{EM_LD8_C_CLR_ACQ_R1_R3_IMM9}, {{64, 64}}}, + /* AD */ {{EM_LD8_C_CLR_ACQ_NT1_R1_R3_IMM9}, {{64, 64}}}, + /* AE */ {{EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3_IMM9}, {{64, 64}}}, + /* AF */ {{EM_LD8_C_CLR_ACQ_NTA_R1_R3_IMM9}, {{64, 64}}}, + /* B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ST1_R3_R2_IMM9}, {{64, 64}}}, + /* C1 */ {{EM_ST1_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* C2 */ {{EM_ST1_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* C3 */ {{EM_ST1_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* C4 */ {{EM_ST2_R3_R2_IMM9}, {{64, 64}}}, + /* C5 */ {{EM_ST2_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* C6 */ {{EM_ST2_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* C7 */ {{EM_ST2_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* C8 */ {{EM_ST4_R3_R2_IMM9}, {{64, 64}}}, + /* C9 */ {{EM_ST4_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* CA */ {{EM_ST4_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* CB */ {{EM_ST4_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* CC */ {{EM_ST8_R3_R2_IMM9}, {{64, 64}}}, + /* CD */ {{EM_ST8_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* CE */ {{EM_ST8_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* CF */ {{EM_ST8_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* D0 */ {{EM_ST1_REL_R3_R2_IMM9}, {{64, 64}}}, + /* D1 */ {{EM_ST1_REL_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* D2 */ {{EM_ST1_REL_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* D3 */ {{EM_ST1_REL_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* D4 */ {{EM_ST2_REL_R3_R2_IMM9}, {{64, 64}}}, + /* D5 */ {{EM_ST2_REL_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* D6 */ {{EM_ST2_REL_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* D7 */ {{EM_ST2_REL_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* D8 */ {{EM_ST4_REL_R3_R2_IMM9}, {{64, 64}}}, + /* D9 */ {{EM_ST4_REL_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* DA */ {{EM_ST4_REL_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* DB */ {{EM_ST4_REL_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* DC */ {{EM_ST8_REL_R3_R2_IMM9}, {{64, 64}}}, + /* DD */ {{EM_ST8_REL_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* DE */ {{EM_ST8_REL_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* DF */ {{EM_ST8_REL_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EC */ {{EM_ST8_SPILL_R3_R2_IMM9}, {{64, 64}}}, + /* ED */ {{EM_ST8_SPILL_STHINT1_R3_R2_IMM9}, {{64, 64}}}, + /* EE */ {{EM_ST8_SPILL_STHINT2_R3_R2_IMM9}, {{64, 64}}}, + /* EF */ {{EM_ST8_SPILL_NTA_R3_R2_IMM9}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM6_0 2580 /* 2580 - 3603 [1024] */ + /* 0 */ {{EM_LDFE_F1_R3}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_LDFE_NT1_F1_R3}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_LDFE_LDHINT2_F1_R3}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_LDFE_NTA_F1_R3}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_LDF8_F1_R3}, {{64, 64}}}, + /* 9 */ {{EM_LDFP8_F1_F2_R3}, {{64, 64}}}, + /* A */ {{EM_LDF8_NT1_F1_R3}, {{64, 64}}}, + /* B */ {{EM_LDFP8_NT1_F1_F2_R3}, {{64, 64}}}, + /* C */ {{EM_LDF8_LDHINT2_F1_R3}, {{64, 64}}}, + /* D */ {{EM_LDFP8_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* E */ {{EM_LDF8_NTA_F1_R3}, {{64, 64}}}, + /* F */ {{EM_LDFP8_NTA_F1_F2_R3}, {{64, 64}}}, + /* 10 */ {{EM_LDFS_F1_R3}, {{64, 64}}}, + /* 11 */ {{EM_LDFPS_F1_F2_R3}, {{64, 64}}}, + /* 12 */ {{EM_LDFS_NT1_F1_R3}, {{64, 64}}}, + /* 13 */ {{EM_LDFPS_NT1_F1_F2_R3}, {{64, 64}}}, + /* 14 */ {{EM_LDFS_LDHINT2_F1_R3}, {{64, 64}}}, + /* 15 */ {{EM_LDFPS_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 16 */ {{EM_LDFS_NTA_F1_R3}, {{64, 64}}}, + /* 17 */ {{EM_LDFPS_NTA_F1_F2_R3}, {{64, 64}}}, + /* 18 */ {{EM_LDFD_F1_R3}, {{64, 64}}}, + /* 19 */ {{EM_LDFPD_F1_F2_R3}, {{64, 64}}}, + /* 1A */ {{EM_LDFD_NT1_F1_R3}, {{64, 64}}}, + /* 1B */ {{EM_LDFPD_NT1_F1_F2_R3}, {{64, 64}}}, + /* 1C */ {{EM_LDFD_LDHINT2_F1_R3}, {{64, 64}}}, + /* 1D */ {{EM_LDFPD_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 1E */ {{EM_LDFD_NTA_F1_R3}, {{64, 64}}}, + /* 1F */ {{EM_LDFPD_NTA_F1_F2_R3}, {{64, 64}}}, + /* 20 */ {{EM_LDFE_S_F1_R3}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_LDFE_S_NT1_F1_R3}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_LDFE_S_LDHINT2_F1_R3}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 26 */ {{EM_LDFE_S_NTA_F1_R3}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_LDF8_S_F1_R3}, {{64, 64}}}, + /* 29 */ {{EM_LDFP8_S_F1_F2_R3}, {{64, 64}}}, + /* 2A */ {{EM_LDF8_S_NT1_F1_R3}, {{64, 64}}}, + /* 2B */ {{EM_LDFP8_S_NT1_F1_F2_R3}, {{64, 64}}}, + /* 2C */ {{EM_LDF8_S_LDHINT2_F1_R3}, {{64, 64}}}, + /* 2D */ {{EM_LDFP8_S_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 2E */ {{EM_LDF8_S_NTA_F1_R3}, {{64, 64}}}, + /* 2F */ {{EM_LDFP8_S_NTA_F1_F2_R3}, {{64, 64}}}, + /* 30 */ {{EM_LDFS_S_F1_R3}, {{64, 64}}}, + /* 31 */ {{EM_LDFPS_S_F1_F2_R3}, {{64, 64}}}, + /* 32 */ {{EM_LDFS_S_NT1_F1_R3}, {{64, 64}}}, + /* 33 */ {{EM_LDFPS_S_NT1_F1_F2_R3}, {{64, 64}}}, + /* 34 */ {{EM_LDFS_S_LDHINT2_F1_R3}, {{64, 64}}}, + /* 35 */ {{EM_LDFPS_S_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 36 */ {{EM_LDFS_S_NTA_F1_R3}, {{64, 64}}}, + /* 37 */ {{EM_LDFPS_S_NTA_F1_F2_R3}, {{64, 64}}}, + /* 38 */ {{EM_LDFD_S_F1_R3}, {{64, 64}}}, + /* 39 */ {{EM_LDFPD_S_F1_F2_R3}, {{64, 64}}}, + /* 3A */ {{EM_LDFD_S_NT1_F1_R3}, {{64, 64}}}, + /* 3B */ {{EM_LDFPD_S_NT1_F1_F2_R3}, {{64, 64}}}, + /* 3C */ {{EM_LDFD_S_LDHINT2_F1_R3}, {{64, 64}}}, + /* 3D */ {{EM_LDFPD_S_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 3E */ {{EM_LDFD_S_NTA_F1_R3}, {{64, 64}}}, + /* 3F */ {{EM_LDFPD_S_NTA_F1_F2_R3}, {{64, 64}}}, + /* 40 */ {{EM_LDFE_A_F1_R3}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_LDFE_A_NT1_F1_R3}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_LDFE_A_LDHINT2_F1_R3}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_LDFE_A_NTA_F1_R3}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_LDF8_A_F1_R3}, {{64, 64}}}, + /* 49 */ {{EM_LDFP8_A_F1_F2_R3}, {{64, 64}}}, + /* 4A */ {{EM_LDF8_A_NT1_F1_R3}, {{64, 64}}}, + /* 4B */ {{EM_LDFP8_A_NT1_F1_F2_R3}, {{64, 64}}}, + /* 4C */ {{EM_LDF8_A_LDHINT2_F1_R3}, {{64, 64}}}, + /* 4D */ {{EM_LDFP8_A_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 4E */ {{EM_LDF8_A_NTA_F1_R3}, {{64, 64}}}, + /* 4F */ {{EM_LDFP8_A_NTA_F1_F2_R3}, {{64, 64}}}, + /* 50 */ {{EM_LDFS_A_F1_R3}, {{64, 64}}}, + /* 51 */ {{EM_LDFPS_A_F1_F2_R3}, {{64, 64}}}, + /* 52 */ {{EM_LDFS_A_NT1_F1_R3}, {{64, 64}}}, + /* 53 */ {{EM_LDFPS_A_NT1_F1_F2_R3}, {{64, 64}}}, + /* 54 */ {{EM_LDFS_A_LDHINT2_F1_R3}, {{64, 64}}}, + /* 55 */ {{EM_LDFPS_A_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 56 */ {{EM_LDFS_A_NTA_F1_R3}, {{64, 64}}}, + /* 57 */ {{EM_LDFPS_A_NTA_F1_F2_R3}, {{64, 64}}}, + /* 58 */ {{EM_LDFD_A_F1_R3}, {{64, 64}}}, + /* 59 */ {{EM_LDFPD_A_F1_F2_R3}, {{64, 64}}}, + /* 5A */ {{EM_LDFD_A_NT1_F1_R3}, {{64, 64}}}, + /* 5B */ {{EM_LDFPD_A_NT1_F1_F2_R3}, {{64, 64}}}, + /* 5C */ {{EM_LDFD_A_LDHINT2_F1_R3}, {{64, 64}}}, + /* 5D */ {{EM_LDFPD_A_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 5E */ {{EM_LDFD_A_NTA_F1_R3}, {{64, 64}}}, + /* 5F */ {{EM_LDFPD_A_NTA_F1_F2_R3}, {{64, 64}}}, + /* 60 */ {{EM_LDFE_SA_F1_R3}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_LDFE_SA_NT1_F1_R3}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_LDFE_SA_LDHINT2_F1_R3}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_LDFE_SA_NTA_F1_R3}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_LDF8_SA_F1_R3}, {{64, 64}}}, + /* 69 */ {{EM_LDFP8_SA_F1_F2_R3}, {{64, 64}}}, + /* 6A */ {{EM_LDF8_SA_NT1_F1_R3}, {{64, 64}}}, + /* 6B */ {{EM_LDFP8_SA_NT1_F1_F2_R3}, {{64, 64}}}, + /* 6C */ {{EM_LDF8_SA_LDHINT2_F1_R3}, {{64, 64}}}, + /* 6D */ {{EM_LDFP8_SA_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 6E */ {{EM_LDF8_SA_NTA_F1_R3}, {{64, 64}}}, + /* 6F */ {{EM_LDFP8_SA_NTA_F1_F2_R3}, {{64, 64}}}, + /* 70 */ {{EM_LDFS_SA_F1_R3}, {{64, 64}}}, + /* 71 */ {{EM_LDFPS_SA_F1_F2_R3}, {{64, 64}}}, + /* 72 */ {{EM_LDFS_SA_NT1_F1_R3}, {{64, 64}}}, + /* 73 */ {{EM_LDFPS_SA_NT1_F1_F2_R3}, {{64, 64}}}, + /* 74 */ {{EM_LDFS_SA_LDHINT2_F1_R3}, {{64, 64}}}, + /* 75 */ {{EM_LDFPS_SA_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 76 */ {{EM_LDFS_SA_NTA_F1_R3}, {{64, 64}}}, + /* 77 */ {{EM_LDFPS_SA_NTA_F1_F2_R3}, {{64, 64}}}, + /* 78 */ {{EM_LDFD_SA_F1_R3}, {{64, 64}}}, + /* 79 */ {{EM_LDFPD_SA_F1_F2_R3}, {{64, 64}}}, + /* 7A */ {{EM_LDFD_SA_NT1_F1_R3}, {{64, 64}}}, + /* 7B */ {{EM_LDFPD_SA_NT1_F1_F2_R3}, {{64, 64}}}, + /* 7C */ {{EM_LDFD_SA_LDHINT2_F1_R3}, {{64, 64}}}, + /* 7D */ {{EM_LDFPD_SA_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 7E */ {{EM_LDFD_SA_NTA_F1_R3}, {{64, 64}}}, + /* 7F */ {{EM_LDFPD_SA_NTA_F1_F2_R3}, {{64, 64}}}, + /* 80 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 81 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 82 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 83 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 84 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 85 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 86 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 89 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 91 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 92 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 93 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 94 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 95 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 96 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 97 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 98 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 99 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_LDF_FILL_F1_R3}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_LDF_FILL_NT1_F1_R3}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_LDF_FILL_LDHINT2_F1_R3}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_LDF_FILL_NTA_F1_R3}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_SETF_SIG_F1_R2}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_SETF_SIG_F1_R2}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_SETF_SIG_F1_R2}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_SETF_SIG_F1_R2}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_SETF_EXP_F1_R2}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_SETF_EXP_F1_R2}, {{64, 64}}}, + /* EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* ED */ {{EM_SETF_EXP_F1_R2}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_SETF_EXP_F1_R2}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_SETF_S_F1_R2}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_SETF_S_F1_R2}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_SETF_S_F1_R2}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_SETF_S_F1_R2}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_SETF_D_F1_R2}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_SETF_D_F1_R2}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_SETF_D_F1_R2}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_SETF_D_F1_R2}, {{64, 64}}}, + /* 100 */ {{EM_LDFE_C_CLR_F1_R3}, {{64, 64}}}, + /* 101 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 102 */ {{EM_LDFE_C_CLR_NT1_F1_R3}, {{64, 64}}}, + /* 103 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 104 */ {{EM_LDFE_C_CLR_LDHINT2_F1_R3}, {{64, 64}}}, + /* 105 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 106 */ {{EM_LDFE_C_CLR_NTA_F1_R3}, {{64, 64}}}, + /* 107 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 108 */ {{EM_LDF8_C_CLR_F1_R3}, {{64, 64}}}, + /* 109 */ {{EM_LDFP8_C_CLR_F1_F2_R3}, {{64, 64}}}, + /* 10A */ {{EM_LDF8_C_CLR_NT1_F1_R3}, {{64, 64}}}, + /* 10B */ {{EM_LDFP8_C_CLR_NT1_F1_F2_R3}, {{64, 64}}}, + /* 10C */ {{EM_LDF8_C_CLR_LDHINT2_F1_R3}, {{64, 64}}}, + /* 10D */ {{EM_LDFP8_C_CLR_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 10E */ {{EM_LDF8_C_CLR_NTA_F1_R3}, {{64, 64}}}, + /* 10F */ {{EM_LDFP8_C_CLR_NTA_F1_F2_R3}, {{64, 64}}}, + /* 110 */ {{EM_LDFS_C_CLR_F1_R3}, {{64, 64}}}, + /* 111 */ {{EM_LDFPS_C_CLR_F1_F2_R3}, {{64, 64}}}, + /* 112 */ {{EM_LDFS_C_CLR_NT1_F1_R3}, {{64, 64}}}, + /* 113 */ {{EM_LDFPS_C_CLR_NT1_F1_F2_R3}, {{64, 64}}}, + /* 114 */ {{EM_LDFS_C_CLR_LDHINT2_F1_R3}, {{64, 64}}}, + /* 115 */ {{EM_LDFPS_C_CLR_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 116 */ {{EM_LDFS_C_CLR_NTA_F1_R3}, {{64, 64}}}, + /* 117 */ {{EM_LDFPS_C_CLR_NTA_F1_F2_R3}, {{64, 64}}}, + /* 118 */ {{EM_LDFD_C_CLR_F1_R3}, {{64, 64}}}, + /* 119 */ {{EM_LDFPD_C_CLR_F1_F2_R3}, {{64, 64}}}, + /* 11A */ {{EM_LDFD_C_CLR_NT1_F1_R3}, {{64, 64}}}, + /* 11B */ {{EM_LDFPD_C_CLR_NT1_F1_F2_R3}, {{64, 64}}}, + /* 11C */ {{EM_LDFD_C_CLR_LDHINT2_F1_R3}, {{64, 64}}}, + /* 11D */ {{EM_LDFPD_C_CLR_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 11E */ {{EM_LDFD_C_CLR_NTA_F1_R3}, {{64, 64}}}, + /* 11F */ {{EM_LDFPD_C_CLR_NTA_F1_F2_R3}, {{64, 64}}}, + /* 120 */ {{EM_LDFE_C_NC_F1_R3}, {{64, 64}}}, + /* 121 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 122 */ {{EM_LDFE_C_NC_NT1_F1_R3}, {{64, 64}}}, + /* 123 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 124 */ {{EM_LDFE_C_NC_LDHINT2_F1_R3}, {{64, 64}}}, + /* 125 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 126 */ {{EM_LDFE_C_NC_NTA_F1_R3}, {{64, 64}}}, + /* 127 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 128 */ {{EM_LDF8_C_NC_F1_R3}, {{64, 64}}}, + /* 129 */ {{EM_LDFP8_C_NC_F1_F2_R3}, {{64, 64}}}, + /* 12A */ {{EM_LDF8_C_NC_NT1_F1_R3}, {{64, 64}}}, + /* 12B */ {{EM_LDFP8_C_NC_NT1_F1_F2_R3}, {{64, 64}}}, + /* 12C */ {{EM_LDF8_C_NC_LDHINT2_F1_R3}, {{64, 64}}}, + /* 12D */ {{EM_LDFP8_C_NC_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 12E */ {{EM_LDF8_C_NC_NTA_F1_R3}, {{64, 64}}}, + /* 12F */ {{EM_LDFP8_C_NC_NTA_F1_F2_R3}, {{64, 64}}}, + /* 130 */ {{EM_LDFS_C_NC_F1_R3}, {{64, 64}}}, + /* 131 */ {{EM_LDFPS_C_NC_F1_F2_R3}, {{64, 64}}}, + /* 132 */ {{EM_LDFS_C_NC_NT1_F1_R3}, {{64, 64}}}, + /* 133 */ {{EM_LDFPS_C_NC_NT1_F1_F2_R3}, {{64, 64}}}, + /* 134 */ {{EM_LDFS_C_NC_LDHINT2_F1_R3}, {{64, 64}}}, + /* 135 */ {{EM_LDFPS_C_NC_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 136 */ {{EM_LDFS_C_NC_NTA_F1_R3}, {{64, 64}}}, + /* 137 */ {{EM_LDFPS_C_NC_NTA_F1_F2_R3}, {{64, 64}}}, + /* 138 */ {{EM_LDFD_C_NC_F1_R3}, {{64, 64}}}, + /* 139 */ {{EM_LDFPD_C_NC_F1_F2_R3}, {{64, 64}}}, + /* 13A */ {{EM_LDFD_C_NC_NT1_F1_R3}, {{64, 64}}}, + /* 13B */ {{EM_LDFPD_C_NC_NT1_F1_F2_R3}, {{64, 64}}}, + /* 13C */ {{EM_LDFD_C_NC_LDHINT2_F1_R3}, {{64, 64}}}, + /* 13D */ {{EM_LDFPD_C_NC_LDHINT2_F1_F2_R3}, {{64, 64}}}, + /* 13E */ {{EM_LDFD_C_NC_NTA_F1_R3}, {{64, 64}}}, + /* 13F */ {{EM_LDFPD_C_NC_NTA_F1_F2_R3}, {{64, 64}}}, + /* 140 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 141 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 142 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 143 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 144 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 145 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 146 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 147 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 148 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 149 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 150 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 151 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 152 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 153 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 154 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 155 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 156 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 157 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 158 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 159 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 160 */ {{EM_LFETCH_R3}, {{64, 64}}}, + /* 161 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 162 */ {{EM_LFETCH_NT1_R3}, {{64, 64}}}, + /* 163 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 164 */ {{EM_LFETCH_NT2_R3}, {{64, 64}}}, + /* 165 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 166 */ {{EM_LFETCH_NTA_R3}, {{64, 64}}}, + /* 167 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 168 */ {{EM_LFETCH_EXCL_R3}, {{64, 64}}}, + /* 169 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16A */ {{EM_LFETCH_EXCL_NT1_R3}, {{64, 64}}}, + /* 16B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16C */ {{EM_LFETCH_EXCL_NT2_R3}, {{64, 64}}}, + /* 16D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16E */ {{EM_LFETCH_EXCL_NTA_R3}, {{64, 64}}}, + /* 16F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 170 */ {{EM_LFETCH_FAULT_R3}, {{64, 64}}}, + /* 171 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 172 */ {{EM_LFETCH_FAULT_NT1_R3}, {{64, 64}}}, + /* 173 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 174 */ {{EM_LFETCH_FAULT_NT2_R3}, {{64, 64}}}, + /* 175 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 176 */ {{EM_LFETCH_FAULT_NTA_R3}, {{64, 64}}}, + /* 177 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 178 */ {{EM_LFETCH_FAULT_EXCL_R3}, {{64, 64}}}, + /* 179 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17A */ {{EM_LFETCH_FAULT_EXCL_NT1_R3}, {{64, 64}}}, + /* 17B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17C */ {{EM_LFETCH_FAULT_EXCL_NT2_R3}, {{64, 64}}}, + /* 17D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17E */ {{EM_LFETCH_FAULT_EXCL_NTA_R3}, {{64, 64}}}, + /* 17F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 180 */ {{EM_STFE_R3_F2}, {{64, 64}}}, + /* 181 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 182 */ {{EM_STFE_STHINT1_R3_F2}, {{64, 64}}}, + /* 183 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 184 */ {{EM_STFE_STHINT2_R3_F2}, {{64, 64}}}, + /* 185 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 186 */ {{EM_STFE_NTA_R3_F2}, {{64, 64}}}, + /* 187 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 188 */ {{EM_STF8_R3_F2}, {{64, 64}}}, + /* 189 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18A */ {{EM_STF8_STHINT1_R3_F2}, {{64, 64}}}, + /* 18B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18C */ {{EM_STF8_STHINT2_R3_F2}, {{64, 64}}}, + /* 18D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18E */ {{EM_STF8_NTA_R3_F2}, {{64, 64}}}, + /* 18F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 190 */ {{EM_STFS_R3_F2}, {{64, 64}}}, + /* 191 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 192 */ {{EM_STFS_STHINT1_R3_F2}, {{64, 64}}}, + /* 193 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 194 */ {{EM_STFS_STHINT2_R3_F2}, {{64, 64}}}, + /* 195 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 196 */ {{EM_STFS_NTA_R3_F2}, {{64, 64}}}, + /* 197 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 198 */ {{EM_STFD_R3_F2}, {{64, 64}}}, + /* 199 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19A */ {{EM_STFD_STHINT1_R3_F2}, {{64, 64}}}, + /* 19B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19C */ {{EM_STFD_STHINT2_R3_F2}, {{64, 64}}}, + /* 19D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19E */ {{EM_STFD_NTA_R3_F2}, {{64, 64}}}, + /* 19F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D8 */ {{EM_STF_SPILL_R3_F2}, {{64, 64}}}, + /* 1D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DA */ {{EM_STF_SPILL_STHINT1_R3_F2}, {{64, 64}}}, + /* 1DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DC */ {{EM_STF_SPILL_STHINT2_R3_F2}, {{64, 64}}}, + /* 1DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1DE */ {{EM_STF_SPILL_NTA_R3_F2}, {{64, 64}}}, + /* 1DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 200 */ {{EM_LDFE_F1_R3_R2}, {{64, 64}}}, + /* 201 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 202 */ {{EM_LDFE_NT1_F1_R3_R2}, {{64, 64}}}, + /* 203 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 204 */ {{EM_LDFE_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 205 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 206 */ {{EM_LDFE_NTA_F1_R3_R2}, {{64, 64}}}, + /* 207 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 208 */ {{EM_LDF8_F1_R3_R2}, {{64, 64}}}, + /* 209 */ {{EM_LDFP8_F1_F2_R3_16}, {{64, 64}}}, + /* 20A */ {{EM_LDF8_NT1_F1_R3_R2}, {{64, 64}}}, + /* 20B */ {{EM_LDFP8_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 20C */ {{EM_LDF8_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 20D */ {{EM_LDFP8_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 20E */ {{EM_LDF8_NTA_F1_R3_R2}, {{64, 64}}}, + /* 20F */ {{EM_LDFP8_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 210 */ {{EM_LDFS_F1_R3_R2}, {{64, 64}}}, + /* 211 */ {{EM_LDFPS_F1_F2_R3_8}, {{64, 64}}}, + /* 212 */ {{EM_LDFS_NT1_F1_R3_R2}, {{64, 64}}}, + /* 213 */ {{EM_LDFPS_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 214 */ {{EM_LDFS_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 215 */ {{EM_LDFPS_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 216 */ {{EM_LDFS_NTA_F1_R3_R2}, {{64, 64}}}, + /* 217 */ {{EM_LDFPS_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 218 */ {{EM_LDFD_F1_R3_R2}, {{64, 64}}}, + /* 219 */ {{EM_LDFPD_F1_F2_R3_16}, {{64, 64}}}, + /* 21A */ {{EM_LDFD_NT1_F1_R3_R2}, {{64, 64}}}, + /* 21B */ {{EM_LDFPD_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 21C */ {{EM_LDFD_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 21D */ {{EM_LDFPD_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 21E */ {{EM_LDFD_NTA_F1_R3_R2}, {{64, 64}}}, + /* 21F */ {{EM_LDFPD_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 220 */ {{EM_LDFE_S_F1_R3_R2}, {{64, 64}}}, + /* 221 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 222 */ {{EM_LDFE_S_NT1_F1_R3_R2}, {{64, 64}}}, + /* 223 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 224 */ {{EM_LDFE_S_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 225 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 226 */ {{EM_LDFE_S_NTA_F1_R3_R2}, {{64, 64}}}, + /* 227 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 228 */ {{EM_LDF8_S_F1_R3_R2}, {{64, 64}}}, + /* 229 */ {{EM_LDFP8_S_F1_F2_R3_16}, {{64, 64}}}, + /* 22A */ {{EM_LDF8_S_NT1_F1_R3_R2}, {{64, 64}}}, + /* 22B */ {{EM_LDFP8_S_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 22C */ {{EM_LDF8_S_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 22D */ {{EM_LDFP8_S_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 22E */ {{EM_LDF8_S_NTA_F1_R3_R2}, {{64, 64}}}, + /* 22F */ {{EM_LDFP8_S_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 230 */ {{EM_LDFS_S_F1_R3_R2}, {{64, 64}}}, + /* 231 */ {{EM_LDFPS_S_F1_F2_R3_8}, {{64, 64}}}, + /* 232 */ {{EM_LDFS_S_NT1_F1_R3_R2}, {{64, 64}}}, + /* 233 */ {{EM_LDFPS_S_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 234 */ {{EM_LDFS_S_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 235 */ {{EM_LDFPS_S_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 236 */ {{EM_LDFS_S_NTA_F1_R3_R2}, {{64, 64}}}, + /* 237 */ {{EM_LDFPS_S_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 238 */ {{EM_LDFD_S_F1_R3_R2}, {{64, 64}}}, + /* 239 */ {{EM_LDFPD_S_F1_F2_R3_16}, {{64, 64}}}, + /* 23A */ {{EM_LDFD_S_NT1_F1_R3_R2}, {{64, 64}}}, + /* 23B */ {{EM_LDFPD_S_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 23C */ {{EM_LDFD_S_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 23D */ {{EM_LDFPD_S_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 23E */ {{EM_LDFD_S_NTA_F1_R3_R2}, {{64, 64}}}, + /* 23F */ {{EM_LDFPD_S_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 240 */ {{EM_LDFE_A_F1_R3_R2}, {{64, 64}}}, + /* 241 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 242 */ {{EM_LDFE_A_NT1_F1_R3_R2}, {{64, 64}}}, + /* 243 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 244 */ {{EM_LDFE_A_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 245 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 246 */ {{EM_LDFE_A_NTA_F1_R3_R2}, {{64, 64}}}, + /* 247 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 248 */ {{EM_LDF8_A_F1_R3_R2}, {{64, 64}}}, + /* 249 */ {{EM_LDFP8_A_F1_F2_R3_16}, {{64, 64}}}, + /* 24A */ {{EM_LDF8_A_NT1_F1_R3_R2}, {{64, 64}}}, + /* 24B */ {{EM_LDFP8_A_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 24C */ {{EM_LDF8_A_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 24D */ {{EM_LDFP8_A_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 24E */ {{EM_LDF8_A_NTA_F1_R3_R2}, {{64, 64}}}, + /* 24F */ {{EM_LDFP8_A_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 250 */ {{EM_LDFS_A_F1_R3_R2}, {{64, 64}}}, + /* 251 */ {{EM_LDFPS_A_F1_F2_R3_8}, {{64, 64}}}, + /* 252 */ {{EM_LDFS_A_NT1_F1_R3_R2}, {{64, 64}}}, + /* 253 */ {{EM_LDFPS_A_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 254 */ {{EM_LDFS_A_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 255 */ {{EM_LDFPS_A_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 256 */ {{EM_LDFS_A_NTA_F1_R3_R2}, {{64, 64}}}, + /* 257 */ {{EM_LDFPS_A_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 258 */ {{EM_LDFD_A_F1_R3_R2}, {{64, 64}}}, + /* 259 */ {{EM_LDFPD_A_F1_F2_R3_16}, {{64, 64}}}, + /* 25A */ {{EM_LDFD_A_NT1_F1_R3_R2}, {{64, 64}}}, + /* 25B */ {{EM_LDFPD_A_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 25C */ {{EM_LDFD_A_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 25D */ {{EM_LDFPD_A_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 25E */ {{EM_LDFD_A_NTA_F1_R3_R2}, {{64, 64}}}, + /* 25F */ {{EM_LDFPD_A_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 260 */ {{EM_LDFE_SA_F1_R3_R2}, {{64, 64}}}, + /* 261 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 262 */ {{EM_LDFE_SA_NT1_F1_R3_R2}, {{64, 64}}}, + /* 263 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 264 */ {{EM_LDFE_SA_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 265 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 266 */ {{EM_LDFE_SA_NTA_F1_R3_R2}, {{64, 64}}}, + /* 267 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 268 */ {{EM_LDF8_SA_F1_R3_R2}, {{64, 64}}}, + /* 269 */ {{EM_LDFP8_SA_F1_F2_R3_16}, {{64, 64}}}, + /* 26A */ {{EM_LDF8_SA_NT1_F1_R3_R2}, {{64, 64}}}, + /* 26B */ {{EM_LDFP8_SA_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 26C */ {{EM_LDF8_SA_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 26D */ {{EM_LDFP8_SA_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 26E */ {{EM_LDF8_SA_NTA_F1_R3_R2}, {{64, 64}}}, + /* 26F */ {{EM_LDFP8_SA_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 270 */ {{EM_LDFS_SA_F1_R3_R2}, {{64, 64}}}, + /* 271 */ {{EM_LDFPS_SA_F1_F2_R3_8}, {{64, 64}}}, + /* 272 */ {{EM_LDFS_SA_NT1_F1_R3_R2}, {{64, 64}}}, + /* 273 */ {{EM_LDFPS_SA_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 274 */ {{EM_LDFS_SA_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 275 */ {{EM_LDFPS_SA_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 276 */ {{EM_LDFS_SA_NTA_F1_R3_R2}, {{64, 64}}}, + /* 277 */ {{EM_LDFPS_SA_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 278 */ {{EM_LDFD_SA_F1_R3_R2}, {{64, 64}}}, + /* 279 */ {{EM_LDFPD_SA_F1_F2_R3_16}, {{64, 64}}}, + /* 27A */ {{EM_LDFD_SA_NT1_F1_R3_R2}, {{64, 64}}}, + /* 27B */ {{EM_LDFPD_SA_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 27C */ {{EM_LDFD_SA_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 27D */ {{EM_LDFPD_SA_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 27E */ {{EM_LDFD_SA_NTA_F1_R3_R2}, {{64, 64}}}, + /* 27F */ {{EM_LDFPD_SA_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 280 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 281 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 282 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 283 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 284 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 285 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 286 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 287 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 288 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 289 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 290 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 291 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 292 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 293 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 294 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 295 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 296 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 297 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 298 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 299 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D8 */ {{EM_LDF_FILL_F1_R3_R2}, {{64, 64}}}, + /* 2D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2DA */ {{EM_LDF_FILL_NT1_F1_R3_R2}, {{64, 64}}}, + /* 2DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2DC */ {{EM_LDF_FILL_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 2DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2DE */ {{EM_LDF_FILL_NTA_F1_R3_R2}, {{64, 64}}}, + /* 2DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 300 */ {{EM_LDFE_C_CLR_F1_R3_R2}, {{64, 64}}}, + /* 301 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 302 */ {{EM_LDFE_C_CLR_NT1_F1_R3_R2}, {{64, 64}}}, + /* 303 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 304 */ {{EM_LDFE_C_CLR_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 305 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 306 */ {{EM_LDFE_C_CLR_NTA_F1_R3_R2}, {{64, 64}}}, + /* 307 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 308 */ {{EM_LDF8_C_CLR_F1_R3_R2}, {{64, 64}}}, + /* 309 */ {{EM_LDFP8_C_CLR_F1_F2_R3_16}, {{64, 64}}}, + /* 30A */ {{EM_LDF8_C_CLR_NT1_F1_R3_R2}, {{64, 64}}}, + /* 30B */ {{EM_LDFP8_C_CLR_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 30C */ {{EM_LDF8_C_CLR_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 30D */ {{EM_LDFP8_C_CLR_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 30E */ {{EM_LDF8_C_CLR_NTA_F1_R3_R2}, {{64, 64}}}, + /* 30F */ {{EM_LDFP8_C_CLR_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 310 */ {{EM_LDFS_C_CLR_F1_R3_R2}, {{64, 64}}}, + /* 311 */ {{EM_LDFPS_C_CLR_F1_F2_R3_8}, {{64, 64}}}, + /* 312 */ {{EM_LDFS_C_CLR_NT1_F1_R3_R2}, {{64, 64}}}, + /* 313 */ {{EM_LDFPS_C_CLR_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 314 */ {{EM_LDFS_C_CLR_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 315 */ {{EM_LDFPS_C_CLR_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 316 */ {{EM_LDFS_C_CLR_NTA_F1_R3_R2}, {{64, 64}}}, + /* 317 */ {{EM_LDFPS_C_CLR_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 318 */ {{EM_LDFD_C_CLR_F1_R3_R2}, {{64, 64}}}, + /* 319 */ {{EM_LDFPD_C_CLR_F1_F2_R3_16}, {{64, 64}}}, + /* 31A */ {{EM_LDFD_C_CLR_NT1_F1_R3_R2}, {{64, 64}}}, + /* 31B */ {{EM_LDFPD_C_CLR_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 31C */ {{EM_LDFD_C_CLR_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 31D */ {{EM_LDFPD_C_CLR_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 31E */ {{EM_LDFD_C_CLR_NTA_F1_R3_R2}, {{64, 64}}}, + /* 31F */ {{EM_LDFPD_C_CLR_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 320 */ {{EM_LDFE_C_NC_F1_R3_R2}, {{64, 64}}}, + /* 321 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 322 */ {{EM_LDFE_C_NC_NT1_F1_R3_R2}, {{64, 64}}}, + /* 323 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 324 */ {{EM_LDFE_C_NC_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 325 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 326 */ {{EM_LDFE_C_NC_NTA_F1_R3_R2}, {{64, 64}}}, + /* 327 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 328 */ {{EM_LDF8_C_NC_F1_R3_R2}, {{64, 64}}}, + /* 329 */ {{EM_LDFP8_C_NC_F1_F2_R3_16}, {{64, 64}}}, + /* 32A */ {{EM_LDF8_C_NC_NT1_F1_R3_R2}, {{64, 64}}}, + /* 32B */ {{EM_LDFP8_C_NC_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 32C */ {{EM_LDF8_C_NC_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 32D */ {{EM_LDFP8_C_NC_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 32E */ {{EM_LDF8_C_NC_NTA_F1_R3_R2}, {{64, 64}}}, + /* 32F */ {{EM_LDFP8_C_NC_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 330 */ {{EM_LDFS_C_NC_F1_R3_R2}, {{64, 64}}}, + /* 331 */ {{EM_LDFPS_C_NC_F1_F2_R3_8}, {{64, 64}}}, + /* 332 */ {{EM_LDFS_C_NC_NT1_F1_R3_R2}, {{64, 64}}}, + /* 333 */ {{EM_LDFPS_C_NC_NT1_F1_F2_R3_8}, {{64, 64}}}, + /* 334 */ {{EM_LDFS_C_NC_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 335 */ {{EM_LDFPS_C_NC_LDHINT2_F1_F2_R3_8}, {{64, 64}}}, + /* 336 */ {{EM_LDFS_C_NC_NTA_F1_R3_R2}, {{64, 64}}}, + /* 337 */ {{EM_LDFPS_C_NC_NTA_F1_F2_R3_8}, {{64, 64}}}, + /* 338 */ {{EM_LDFD_C_NC_F1_R3_R2}, {{64, 64}}}, + /* 339 */ {{EM_LDFPD_C_NC_F1_F2_R3_16}, {{64, 64}}}, + /* 33A */ {{EM_LDFD_C_NC_NT1_F1_R3_R2}, {{64, 64}}}, + /* 33B */ {{EM_LDFPD_C_NC_NT1_F1_F2_R3_16}, {{64, 64}}}, + /* 33C */ {{EM_LDFD_C_NC_LDHINT2_F1_R3_R2}, {{64, 64}}}, + /* 33D */ {{EM_LDFPD_C_NC_LDHINT2_F1_F2_R3_16}, {{64, 64}}}, + /* 33E */ {{EM_LDFD_C_NC_NTA_F1_R3_R2}, {{64, 64}}}, + /* 33F */ {{EM_LDFPD_C_NC_NTA_F1_F2_R3_16}, {{64, 64}}}, + /* 340 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 341 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 342 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 343 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 344 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 345 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 346 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 347 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 348 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 349 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 350 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 351 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 352 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 353 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 354 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 355 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 356 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 357 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 358 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 359 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 360 */ {{EM_LFETCH_R3_R2}, {{64, 64}}}, + /* 361 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 362 */ {{EM_LFETCH_NT1_R3_R2}, {{64, 64}}}, + /* 363 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 364 */ {{EM_LFETCH_NT2_R3_R2}, {{64, 64}}}, + /* 365 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 366 */ {{EM_LFETCH_NTA_R3_R2}, {{64, 64}}}, + /* 367 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 368 */ {{EM_LFETCH_EXCL_R3_R2}, {{64, 64}}}, + /* 369 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36A */ {{EM_LFETCH_EXCL_NT1_R3_R2}, {{64, 64}}}, + /* 36B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36C */ {{EM_LFETCH_EXCL_NT2_R3_R2}, {{64, 64}}}, + /* 36D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36E */ {{EM_LFETCH_EXCL_NTA_R3_R2}, {{64, 64}}}, + /* 36F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 370 */ {{EM_LFETCH_FAULT_R3_R2}, {{64, 64}}}, + /* 371 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 372 */ {{EM_LFETCH_FAULT_NT1_R3_R2}, {{64, 64}}}, + /* 373 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 374 */ {{EM_LFETCH_FAULT_NT2_R3_R2}, {{64, 64}}}, + /* 375 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 376 */ {{EM_LFETCH_FAULT_NTA_R3_R2}, {{64, 64}}}, + /* 377 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 378 */ {{EM_LFETCH_FAULT_EXCL_R3_R2}, {{64, 64}}}, + /* 379 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37A */ {{EM_LFETCH_FAULT_EXCL_NT1_R3_R2}, {{64, 64}}}, + /* 37B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37C */ {{EM_LFETCH_FAULT_EXCL_NT2_R3_R2}, {{64, 64}}}, + /* 37D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37E */ {{EM_LFETCH_FAULT_EXCL_NTA_R3_R2}, {{64, 64}}}, + /* 37F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 380 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 381 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 382 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 383 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 384 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 385 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 386 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 387 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 388 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 389 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 390 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 391 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 392 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 393 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 394 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 395 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 396 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 397 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 398 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 399 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3EC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3ED */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opM7_0 3604 /* 3604 - 3859 [256] */ + /* 0 */ {{EM_LDFE_F1_R3_IMM9}, {{64, 64}}}, + /* 1 */ {{EM_LDFE_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 2 */ {{EM_LDFE_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 3 */ {{EM_LDFE_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 4 */ {{EM_LDF8_F1_R3_IMM9}, {{64, 64}}}, + /* 5 */ {{EM_LDF8_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 6 */ {{EM_LDF8_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 7 */ {{EM_LDF8_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 8 */ {{EM_LDFS_F1_R3_IMM9}, {{64, 64}}}, + /* 9 */ {{EM_LDFS_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* A */ {{EM_LDFS_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* B */ {{EM_LDFS_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* C */ {{EM_LDFD_F1_R3_IMM9}, {{64, 64}}}, + /* D */ {{EM_LDFD_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* E */ {{EM_LDFD_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* F */ {{EM_LDFD_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 10 */ {{EM_LDFE_S_F1_R3_IMM9}, {{64, 64}}}, + /* 11 */ {{EM_LDFE_S_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 12 */ {{EM_LDFE_S_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 13 */ {{EM_LDFE_S_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 14 */ {{EM_LDF8_S_F1_R3_IMM9}, {{64, 64}}}, + /* 15 */ {{EM_LDF8_S_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 16 */ {{EM_LDF8_S_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 17 */ {{EM_LDF8_S_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 18 */ {{EM_LDFS_S_F1_R3_IMM9}, {{64, 64}}}, + /* 19 */ {{EM_LDFS_S_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 1A */ {{EM_LDFS_S_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 1B */ {{EM_LDFS_S_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 1C */ {{EM_LDFD_S_F1_R3_IMM9}, {{64, 64}}}, + /* 1D */ {{EM_LDFD_S_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 1E */ {{EM_LDFD_S_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 1F */ {{EM_LDFD_S_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 20 */ {{EM_LDFE_A_F1_R3_IMM9}, {{64, 64}}}, + /* 21 */ {{EM_LDFE_A_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 22 */ {{EM_LDFE_A_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 23 */ {{EM_LDFE_A_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 24 */ {{EM_LDF8_A_F1_R3_IMM9}, {{64, 64}}}, + /* 25 */ {{EM_LDF8_A_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 26 */ {{EM_LDF8_A_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 27 */ {{EM_LDF8_A_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 28 */ {{EM_LDFS_A_F1_R3_IMM9}, {{64, 64}}}, + /* 29 */ {{EM_LDFS_A_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 2A */ {{EM_LDFS_A_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 2B */ {{EM_LDFS_A_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 2C */ {{EM_LDFD_A_F1_R3_IMM9}, {{64, 64}}}, + /* 2D */ {{EM_LDFD_A_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 2E */ {{EM_LDFD_A_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 2F */ {{EM_LDFD_A_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 30 */ {{EM_LDFE_SA_F1_R3_IMM9}, {{64, 64}}}, + /* 31 */ {{EM_LDFE_SA_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 32 */ {{EM_LDFE_SA_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 33 */ {{EM_LDFE_SA_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 34 */ {{EM_LDF8_SA_F1_R3_IMM9}, {{64, 64}}}, + /* 35 */ {{EM_LDF8_SA_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 36 */ {{EM_LDF8_SA_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 37 */ {{EM_LDF8_SA_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 38 */ {{EM_LDFS_SA_F1_R3_IMM9}, {{64, 64}}}, + /* 39 */ {{EM_LDFS_SA_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 3A */ {{EM_LDFS_SA_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 3B */ {{EM_LDFS_SA_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 3C */ {{EM_LDFD_SA_F1_R3_IMM9}, {{64, 64}}}, + /* 3D */ {{EM_LDFD_SA_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 3E */ {{EM_LDFD_SA_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 3F */ {{EM_LDFD_SA_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_LDF_FILL_F1_R3_IMM9}, {{64, 64}}}, + /* 6D */ {{EM_LDF_FILL_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 6E */ {{EM_LDF_FILL_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 6F */ {{EM_LDF_FILL_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_LDFE_C_CLR_F1_R3_IMM9}, {{64, 64}}}, + /* 81 */ {{EM_LDFE_C_CLR_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 82 */ {{EM_LDFE_C_CLR_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 83 */ {{EM_LDFE_C_CLR_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 84 */ {{EM_LDF8_C_CLR_F1_R3_IMM9}, {{64, 64}}}, + /* 85 */ {{EM_LDF8_C_CLR_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 86 */ {{EM_LDF8_C_CLR_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 87 */ {{EM_LDF8_C_CLR_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 88 */ {{EM_LDFS_C_CLR_F1_R3_IMM9}, {{64, 64}}}, + /* 89 */ {{EM_LDFS_C_CLR_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 8A */ {{EM_LDFS_C_CLR_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 8B */ {{EM_LDFS_C_CLR_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 8C */ {{EM_LDFD_C_CLR_F1_R3_IMM9}, {{64, 64}}}, + /* 8D */ {{EM_LDFD_C_CLR_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 8E */ {{EM_LDFD_C_CLR_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 8F */ {{EM_LDFD_C_CLR_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 90 */ {{EM_LDFE_C_NC_F1_R3_IMM9}, {{64, 64}}}, + /* 91 */ {{EM_LDFE_C_NC_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 92 */ {{EM_LDFE_C_NC_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 93 */ {{EM_LDFE_C_NC_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 94 */ {{EM_LDF8_C_NC_F1_R3_IMM9}, {{64, 64}}}, + /* 95 */ {{EM_LDF8_C_NC_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 96 */ {{EM_LDF8_C_NC_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 97 */ {{EM_LDF8_C_NC_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 98 */ {{EM_LDFS_C_NC_F1_R3_IMM9}, {{64, 64}}}, + /* 99 */ {{EM_LDFS_C_NC_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 9A */ {{EM_LDFS_C_NC_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 9B */ {{EM_LDFS_C_NC_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* 9C */ {{EM_LDFD_C_NC_F1_R3_IMM9}, {{64, 64}}}, + /* 9D */ {{EM_LDFD_C_NC_NT1_F1_R3_IMM9}, {{64, 64}}}, + /* 9E */ {{EM_LDFD_C_NC_LDHINT2_F1_R3_IMM9}, {{64, 64}}}, + /* 9F */ {{EM_LDFD_C_NC_NTA_F1_R3_IMM9}, {{64, 64}}}, + /* A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B0 */ {{EM_LFETCH_R3_IMM9}, {{64, 64}}}, + /* B1 */ {{EM_LFETCH_NT1_R3_IMM9}, {{64, 64}}}, + /* B2 */ {{EM_LFETCH_NT2_R3_IMM9}, {{64, 64}}}, + /* B3 */ {{EM_LFETCH_NTA_R3_IMM9}, {{64, 64}}}, + /* B4 */ {{EM_LFETCH_EXCL_R3_IMM9}, {{64, 64}}}, + /* B5 */ {{EM_LFETCH_EXCL_NT1_R3_IMM9}, {{64, 64}}}, + /* B6 */ {{EM_LFETCH_EXCL_NT2_R3_IMM9}, {{64, 64}}}, + /* B7 */ {{EM_LFETCH_EXCL_NTA_R3_IMM9}, {{64, 64}}}, + /* B8 */ {{EM_LFETCH_FAULT_R3_IMM9}, {{64, 64}}}, + /* B9 */ {{EM_LFETCH_FAULT_NT1_R3_IMM9}, {{64, 64}}}, + /* BA */ {{EM_LFETCH_FAULT_NT2_R3_IMM9}, {{64, 64}}}, + /* BB */ {{EM_LFETCH_FAULT_NTA_R3_IMM9}, {{64, 64}}}, + /* BC */ {{EM_LFETCH_FAULT_EXCL_R3_IMM9}, {{64, 64}}}, + /* BD */ {{EM_LFETCH_FAULT_EXCL_NT1_R3_IMM9}, {{64, 64}}}, + /* BE */ {{EM_LFETCH_FAULT_EXCL_NT2_R3_IMM9}, {{64, 64}}}, + /* BF */ {{EM_LFETCH_FAULT_EXCL_NTA_R3_IMM9}, {{64, 64}}}, + /* C0 */ {{EM_STFE_R3_F2_IMM9}, {{64, 64}}}, + /* C1 */ {{EM_STFE_STHINT1_R3_F2_IMM9}, {{64, 64}}}, + /* C2 */ {{EM_STFE_STHINT2_R3_F2_IMM9}, {{64, 64}}}, + /* C3 */ {{EM_STFE_NTA_R3_F2_IMM9}, {{64, 64}}}, + /* C4 */ {{EM_STF8_R3_F2_IMM9}, {{64, 64}}}, + /* C5 */ {{EM_STF8_STHINT1_R3_F2_IMM9}, {{64, 64}}}, + /* C6 */ {{EM_STF8_STHINT2_R3_F2_IMM9}, {{64, 64}}}, + /* C7 */ {{EM_STF8_NTA_R3_F2_IMM9}, {{64, 64}}}, + /* C8 */ {{EM_STFS_R3_F2_IMM9}, {{64, 64}}}, + /* C9 */ {{EM_STFS_STHINT1_R3_F2_IMM9}, {{64, 64}}}, + /* CA */ {{EM_STFS_STHINT2_R3_F2_IMM9}, {{64, 64}}}, + /* CB */ {{EM_STFS_NTA_R3_F2_IMM9}, {{64, 64}}}, + /* CC */ {{EM_STFD_R3_F2_IMM9}, {{64, 64}}}, + /* CD */ {{EM_STFD_STHINT1_R3_F2_IMM9}, {{64, 64}}}, + /* CE */ {{EM_STFD_STHINT2_R3_F2_IMM9}, {{64, 64}}}, + /* CF */ {{EM_STFD_NTA_R3_F2_IMM9}, {{64, 64}}}, + /* D0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* DF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EC */ {{EM_STF_SPILL_R3_F2_IMM9}, {{64, 64}}}, + /* ED */ {{EM_STF_SPILL_STHINT1_R3_F2_IMM9}, {{64, 64}}}, + /* EE */ {{EM_STF_SPILL_STHINT2_R3_F2_IMM9}, {{64, 64}}}, + /* EF */ {{EM_STF_SPILL_NTA_R3_F2_IMM9}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opF0_0 3860 /* 3860 - 4371 [512] */ + /* 0 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 1 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 2 */ {{EM_NOP_F_IMM21}, {{64, 64}}}, + /* 3 */ {{EM_HINT_F_IMM21}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_FSETC_S0_AMASK7_OMASK7}, {{64, 64}}}, + /* 9 */ {{EM_FSETC_S0_AMASK7_OMASK7}, {{64, 64}}}, + /* A */ {{EM_FCLRF_S0}, {{64, 64}}}, + /* B */ {{EM_FCLRF_S0}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_FCHKF_S0_TARGET25}, {{64, 64}}}, + /* 11 */ {{EM_FCHKF_S0_TARGET25}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 21 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 22 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 23 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 24 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 25 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_FMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 29 */ {{EM_FMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 2A */ {{EM_FMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 2B */ {{EM_FMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 2C */ {{EM_FAMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 2D */ {{EM_FAMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 2E */ {{EM_FAMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 2F */ {{EM_FAMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 30 */ {{EM_FCVT_FX_S0_F1_F2}, {{64, 64}}}, + /* 31 */ {{EM_FCVT_FX_S0_F1_F2}, {{64, 64}}}, + /* 32 */ {{EM_FCVT_FXU_S0_F1_F2}, {{64, 64}}}, + /* 33 */ {{EM_FCVT_FXU_S0_F1_F2}, {{64, 64}}}, + /* 34 */ {{EM_FCVT_FX_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 35 */ {{EM_FCVT_FX_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 36 */ {{EM_FCVT_FXU_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 37 */ {{EM_FCVT_FXU_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 38 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 39 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 51 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 59 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 5A */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 5B */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 5C */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 5D */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 5E */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 5F */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 69 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 6A */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 6B */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 6C */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 6D */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 73 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 74 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 75 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 76 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 77 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 78 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 79 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 7A */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 7B */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 80 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 81 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 82 */ {{EM_NOP_F_IMM21}, {{64, 64}}}, + /* 83 */ {{EM_HINT_F_IMM21}, {{64, 64}}}, + /* 84 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 85 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 86 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_FSETC_S1_AMASK7_OMASK7}, {{64, 64}}}, + /* 89 */ {{EM_FSETC_S1_AMASK7_OMASK7}, {{64, 64}}}, + /* 8A */ {{EM_FCLRF_S1}, {{64, 64}}}, + /* 8B */ {{EM_FCLRF_S1}, {{64, 64}}}, + /* 8C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_FCHKF_S1_TARGET25}, {{64, 64}}}, + /* 91 */ {{EM_FCHKF_S1_TARGET25}, {{64, 64}}}, + /* 92 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 93 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 94 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 95 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 96 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 97 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 98 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 99 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A0 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* A1 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* A2 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* A3 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* A4 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* A5 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_FMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* A9 */ {{EM_FMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* AA */ {{EM_FMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* AB */ {{EM_FMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* AC */ {{EM_FAMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* AD */ {{EM_FAMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* AE */ {{EM_FAMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* AF */ {{EM_FAMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* B0 */ {{EM_FCVT_FX_S1_F1_F2}, {{64, 64}}}, + /* B1 */ {{EM_FCVT_FX_S1_F1_F2}, {{64, 64}}}, + /* B2 */ {{EM_FCVT_FXU_S1_F1_F2}, {{64, 64}}}, + /* B3 */ {{EM_FCVT_FXU_S1_F1_F2}, {{64, 64}}}, + /* B4 */ {{EM_FCVT_FX_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* B5 */ {{EM_FCVT_FX_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* B6 */ {{EM_FCVT_FXU_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* B7 */ {{EM_FCVT_FXU_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* B8 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* B9 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D0 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* D1 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D8 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* D9 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* DA */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* DB */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* DC */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* DD */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* DE */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* DF */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E8 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* E9 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* EA */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* EB */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* EC */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* ED */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F2 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* F3 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* F4 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* F5 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* F6 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* F7 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* F8 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* F9 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* FA */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* FB */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 100 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 101 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 102 */ {{EM_NOP_F_IMM21}, {{64, 64}}}, + /* 103 */ {{EM_HINT_F_IMM21}, {{64, 64}}}, + /* 104 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 105 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 106 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 107 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 108 */ {{EM_FSETC_S2_AMASK7_OMASK7}, {{64, 64}}}, + /* 109 */ {{EM_FSETC_S2_AMASK7_OMASK7}, {{64, 64}}}, + /* 10A */ {{EM_FCLRF_S2}, {{64, 64}}}, + /* 10B */ {{EM_FCLRF_S2}, {{64, 64}}}, + /* 10C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 110 */ {{EM_FCHKF_S2_TARGET25}, {{64, 64}}}, + /* 111 */ {{EM_FCHKF_S2_TARGET25}, {{64, 64}}}, + /* 112 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 113 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 114 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 115 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 116 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 117 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 118 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 119 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 120 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 121 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 122 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 123 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 124 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 125 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 126 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 127 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 128 */ {{EM_FMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 129 */ {{EM_FMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 12A */ {{EM_FMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 12B */ {{EM_FMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 12C */ {{EM_FAMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 12D */ {{EM_FAMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 12E */ {{EM_FAMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 12F */ {{EM_FAMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 130 */ {{EM_FCVT_FX_S2_F1_F2}, {{64, 64}}}, + /* 131 */ {{EM_FCVT_FX_S2_F1_F2}, {{64, 64}}}, + /* 132 */ {{EM_FCVT_FXU_S2_F1_F2}, {{64, 64}}}, + /* 133 */ {{EM_FCVT_FXU_S2_F1_F2}, {{64, 64}}}, + /* 134 */ {{EM_FCVT_FX_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 135 */ {{EM_FCVT_FX_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 136 */ {{EM_FCVT_FXU_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 137 */ {{EM_FCVT_FXU_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 138 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 139 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 13A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 140 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 141 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 142 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 143 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 144 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 145 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 146 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 147 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 148 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 149 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 150 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 151 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 152 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 153 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 154 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 155 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 156 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 157 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 158 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 159 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 15A */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 15B */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 15C */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 15D */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 15E */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 15F */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 160 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 161 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 162 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 163 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 164 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 165 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 166 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 167 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 168 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 169 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 16A */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 16B */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 16C */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 16D */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 16E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 170 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 171 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 172 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 173 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 174 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 175 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 176 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 177 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 178 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 179 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 17A */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 17B */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 17C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 180 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 181 */ {{EM_BREAK_F_IMM21}, {{64, 64}}}, + /* 182 */ {{EM_NOP_F_IMM21}, {{64, 64}}}, + /* 183 */ {{EM_HINT_F_IMM21}, {{64, 64}}}, + /* 184 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 185 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 186 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 187 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 188 */ {{EM_FSETC_S3_AMASK7_OMASK7}, {{64, 64}}}, + /* 189 */ {{EM_FSETC_S3_AMASK7_OMASK7}, {{64, 64}}}, + /* 18A */ {{EM_FCLRF_S3}, {{64, 64}}}, + /* 18B */ {{EM_FCLRF_S3}, {{64, 64}}}, + /* 18C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 190 */ {{EM_FCHKF_S3_TARGET25}, {{64, 64}}}, + /* 191 */ {{EM_FCHKF_S3_TARGET25}, {{64, 64}}}, + /* 192 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 193 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 194 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 195 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 196 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 197 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 198 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 199 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A0 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 1A1 */ {{EM_FMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 1A2 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 1A3 */ {{EM_FMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 1A4 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 1A5 */ {{EM_FMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 1A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A8 */ {{EM_FMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 1A9 */ {{EM_FMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AA */ {{EM_FMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AB */ {{EM_FMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AC */ {{EM_FAMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AD */ {{EM_FAMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AE */ {{EM_FAMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 1AF */ {{EM_FAMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B0 */ {{EM_FCVT_FX_S3_F1_F2}, {{64, 64}}}, + /* 1B1 */ {{EM_FCVT_FX_S3_F1_F2}, {{64, 64}}}, + /* 1B2 */ {{EM_FCVT_FXU_S3_F1_F2}, {{64, 64}}}, + /* 1B3 */ {{EM_FCVT_FXU_S3_F1_F2}, {{64, 64}}}, + /* 1B4 */ {{EM_FCVT_FX_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 1B5 */ {{EM_FCVT_FX_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 1B6 */ {{EM_FCVT_FXU_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 1B7 */ {{EM_FCVT_FXU_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 1B8 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 1B9 */ {{EM_FCVT_XF_F1_F2}, {{64, 64}}}, + /* 1BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1CF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D0 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 1D1 */ {{EM_FPACK_F1_F2_F3}, {{64, 64}}}, + /* 1D2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D8 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 1D9 */ {{EM_FAND_F1_F2_F3}, {{64, 64}}}, + /* 1DA */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 1DB */ {{EM_FANDCM_F1_F2_F3}, {{64, 64}}}, + /* 1DC */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 1DD */ {{EM_FOR_F1_F2_F3}, {{64, 64}}}, + /* 1DE */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 1DF */ {{EM_FXOR_F1_F2_F3}, {{64, 64}}}, + /* 1E0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E8 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 1E9 */ {{EM_FSWAP_F1_F2_F3}, {{64, 64}}}, + /* 1EA */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 1EB */ {{EM_FSWAP_NL_F1_F2_F3}, {{64, 64}}}, + /* 1EC */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 1ED */ {{EM_FSWAP_NR_F1_F2_F3}, {{64, 64}}}, + /* 1EE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1EF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F2 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 1F3 */ {{EM_FMIX_LR_F1_F2_F3}, {{64, 64}}}, + /* 1F4 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 1F5 */ {{EM_FMIX_R_F1_F2_F3}, {{64, 64}}}, + /* 1F6 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 1F7 */ {{EM_FMIX_L_F1_F2_F3}, {{64, 64}}}, + /* 1F8 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 1F9 */ {{EM_FSXT_R_F1_F2_F3}, {{64, 64}}}, + /* 1FA */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 1FB */ {{EM_FSXT_L_F1_F2_F3}, {{64, 64}}}, + /* 1FC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1FF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opF0_1 4372 /* 4372 - 4379 [8] */ + /* 0 */ {{EM_FRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 1 */ {{EM_FRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* 2 */ {{EM_FRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 3 */ {{EM_FRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 4 */ {{EM_FRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 5 */ {{EM_FRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 6 */ {{EM_FRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 7 */ {{EM_FRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, +#define opF0_2 4380 /* 4380 - 4381 [2] */ + /* 0 */ {{opF0_0}, {{28, 62}, {31, 57}, {64, 64}}}, + /* 1 */ {{opF0_1}, {{27, 61}, {64, 64}}}, +#define opF1_0 4382 /* 4382 - 5405 [1024] */ + /* 0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 11 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 12 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_FPMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 15 */ {{EM_FPMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 16 */ {{EM_FPAMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 17 */ {{EM_FPAMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 18 */ {{EM_FPCVT_FX_S0_F1_F2}, {{64, 64}}}, + /* 19 */ {{EM_FPCVT_FXU_S0_F1_F2}, {{64, 64}}}, + /* 1A */ {{EM_FPCVT_FX_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 1B */ {{EM_FPCVT_FXU_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30 */ {{EM_FPCMP_EQ_S0_F1_F2_F3}, {{64, 64}}}, + /* 31 */ {{EM_FPCMP_LT_S0_F1_F2_F3}, {{64, 64}}}, + /* 32 */ {{EM_FPCMP_LE_S0_F1_F2_F3}, {{64, 64}}}, + /* 33 */ {{EM_FPCMP_UNORD_S0_F1_F2_F3}, {{64, 64}}}, + /* 34 */ {{EM_FPCMP_NEQ_S0_F1_F2_F3}, {{64, 64}}}, + /* 35 */ {{EM_FPCMP_NLT_S0_F1_F2_F3}, {{64, 64}}}, + /* 36 */ {{EM_FPCMP_NLE_S0_F1_F2_F3}, {{64, 64}}}, + /* 37 */ {{EM_FPCMP_ORD_S0_F1_F2_F3}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 41 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 42 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 43 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 44 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 45 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 46 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 47 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 48 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 49 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4A */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4B */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4C */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4D */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4E */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 4F */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 50 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 51 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 52 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 53 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 54 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 55 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 56 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 57 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 58 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 59 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5A */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5B */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5C */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5D */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5E */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 5F */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 60 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 61 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 62 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 63 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 64 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 65 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 66 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 67 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 68 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 69 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6A */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6B */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6C */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6D */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6E */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 6F */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 70 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 71 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 72 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 73 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 74 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 75 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 76 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 77 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 78 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 79 */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7A */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7B */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7C */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7D */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7E */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 7F */ {{EM_FPRCPA_S0_F1_P2_F2_F3}, {{64, 64}}}, + /* 80 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 81 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 82 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 83 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 84 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 85 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 86 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 87 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 88 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 89 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 90 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 91 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 92 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 93 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 94 */ {{EM_FPMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* 95 */ {{EM_FPMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* 96 */ {{EM_FPAMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* 97 */ {{EM_FPAMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* 98 */ {{EM_FPCVT_FX_S1_F1_F2}, {{64, 64}}}, + /* 99 */ {{EM_FPCVT_FXU_S1_F1_F2}, {{64, 64}}}, + /* 9A */ {{EM_FPCVT_FX_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* 9B */ {{EM_FPCVT_FXU_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* 9C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B0 */ {{EM_FPCMP_EQ_S1_F1_F2_F3}, {{64, 64}}}, + /* B1 */ {{EM_FPCMP_LT_S1_F1_F2_F3}, {{64, 64}}}, + /* B2 */ {{EM_FPCMP_LE_S1_F1_F2_F3}, {{64, 64}}}, + /* B3 */ {{EM_FPCMP_UNORD_S1_F1_F2_F3}, {{64, 64}}}, + /* B4 */ {{EM_FPCMP_NEQ_S1_F1_F2_F3}, {{64, 64}}}, + /* B5 */ {{EM_FPCMP_NLT_S1_F1_F2_F3}, {{64, 64}}}, + /* B6 */ {{EM_FPCMP_NLE_S1_F1_F2_F3}, {{64, 64}}}, + /* B7 */ {{EM_FPCMP_ORD_S1_F1_F2_F3}, {{64, 64}}}, + /* B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C0 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C1 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C2 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C3 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C4 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C5 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C6 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C7 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C8 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* C9 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CA */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CB */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CC */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CD */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CE */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* CF */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D0 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D1 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D2 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D3 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D4 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D5 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D6 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D7 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D8 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* D9 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DA */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DB */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DC */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DD */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DE */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* DF */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E0 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E1 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E2 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E3 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E4 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E5 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E6 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E7 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E8 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* E9 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* EA */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* EB */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* EC */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* ED */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* EE */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* EF */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F0 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F1 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F2 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F3 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F4 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F5 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F6 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F7 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F8 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* F9 */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FA */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FB */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FC */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FD */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FE */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* FF */ {{EM_FPRCPA_S1_F1_P2_F2_F3}, {{64, 64}}}, + /* 100 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 101 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 102 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 103 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 104 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 105 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 106 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 107 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 108 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 109 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 110 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 111 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 112 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 113 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 114 */ {{EM_FPMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 115 */ {{EM_FPMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 116 */ {{EM_FPAMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 117 */ {{EM_FPAMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 118 */ {{EM_FPCVT_FX_S2_F1_F2}, {{64, 64}}}, + /* 119 */ {{EM_FPCVT_FXU_S2_F1_F2}, {{64, 64}}}, + /* 11A */ {{EM_FPCVT_FX_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 11B */ {{EM_FPCVT_FXU_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 11C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 120 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 121 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 122 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 123 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 124 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 125 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 126 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 127 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 128 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 129 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 130 */ {{EM_FPCMP_EQ_S2_F1_F2_F3}, {{64, 64}}}, + /* 131 */ {{EM_FPCMP_LT_S2_F1_F2_F3}, {{64, 64}}}, + /* 132 */ {{EM_FPCMP_LE_S2_F1_F2_F3}, {{64, 64}}}, + /* 133 */ {{EM_FPCMP_UNORD_S2_F1_F2_F3}, {{64, 64}}}, + /* 134 */ {{EM_FPCMP_NEQ_S2_F1_F2_F3}, {{64, 64}}}, + /* 135 */ {{EM_FPCMP_NLT_S2_F1_F2_F3}, {{64, 64}}}, + /* 136 */ {{EM_FPCMP_NLE_S2_F1_F2_F3}, {{64, 64}}}, + /* 137 */ {{EM_FPCMP_ORD_S2_F1_F2_F3}, {{64, 64}}}, + /* 138 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 139 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 140 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 141 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 142 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 143 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 144 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 145 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 146 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 147 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 148 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 149 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14A */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14B */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14C */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14D */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14E */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 14F */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 150 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 151 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 152 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 153 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 154 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 155 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 156 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 157 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 158 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 159 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15A */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15B */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15C */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15D */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15E */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 15F */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 160 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 161 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 162 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 163 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 164 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 165 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 166 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 167 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 168 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 169 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16A */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16B */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16C */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16D */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16E */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 16F */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 170 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 171 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 172 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 173 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 174 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 175 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 176 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 177 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 178 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 179 */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17A */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17B */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17C */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17D */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17E */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 17F */ {{EM_FPRCPA_S2_F1_P2_F2_F3}, {{64, 64}}}, + /* 180 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 181 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 182 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 183 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 184 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 185 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 186 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 187 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 188 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 189 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 190 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 191 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 192 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 193 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 194 */ {{EM_FPMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 195 */ {{EM_FPMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 196 */ {{EM_FPAMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 197 */ {{EM_FPAMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 198 */ {{EM_FPCVT_FX_S3_F1_F2}, {{64, 64}}}, + /* 199 */ {{EM_FPCVT_FXU_S3_F1_F2}, {{64, 64}}}, + /* 19A */ {{EM_FPCVT_FX_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 19B */ {{EM_FPCVT_FXU_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 19C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B0 */ {{EM_FPCMP_EQ_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B1 */ {{EM_FPCMP_LT_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B2 */ {{EM_FPCMP_LE_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B3 */ {{EM_FPCMP_UNORD_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B4 */ {{EM_FPCMP_NEQ_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B5 */ {{EM_FPCMP_NLT_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B6 */ {{EM_FPCMP_NLE_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B7 */ {{EM_FPCMP_ORD_S3_F1_F2_F3}, {{64, 64}}}, + /* 1B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C0 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C1 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C2 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C3 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C4 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C5 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C6 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C7 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C8 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1C9 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CA */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CB */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CC */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CD */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CE */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1CF */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D0 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D1 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D2 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D3 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D4 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D5 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D6 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D7 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D8 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1D9 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DA */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DB */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DC */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DD */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DE */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1DF */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E0 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E1 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E2 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E3 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E4 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E5 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E6 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E7 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E8 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1E9 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1EA */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1EB */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1EC */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1ED */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1EE */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1EF */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F0 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F1 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F2 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F3 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F4 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F5 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F6 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F7 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F8 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1F9 */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FA */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FB */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FC */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FD */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FE */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 1FF */ {{EM_FPRCPA_S3_F1_P2_F2_F3}, {{64, 64}}}, + /* 200 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 201 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 202 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 203 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 204 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 205 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 206 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 207 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 208 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 209 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 210 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 211 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 212 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 213 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 214 */ {{EM_FPMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 215 */ {{EM_FPMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 216 */ {{EM_FPAMIN_S0_F1_F2_F3}, {{64, 64}}}, + /* 217 */ {{EM_FPAMAX_S0_F1_F2_F3}, {{64, 64}}}, + /* 218 */ {{EM_FPCVT_FX_S0_F1_F2}, {{64, 64}}}, + /* 219 */ {{EM_FPCVT_FXU_S0_F1_F2}, {{64, 64}}}, + /* 21A */ {{EM_FPCVT_FX_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 21B */ {{EM_FPCVT_FXU_TRUNC_S0_F1_F2}, {{64, 64}}}, + /* 21C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 220 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 221 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 222 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 223 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 224 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 225 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 226 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 227 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 228 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 229 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 230 */ {{EM_FPCMP_EQ_S0_F1_F2_F3}, {{64, 64}}}, + /* 231 */ {{EM_FPCMP_LT_S0_F1_F2_F3}, {{64, 64}}}, + /* 232 */ {{EM_FPCMP_LE_S0_F1_F2_F3}, {{64, 64}}}, + /* 233 */ {{EM_FPCMP_UNORD_S0_F1_F2_F3}, {{64, 64}}}, + /* 234 */ {{EM_FPCMP_NEQ_S0_F1_F2_F3}, {{64, 64}}}, + /* 235 */ {{EM_FPCMP_NLT_S0_F1_F2_F3}, {{64, 64}}}, + /* 236 */ {{EM_FPCMP_NLE_S0_F1_F2_F3}, {{64, 64}}}, + /* 237 */ {{EM_FPCMP_ORD_S0_F1_F2_F3}, {{64, 64}}}, + /* 238 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 239 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 240 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 241 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 242 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 243 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 244 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 245 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 246 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 247 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 248 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 249 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24A */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24B */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24C */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24D */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24E */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 24F */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 250 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 251 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 252 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 253 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 254 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 255 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 256 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 257 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 258 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 259 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25A */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25B */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25C */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25D */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25E */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 25F */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 260 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 261 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 262 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 263 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 264 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 265 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 266 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 267 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 268 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 269 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26A */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26B */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26C */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26D */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26E */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 26F */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 270 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 271 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 272 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 273 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 274 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 275 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 276 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 277 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 278 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 279 */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27A */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27B */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27C */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27D */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27E */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 27F */ {{EM_FPRSQRTA_S0_F1_P2_F3}, {{64, 64}}}, + /* 280 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 281 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 282 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 283 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 284 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 285 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 286 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 287 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 288 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 289 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 290 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 291 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 292 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 293 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 294 */ {{EM_FPMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* 295 */ {{EM_FPMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* 296 */ {{EM_FPAMIN_S1_F1_F2_F3}, {{64, 64}}}, + /* 297 */ {{EM_FPAMAX_S1_F1_F2_F3}, {{64, 64}}}, + /* 298 */ {{EM_FPCVT_FX_S1_F1_F2}, {{64, 64}}}, + /* 299 */ {{EM_FPCVT_FXU_S1_F1_F2}, {{64, 64}}}, + /* 29A */ {{EM_FPCVT_FX_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* 29B */ {{EM_FPCVT_FXU_TRUNC_S1_F1_F2}, {{64, 64}}}, + /* 29C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B0 */ {{EM_FPCMP_EQ_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B1 */ {{EM_FPCMP_LT_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B2 */ {{EM_FPCMP_LE_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B3 */ {{EM_FPCMP_UNORD_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B4 */ {{EM_FPCMP_NEQ_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B5 */ {{EM_FPCMP_NLT_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B6 */ {{EM_FPCMP_NLE_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B7 */ {{EM_FPCMP_ORD_S1_F1_F2_F3}, {{64, 64}}}, + /* 2B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C0 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C1 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C2 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C3 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C4 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C5 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C6 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C7 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C8 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2C9 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CA */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CB */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CC */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CD */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CE */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2CF */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D0 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D1 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D2 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D3 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D4 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D5 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D6 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D7 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D8 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2D9 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DA */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DB */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DC */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DD */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DE */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2DF */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E0 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E1 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E2 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E3 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E4 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E5 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E6 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E7 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E8 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2E9 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2EA */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2EB */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2EC */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2ED */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2EE */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2EF */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F0 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F1 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F2 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F3 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F4 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F5 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F6 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F7 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F8 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2F9 */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FA */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FB */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FC */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FD */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FE */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 2FF */ {{EM_FPRSQRTA_S1_F1_P2_F3}, {{64, 64}}}, + /* 300 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 301 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 302 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 303 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 304 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 305 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 306 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 307 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 308 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 309 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 310 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 311 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 312 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 313 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 314 */ {{EM_FPMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 315 */ {{EM_FPMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 316 */ {{EM_FPAMIN_S2_F1_F2_F3}, {{64, 64}}}, + /* 317 */ {{EM_FPAMAX_S2_F1_F2_F3}, {{64, 64}}}, + /* 318 */ {{EM_FPCVT_FX_S2_F1_F2}, {{64, 64}}}, + /* 319 */ {{EM_FPCVT_FXU_S2_F1_F2}, {{64, 64}}}, + /* 31A */ {{EM_FPCVT_FX_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 31B */ {{EM_FPCVT_FXU_TRUNC_S2_F1_F2}, {{64, 64}}}, + /* 31C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 320 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 321 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 322 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 323 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 324 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 325 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 326 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 327 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 328 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 329 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 330 */ {{EM_FPCMP_EQ_S2_F1_F2_F3}, {{64, 64}}}, + /* 331 */ {{EM_FPCMP_LT_S2_F1_F2_F3}, {{64, 64}}}, + /* 332 */ {{EM_FPCMP_LE_S2_F1_F2_F3}, {{64, 64}}}, + /* 333 */ {{EM_FPCMP_UNORD_S2_F1_F2_F3}, {{64, 64}}}, + /* 334 */ {{EM_FPCMP_NEQ_S2_F1_F2_F3}, {{64, 64}}}, + /* 335 */ {{EM_FPCMP_NLT_S2_F1_F2_F3}, {{64, 64}}}, + /* 336 */ {{EM_FPCMP_NLE_S2_F1_F2_F3}, {{64, 64}}}, + /* 337 */ {{EM_FPCMP_ORD_S2_F1_F2_F3}, {{64, 64}}}, + /* 338 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 339 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 340 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 341 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 342 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 343 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 344 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 345 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 346 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 347 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 348 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 349 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34A */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34B */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34C */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34D */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34E */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 34F */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 350 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 351 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 352 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 353 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 354 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 355 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 356 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 357 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 358 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 359 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35A */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35B */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35C */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35D */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35E */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 35F */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 360 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 361 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 362 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 363 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 364 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 365 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 366 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 367 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 368 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 369 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36A */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36B */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36C */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36D */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36E */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 36F */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 370 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 371 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 372 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 373 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 374 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 375 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 376 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 377 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 378 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 379 */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37A */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37B */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37C */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37D */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37E */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 37F */ {{EM_FPRSQRTA_S2_F1_P2_F3}, {{64, 64}}}, + /* 380 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 381 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 382 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 383 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 384 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 385 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 386 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 387 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 388 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 389 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 390 */ {{EM_FPMERGE_S_F1_F2_F3}, {{64, 64}}}, + /* 391 */ {{EM_FPMERGE_NS_F1_F2_F3}, {{64, 64}}}, + /* 392 */ {{EM_FPMERGE_SE_F1_F2_F3}, {{64, 64}}}, + /* 393 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 394 */ {{EM_FPMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 395 */ {{EM_FPMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 396 */ {{EM_FPAMIN_S3_F1_F2_F3}, {{64, 64}}}, + /* 397 */ {{EM_FPAMAX_S3_F1_F2_F3}, {{64, 64}}}, + /* 398 */ {{EM_FPCVT_FX_S3_F1_F2}, {{64, 64}}}, + /* 399 */ {{EM_FPCVT_FXU_S3_F1_F2}, {{64, 64}}}, + /* 39A */ {{EM_FPCVT_FX_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 39B */ {{EM_FPCVT_FXU_TRUNC_S3_F1_F2}, {{64, 64}}}, + /* 39C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A0 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3AF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B0 */ {{EM_FPCMP_EQ_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B1 */ {{EM_FPCMP_LT_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B2 */ {{EM_FPCMP_LE_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B3 */ {{EM_FPCMP_UNORD_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B4 */ {{EM_FPCMP_NEQ_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B5 */ {{EM_FPCMP_NLT_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B6 */ {{EM_FPCMP_NLE_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B7 */ {{EM_FPCMP_ORD_S3_F1_F2_F3}, {{64, 64}}}, + /* 3B8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BA */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BB */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BC */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BD */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BE */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3BF */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C0 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C1 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C2 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C3 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C4 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C5 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C6 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C7 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C8 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3C9 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CA */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CB */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CC */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CD */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CE */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3CF */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D0 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D1 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D2 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D3 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D4 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D5 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D6 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D7 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D8 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3D9 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DA */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DB */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DC */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DD */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DE */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3DF */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E0 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E1 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E2 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E3 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E4 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E5 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E6 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E7 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E8 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3E9 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3EA */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3EB */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3EC */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3ED */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3EE */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3EF */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F0 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F1 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F2 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F3 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F4 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F5 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F6 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F7 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F8 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3F9 */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FA */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FB */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FC */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FD */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FE */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, + /* 3FF */ {{EM_FPRSQRTA_S3_F1_P2_F3}, {{64, 64}}}, +#define opF4_0 5406 /* 5406 - 5437 [32] */ + /* 0 */ {{EM_FCMP_EQ_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 1 */ {{EM_FCMP_EQ_UNC_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 2 */ {{EM_FCMP_LE_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 3 */ {{EM_FCMP_LE_UNC_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 4 */ {{EM_FCMP_EQ_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 5 */ {{EM_FCMP_EQ_UNC_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 6 */ {{EM_FCMP_LE_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 7 */ {{EM_FCMP_LE_UNC_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 8 */ {{EM_FCMP_EQ_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* 9 */ {{EM_FCMP_EQ_UNC_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* A */ {{EM_FCMP_LE_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* B */ {{EM_FCMP_LE_UNC_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* C */ {{EM_FCMP_EQ_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* D */ {{EM_FCMP_EQ_UNC_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* E */ {{EM_FCMP_LE_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* F */ {{EM_FCMP_LE_UNC_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* 10 */ {{EM_FCMP_LT_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 11 */ {{EM_FCMP_LT_UNC_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 12 */ {{EM_FCMP_UNORD_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 13 */ {{EM_FCMP_UNORD_UNC_S0_P1_P2_F2_F3}, {{64, 64}}}, + /* 14 */ {{EM_FCMP_LT_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 15 */ {{EM_FCMP_LT_UNC_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 16 */ {{EM_FCMP_UNORD_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 17 */ {{EM_FCMP_UNORD_UNC_S1_P1_P2_F2_F3}, {{64, 64}}}, + /* 18 */ {{EM_FCMP_LT_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* 19 */ {{EM_FCMP_LT_UNC_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* 1A */ {{EM_FCMP_UNORD_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* 1B */ {{EM_FCMP_UNORD_UNC_S2_P1_P2_F2_F3}, {{64, 64}}}, + /* 1C */ {{EM_FCMP_LT_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* 1D */ {{EM_FCMP_LT_UNC_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* 1E */ {{EM_FCMP_UNORD_S3_P1_P2_F2_F3}, {{64, 64}}}, + /* 1F */ {{EM_FCMP_UNORD_UNC_S3_P1_P2_F2_F3}, {{64, 64}}}, +#define opF5_0 5438 /* 5438 - 5439 [2] */ + /* 0 */ {{EM_FCLASS_M_P1_P2_F2_FCLASS9}, {{64, 64}}}, + /* 1 */ {{EM_FCLASS_M_UNC_P1_P2_F2_FCLASS9}, {{64, 64}}}, +#define opF8_0 5440 /* 5440 - 5447 [8] */ + /* 0 */ {{EM_FMA_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FMA_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FMA_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FMA_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FMA_S_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FMA_S_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FMA_S_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FMA_S_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opF9_0 5448 /* 5448 - 5455 [8] */ + /* 0 */ {{EM_FMA_D_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FMA_D_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FMA_D_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FMA_D_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FPMA_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FPMA_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FPMA_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FPMA_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opFA_0 5456 /* 5456 - 5463 [8] */ + /* 0 */ {{EM_FMS_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FMS_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FMS_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FMS_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FMS_S_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FMS_S_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FMS_S_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FMS_S_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opFB_0 5464 /* 5464 - 5471 [8] */ + /* 0 */ {{EM_FMS_D_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FMS_D_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FMS_D_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FMS_D_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FPMS_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FPMS_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FPMS_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FPMS_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opFC_0 5472 /* 5472 - 5479 [8] */ + /* 0 */ {{EM_FNMA_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FNMA_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FNMA_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FNMA_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FNMA_S_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FNMA_S_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FNMA_S_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FNMA_S_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opFD_0 5480 /* 5480 - 5487 [8] */ + /* 0 */ {{EM_FNMA_D_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FNMA_D_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FNMA_D_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FNMA_D_S3_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_FPNMA_S0_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_FPNMA_S1_F1_F3_F4_F2}, {{64, 64}}}, + /* 6 */ {{EM_FPNMA_S2_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_FPNMA_S3_F1_F3_F4_F2}, {{64, 64}}}, +#define opFE_0 5488 /* 5488 - 5495 [8] */ + /* 0 */ {{EM_FSELECT_F1_F3_F4_F2}, {{64, 64}}}, + /* 1 */ {{EM_FSELECT_F1_F3_F4_F2}, {{64, 64}}}, + /* 2 */ {{EM_FSELECT_F1_F3_F4_F2}, {{64, 64}}}, + /* 3 */ {{EM_FSELECT_F1_F3_F4_F2}, {{64, 64}}}, + /* 4 */ {{EM_XMA_L_F1_F3_F4_F2}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_XMA_HU_F1_F3_F4_F2}, {{64, 64}}}, + /* 7 */ {{EM_XMA_H_F1_F3_F4_F2}, {{64, 64}}}, +#define opB0_0 5496 /* 5496 - 5623 [128] */ + /* 0 */ {{EM_BR_COND_SPTK_FEW_B2}, {{64, 64}}}, + /* 1 */ {{EM_BR_IA_SPTK_FEW_B2}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 8 */ {{EM_BR_COND_SPTK_MANY_B2}, {{64, 64}}}, + /* 9 */ {{EM_BR_IA_SPTK_MANY_B2}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 10 */ {{EM_BR_COND_SPNT_FEW_B2}, {{64, 64}}}, + /* 11 */ {{EM_BR_IA_SPNT_FEW_B2}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 18 */ {{EM_BR_COND_SPNT_MANY_B2}, {{64, 64}}}, + /* 19 */ {{EM_BR_IA_SPNT_MANY_B2}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 20 */ {{EM_BR_COND_DPTK_FEW_B2}, {{64, 64}}}, + /* 21 */ {{EM_BR_IA_DPTK_FEW_B2}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 28 */ {{EM_BR_COND_DPTK_MANY_B2}, {{64, 64}}}, + /* 29 */ {{EM_BR_IA_DPTK_MANY_B2}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 30 */ {{EM_BR_COND_DPNT_FEW_B2}, {{64, 64}}}, + /* 31 */ {{EM_BR_IA_DPNT_FEW_B2}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 38 */ {{EM_BR_COND_DPNT_MANY_B2}, {{64, 64}}}, + /* 39 */ {{EM_BR_IA_DPNT_MANY_B2}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 40 */ {{EM_BR_COND_SPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 41 */ {{EM_BR_IA_SPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 48 */ {{EM_BR_COND_SPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 49 */ {{EM_BR_IA_SPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 50 */ {{EM_BR_COND_SPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 51 */ {{EM_BR_IA_SPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 58 */ {{EM_BR_COND_SPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 59 */ {{EM_BR_IA_SPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 60 */ {{EM_BR_COND_DPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 61 */ {{EM_BR_IA_DPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 68 */ {{EM_BR_COND_DPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 69 */ {{EM_BR_IA_DPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 70 */ {{EM_BR_COND_DPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 71 */ {{EM_BR_IA_DPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 78 */ {{EM_BR_COND_DPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 79 */ {{EM_BR_IA_DPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOP}, {{64, 64}}}, +#define opB0_1 5624 /* 5624 - 5751 [128] */ + /* 0 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4 */ {{EM_BR_RET_SPTK_FEW_B2}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* C */ {{EM_BR_RET_SPTK_MANY_B2}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 14 */ {{EM_BR_RET_SPNT_FEW_B2}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1C */ {{EM_BR_RET_SPNT_MANY_B2}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 24 */ {{EM_BR_RET_DPTK_FEW_B2}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2C */ {{EM_BR_RET_DPTK_MANY_B2}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 34 */ {{EM_BR_RET_DPNT_FEW_B2}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3C */ {{EM_BR_RET_DPNT_MANY_B2}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 44 */ {{EM_BR_RET_SPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4C */ {{EM_BR_RET_SPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 54 */ {{EM_BR_RET_SPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5C */ {{EM_BR_RET_SPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 64 */ {{EM_BR_RET_DPTK_FEW_CLR_B2}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6C */ {{EM_BR_RET_DPTK_MANY_CLR_B2}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 74 */ {{EM_BR_RET_DPNT_FEW_CLR_B2}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7C */ {{EM_BR_RET_DPNT_MANY_CLR_B2}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOP}, {{64, 64}}}, +#define opB0_2 5752 /* 5752 - 5815 [64] */ + /* 0 */ {{EM_BREAK_B_IMM21}, {{64, 64}}}, + /* 1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2 */ {{EM_COVER}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4 */ {{EM_CLRRRB}, {{64, 64}}}, + /* 5 */ {{EM_CLRRRB_PR}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 8 */ {{EM_RFI}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* C */ {{EM_BSW_0}, {{64, 64}}}, + /* D */ {{EM_BSW_1}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 10 */ {{EM_EPC}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 20 */ {{opB0_0}, {{28, 61}, {51, 63}, {55, 61}}}, + /* 21 */ {{opB0_1}, {{28, 61}, {51, 63}, {55, 61}}}, + /* 22 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOP}, {{64, 64}}}, +#define opB1_0 5816 /* 5816 - 5847 [32] */ + /* 0 */ {{EM_BR_CALL_BWH0_FEW_B1_B2}, {{64, 64}}}, + /* 1 */ {{EM_BR_CALL_BWH0_MANY_B1_B2}, {{64, 64}}}, + /* 2 */ {{EM_BR_CALL_SPTK_FEW_B1_B2}, {{64, 64}}}, + /* 3 */ {{EM_BR_CALL_SPTK_MANY_B1_B2}, {{64, 64}}}, + /* 4 */ {{EM_BR_CALL_BWH2_FEW_B1_B2}, {{64, 64}}}, + /* 5 */ {{EM_BR_CALL_BWH2_MANY_B1_B2}, {{64, 64}}}, + /* 6 */ {{EM_BR_CALL_SPNT_FEW_B1_B2}, {{64, 64}}}, + /* 7 */ {{EM_BR_CALL_SPNT_MANY_B1_B2}, {{64, 64}}}, + /* 8 */ {{EM_BR_CALL_BWH4_FEW_B1_B2}, {{64, 64}}}, + /* 9 */ {{EM_BR_CALL_BWH4_MANY_B1_B2}, {{64, 64}}}, + /* A */ {{EM_BR_CALL_DPTK_FEW_B1_B2}, {{64, 64}}}, + /* B */ {{EM_BR_CALL_DPTK_MANY_B1_B2}, {{64, 64}}}, + /* C */ {{EM_BR_CALL_BWH6_FEW_B1_B2}, {{64, 64}}}, + /* D */ {{EM_BR_CALL_BWH6_MANY_B1_B2}, {{64, 64}}}, + /* E */ {{EM_BR_CALL_DPNT_FEW_B1_B2}, {{64, 64}}}, + /* F */ {{EM_BR_CALL_DPNT_MANY_B1_B2}, {{64, 64}}}, + /* 10 */ {{EM_BR_CALL_BWH0_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 11 */ {{EM_BR_CALL_BWH0_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 12 */ {{EM_BR_CALL_SPTK_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 13 */ {{EM_BR_CALL_SPTK_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 14 */ {{EM_BR_CALL_BWH2_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 15 */ {{EM_BR_CALL_BWH2_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 16 */ {{EM_BR_CALL_SPNT_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 17 */ {{EM_BR_CALL_SPNT_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 18 */ {{EM_BR_CALL_BWH4_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 19 */ {{EM_BR_CALL_BWH4_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 1A */ {{EM_BR_CALL_DPTK_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 1B */ {{EM_BR_CALL_DPTK_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 1C */ {{EM_BR_CALL_BWH6_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 1D */ {{EM_BR_CALL_BWH6_MANY_CLR_B1_B2}, {{64, 64}}}, + /* 1E */ {{EM_BR_CALL_DPNT_FEW_CLR_B1_B2}, {{64, 64}}}, + /* 1F */ {{EM_BR_CALL_DPNT_MANY_CLR_B1_B2}, {{64, 64}}}, +#define opB2_0 5848 /* 5848 - 6359 [512] */ + /* 0 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 1 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 2 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 3 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 4 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 5 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 6 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 7 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 20 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 21 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 22 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 23 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 24 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 25 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 26 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 27 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 28 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 29 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 2F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 30 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 31 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 32 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 33 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 34 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 35 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 36 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 37 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 38 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 39 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 3F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 40 */ {{EM_BRP_SPTK_B2_TAG13}, {{64, 64}}}, + /* 41 */ {{EM_BRP_INDWH1_B2_TAG13}, {{64, 64}}}, + /* 42 */ {{EM_BRP_DPTK_B2_TAG13}, {{64, 64}}}, + /* 43 */ {{EM_BRP_INDWH3_B2_TAG13}, {{64, 64}}}, + /* 44 */ {{EM_BRP_RET_SPTK_B2_TAG13}, {{64, 64}}}, + /* 45 */ {{EM_BRP_RET_INDWH1_B2_TAG13}, {{64, 64}}}, + /* 46 */ {{EM_BRP_RET_DPTK_B2_TAG13}, {{64, 64}}}, + /* 47 */ {{EM_BRP_RET_INDWH3_B2_TAG13}, {{64, 64}}}, + /* 48 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 49 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 50 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 51 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 52 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 53 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 54 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 55 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 56 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 57 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 58 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 59 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 5F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 60 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 61 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 62 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 63 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 64 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 65 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 66 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 67 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 68 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 69 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 6F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 70 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 71 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 72 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 73 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 74 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 75 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 76 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 77 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 78 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 79 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 80 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 81 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 82 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 83 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 84 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 85 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 86 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 87 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 88 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 89 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 8F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 90 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 91 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 92 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 93 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 94 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 95 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 96 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 97 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 98 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 99 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 9F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* A9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* AF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* B9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* BF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* C9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* CF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* D9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* DF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* E9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* EA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* EB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* EC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* ED */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* EE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* EF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* F9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* FF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 100 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 101 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 102 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 103 */ {{EM_NOP_B_IMM21}, {{64, 64}}}, + /* 104 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 105 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 106 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 107 */ {{EM_HINT_B_IMM21}, {{64, 64}}}, + /* 108 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 109 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 10F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 110 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 111 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 112 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 113 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 114 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 115 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 116 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 117 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 118 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 119 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 11F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 120 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 121 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 122 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 123 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 124 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 125 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 126 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 127 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 128 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 129 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 12F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 130 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 131 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 132 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 133 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 134 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 135 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 136 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 137 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 138 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 139 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 13F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 140 */ {{EM_BRP_SPTK_IMP_B2_TAG13}, {{64, 64}}}, + /* 141 */ {{EM_BRP_INDWH1_IMP_B2_TAG13}, {{64, 64}}}, + /* 142 */ {{EM_BRP_DPTK_IMP_B2_TAG13}, {{64, 64}}}, + /* 143 */ {{EM_BRP_INDWH3_IMP_B2_TAG13}, {{64, 64}}}, + /* 144 */ {{EM_BRP_RET_SPTK_IMP_B2_TAG13}, {{64, 64}}}, + /* 145 */ {{EM_BRP_RET_INDWH1_IMP_B2_TAG13}, {{64, 64}}}, + /* 146 */ {{EM_BRP_RET_DPTK_IMP_B2_TAG13}, {{64, 64}}}, + /* 147 */ {{EM_BRP_RET_INDWH3_IMP_B2_TAG13}, {{64, 64}}}, + /* 148 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 149 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 14F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 150 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 151 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 152 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 153 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 154 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 155 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 156 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 157 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 158 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 159 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 15F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 160 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 161 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 162 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 163 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 164 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 165 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 166 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 167 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 168 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 169 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 16F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 170 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 171 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 172 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 173 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 174 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 175 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 176 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 177 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 178 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 179 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 17F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 180 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 181 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 182 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 183 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 184 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 185 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 186 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 187 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 188 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 189 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 18F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 190 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 191 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 192 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 193 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 194 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 195 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 196 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 197 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 198 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 199 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19A */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19B */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19C */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19D */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19E */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 19F */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1A9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1AF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1B9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1BF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1C9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1CF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1D9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1DF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1E9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1EA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1EB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1EC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1ED */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1EE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1EF */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F0 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F1 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F2 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F4 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F5 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F7 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F8 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1F9 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FA */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FB */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FC */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FD */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FE */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 1FF */ {{EM_IGNOREDOP}, {{64, 64}}}, +#define opB4_0 6360 /* 6360 - 6487 [128] */ + /* 0 */ {{EM_BR_COND_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2 */ {{EM_BR_WEXIT_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 3 */ {{EM_BR_WTOP_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5 */ {{EM_BR_CLOOP_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 6 */ {{EM_BR_CEXIT_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 7 */ {{EM_BR_CTOP_SPTK_FEW_TARGET25}, {{64, 64}}}, + /* 8 */ {{EM_BR_COND_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* A */ {{EM_BR_WEXIT_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* B */ {{EM_BR_WTOP_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* D */ {{EM_BR_CLOOP_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* E */ {{EM_BR_CEXIT_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* F */ {{EM_BR_CTOP_SPTK_MANY_TARGET25}, {{64, 64}}}, + /* 10 */ {{EM_BR_COND_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 12 */ {{EM_BR_WEXIT_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 13 */ {{EM_BR_WTOP_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 15 */ {{EM_BR_CLOOP_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 16 */ {{EM_BR_CEXIT_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 17 */ {{EM_BR_CTOP_SPNT_FEW_TARGET25}, {{64, 64}}}, + /* 18 */ {{EM_BR_COND_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1A */ {{EM_BR_WEXIT_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 1B */ {{EM_BR_WTOP_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 1D */ {{EM_BR_CLOOP_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 1E */ {{EM_BR_CEXIT_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 1F */ {{EM_BR_CTOP_SPNT_MANY_TARGET25}, {{64, 64}}}, + /* 20 */ {{EM_BR_COND_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 22 */ {{EM_BR_WEXIT_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 23 */ {{EM_BR_WTOP_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 25 */ {{EM_BR_CLOOP_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 26 */ {{EM_BR_CEXIT_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 27 */ {{EM_BR_CTOP_DPTK_FEW_TARGET25}, {{64, 64}}}, + /* 28 */ {{EM_BR_COND_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2A */ {{EM_BR_WEXIT_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 2B */ {{EM_BR_WTOP_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 2D */ {{EM_BR_CLOOP_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 2E */ {{EM_BR_CEXIT_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 2F */ {{EM_BR_CTOP_DPTK_MANY_TARGET25}, {{64, 64}}}, + /* 30 */ {{EM_BR_COND_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 32 */ {{EM_BR_WEXIT_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 33 */ {{EM_BR_WTOP_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 35 */ {{EM_BR_CLOOP_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 36 */ {{EM_BR_CEXIT_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 37 */ {{EM_BR_CTOP_DPNT_FEW_TARGET25}, {{64, 64}}}, + /* 38 */ {{EM_BR_COND_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3A */ {{EM_BR_WEXIT_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 3B */ {{EM_BR_WTOP_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 3D */ {{EM_BR_CLOOP_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 3E */ {{EM_BR_CEXIT_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 3F */ {{EM_BR_CTOP_DPNT_MANY_TARGET25}, {{64, 64}}}, + /* 40 */ {{EM_BR_COND_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 42 */ {{EM_BR_WEXIT_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 43 */ {{EM_BR_WTOP_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 45 */ {{EM_BR_CLOOP_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 46 */ {{EM_BR_CEXIT_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 47 */ {{EM_BR_CTOP_SPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 48 */ {{EM_BR_COND_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4A */ {{EM_BR_WEXIT_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 4B */ {{EM_BR_WTOP_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 4D */ {{EM_BR_CLOOP_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 4E */ {{EM_BR_CEXIT_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 4F */ {{EM_BR_CTOP_SPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 50 */ {{EM_BR_COND_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 52 */ {{EM_BR_WEXIT_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 53 */ {{EM_BR_WTOP_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 55 */ {{EM_BR_CLOOP_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 56 */ {{EM_BR_CEXIT_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 57 */ {{EM_BR_CTOP_SPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 58 */ {{EM_BR_COND_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5A */ {{EM_BR_WEXIT_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 5B */ {{EM_BR_WTOP_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 5D */ {{EM_BR_CLOOP_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 5E */ {{EM_BR_CEXIT_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 5F */ {{EM_BR_CTOP_SPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 60 */ {{EM_BR_COND_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 62 */ {{EM_BR_WEXIT_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 63 */ {{EM_BR_WTOP_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 65 */ {{EM_BR_CLOOP_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 66 */ {{EM_BR_CEXIT_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 67 */ {{EM_BR_CTOP_DPTK_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 68 */ {{EM_BR_COND_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6A */ {{EM_BR_WEXIT_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 6B */ {{EM_BR_WTOP_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 6D */ {{EM_BR_CLOOP_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 6E */ {{EM_BR_CEXIT_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 6F */ {{EM_BR_CTOP_DPTK_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 70 */ {{EM_BR_COND_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 72 */ {{EM_BR_WEXIT_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 73 */ {{EM_BR_WTOP_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 75 */ {{EM_BR_CLOOP_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 76 */ {{EM_BR_CEXIT_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 77 */ {{EM_BR_CTOP_DPNT_FEW_CLR_TARGET25}, {{64, 64}}}, + /* 78 */ {{EM_BR_COND_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7A */ {{EM_BR_WEXIT_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 7B */ {{EM_BR_WTOP_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 7D */ {{EM_BR_CLOOP_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 7E */ {{EM_BR_CEXIT_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, + /* 7F */ {{EM_BR_CTOP_DPNT_MANY_CLR_TARGET25}, {{64, 64}}}, +#define opB5_0 6488 /* 6488 - 6503 [16] */ + /* 0 */ {{EM_BR_CALL_SPTK_FEW_B1_TARGET25}, {{64, 64}}}, + /* 1 */ {{EM_BR_CALL_SPTK_MANY_B1_TARGET25}, {{64, 64}}}, + /* 2 */ {{EM_BR_CALL_SPNT_FEW_B1_TARGET25}, {{64, 64}}}, + /* 3 */ {{EM_BR_CALL_SPNT_MANY_B1_TARGET25}, {{64, 64}}}, + /* 4 */ {{EM_BR_CALL_DPTK_FEW_B1_TARGET25}, {{64, 64}}}, + /* 5 */ {{EM_BR_CALL_DPTK_MANY_B1_TARGET25}, {{64, 64}}}, + /* 6 */ {{EM_BR_CALL_DPNT_FEW_B1_TARGET25}, {{64, 64}}}, + /* 7 */ {{EM_BR_CALL_DPNT_MANY_B1_TARGET25}, {{64, 64}}}, + /* 8 */ {{EM_BR_CALL_SPTK_FEW_CLR_B1_TARGET25}, {{64, 64}}}, + /* 9 */ {{EM_BR_CALL_SPTK_MANY_CLR_B1_TARGET25}, {{64, 64}}}, + /* A */ {{EM_BR_CALL_SPNT_FEW_CLR_B1_TARGET25}, {{64, 64}}}, + /* B */ {{EM_BR_CALL_SPNT_MANY_CLR_B1_TARGET25}, {{64, 64}}}, + /* C */ {{EM_BR_CALL_DPTK_FEW_CLR_B1_TARGET25}, {{64, 64}}}, + /* D */ {{EM_BR_CALL_DPTK_MANY_CLR_B1_TARGET25}, {{64, 64}}}, + /* E */ {{EM_BR_CALL_DPNT_FEW_CLR_B1_TARGET25}, {{64, 64}}}, + /* F */ {{EM_BR_CALL_DPNT_MANY_CLR_B1_TARGET25}, {{64, 64}}}, +#define opB7_0 6504 /* 6504 - 6511 [8] */ + /* 0 */ {{EM_BRP_SPTK_TARGET25_TAG13}, {{64, 64}}}, + /* 1 */ {{EM_BRP_LOOP_TARGET25_TAG13}, {{64, 64}}}, + /* 2 */ {{EM_BRP_DPTK_TARGET25_TAG13}, {{64, 64}}}, + /* 3 */ {{EM_BRP_EXIT_TARGET25_TAG13}, {{64, 64}}}, + /* 4 */ {{EM_BRP_SPTK_IMP_TARGET25_TAG13}, {{64, 64}}}, + /* 5 */ {{EM_BRP_LOOP_IMP_TARGET25_TAG13}, {{64, 64}}}, + /* 6 */ {{EM_BRP_DPTK_IMP_TARGET25_TAG13}, {{64, 64}}}, + /* 7 */ {{EM_BRP_EXIT_IMP_TARGET25_TAG13}, {{64, 64}}}, +#define opX0_0 6512 /* 6512 - 6639 [128] */ + /* 0 */ {{EM_BREAK_X_IMM62}, {{64, 64}}}, + /* 1 */ {{EM_BREAK_X_IMM62}, {{64, 64}}}, + /* 2 */ {{EM_NOP_X_IMM62}, {{64, 64}}}, + /* 3 */ {{EM_HINT_X_IMM62}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 10 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 18 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 20 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 28 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 30 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 38 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 40 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 48 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 50 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 58 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 60 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 68 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 70 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 78 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opX0_1 6640 /* 6640 - 6647 [8] */ + /* 0 */ {{opX0_0}, {{31, 57}, {64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opX6_0 6648 /* 6648 - 6649 [2] */ + /* 0 */ {{EM_MOVL_R1_IMM64}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, +#define opXC_0 6650 /* 6650 - 6777 [128] */ + /* 0 */ {{EM_BRL_COND_SPTK_FEW_TARGET64}, {{64, 64}}}, + /* 1 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 8 */ {{EM_BRL_COND_SPTK_MANY_TARGET64}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 10 */ {{EM_BRL_COND_SPNT_FEW_TARGET64}, {{64, 64}}}, + /* 11 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 12 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 13 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 14 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 15 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 16 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 17 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 18 */ {{EM_BRL_COND_SPNT_MANY_TARGET64}, {{64, 64}}}, + /* 19 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 1F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 20 */ {{EM_BRL_COND_DPTK_FEW_TARGET64}, {{64, 64}}}, + /* 21 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 22 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 23 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 24 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 25 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 26 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 27 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 28 */ {{EM_BRL_COND_DPTK_MANY_TARGET64}, {{64, 64}}}, + /* 29 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 2F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 30 */ {{EM_BRL_COND_DPNT_FEW_TARGET64}, {{64, 64}}}, + /* 31 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 32 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 33 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 34 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 35 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 36 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 37 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 38 */ {{EM_BRL_COND_DPNT_MANY_TARGET64}, {{64, 64}}}, + /* 39 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 3F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 40 */ {{EM_BRL_COND_SPTK_FEW_CLR_TARGET64}, {{64, 64}}}, + /* 41 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 42 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 43 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 44 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 45 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 46 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 47 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 48 */ {{EM_BRL_COND_SPTK_MANY_CLR_TARGET64}, {{64, 64}}}, + /* 49 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 4F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 50 */ {{EM_BRL_COND_SPNT_FEW_CLR_TARGET64}, {{64, 64}}}, + /* 51 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 52 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 53 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 54 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 55 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 56 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 57 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 58 */ {{EM_BRL_COND_SPNT_MANY_CLR_TARGET64}, {{64, 64}}}, + /* 59 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 5F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 60 */ {{EM_BRL_COND_DPTK_FEW_CLR_TARGET64}, {{64, 64}}}, + /* 61 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 62 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 63 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 64 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 65 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 66 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 67 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 68 */ {{EM_BRL_COND_DPTK_MANY_CLR_TARGET64}, {{64, 64}}}, + /* 69 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 6F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 70 */ {{EM_BRL_COND_DPNT_FEW_CLR_TARGET64}, {{64, 64}}}, + /* 71 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 72 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 73 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 74 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 75 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 76 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 77 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 78 */ {{EM_BRL_COND_DPNT_MANY_CLR_TARGET64}, {{64, 64}}}, + /* 79 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7C */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7D */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 7F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, +#define opXD_0 6778 /* 6778 - 6793 [16] */ + /* 0 */ {{EM_BRL_CALL_SPTK_FEW_B1_TARGET64}, {{64, 64}}}, + /* 1 */ {{EM_BRL_CALL_SPTK_MANY_B1_TARGET64}, {{64, 64}}}, + /* 2 */ {{EM_BRL_CALL_SPNT_FEW_B1_TARGET64}, {{64, 64}}}, + /* 3 */ {{EM_BRL_CALL_SPNT_MANY_B1_TARGET64}, {{64, 64}}}, + /* 4 */ {{EM_BRL_CALL_DPTK_FEW_B1_TARGET64}, {{64, 64}}}, + /* 5 */ {{EM_BRL_CALL_DPTK_MANY_B1_TARGET64}, {{64, 64}}}, + /* 6 */ {{EM_BRL_CALL_DPNT_FEW_B1_TARGET64}, {{64, 64}}}, + /* 7 */ {{EM_BRL_CALL_DPNT_MANY_B1_TARGET64}, {{64, 64}}}, + /* 8 */ {{EM_BRL_CALL_SPTK_FEW_CLR_B1_TARGET64}, {{64, 64}}}, + /* 9 */ {{EM_BRL_CALL_SPTK_MANY_CLR_B1_TARGET64}, {{64, 64}}}, + /* A */ {{EM_BRL_CALL_SPNT_FEW_CLR_B1_TARGET64}, {{64, 64}}}, + /* B */ {{EM_BRL_CALL_SPNT_MANY_CLR_B1_TARGET64}, {{64, 64}}}, + /* C */ {{EM_BRL_CALL_DPTK_FEW_CLR_B1_TARGET64}, {{64, 64}}}, + /* D */ {{EM_BRL_CALL_DPTK_MANY_CLR_B1_TARGET64}, {{64, 64}}}, + /* E */ {{EM_BRL_CALL_DPNT_FEW_CLR_B1_TARGET64}, {{64, 64}}}, + /* F */ {{EM_BRL_CALL_DPNT_MANY_CLR_B1_TARGET64}, {{64, 64}}}, +}; + +OpDecode majorOps[NUM_UNITS][NUM_MAJOR_OPS] = { + { /* I-unit */ + /* 0 */ {{opI0_2}, {{28, 61}, {64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_DEP_R1_R2_R3_POS6_LEN4}, {{64, 64}}}, + /* 5 */ {{opI5_0}, {{27, 60}, {37, 63}, {50, 62}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{opI7_0}, {{27, 55}, {64, 64}}}, + /* 8 */ {{opA8_4}, {{28, 62}, {64, 64}}}, + /* 9 */ {{EM_ADDL_R1_IMM22_R3}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{opAC_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* D */ {{opAD_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* E */ {{opAE_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + }, + { /* M-unit */ + /* 0 */ {{opM0_1}, {{28, 61}, {64, 64}}}, + /* 1 */ {{opM1_1}, {{28, 61}, {64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{opM4_3}, {{27, 63}, {64, 64}}}, + /* 5 */ {{opM5_0}, {{28, 56}, {64, 64}}}, + /* 6 */ {{opM6_0}, {{27, 54}, {64, 64}}}, + /* 7 */ {{opM7_0}, {{28, 56}, {64, 64}}}, + /* 8 */ {{opA8_4}, {{28, 62}, {64, 64}}}, + /* 9 */ {{EM_ADDL_R1_IMM22_R3}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* C */ {{opAC_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* D */ {{opAD_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* E */ {{opAE_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + }, + { /* F-unit */ + /* 0 */ {{opF0_2}, {{30, 63}, {64, 64}}}, + /* 1 */ {{opF1_0}, {{27, 54}, {64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{opF4_0}, {{27, 60}, {51, 63}, {64, 64}}}, + /* 5 */ {{opF5_0}, {{51, 63}, {64, 64}}}, + /* 6 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{opF8_0}, {{27, 61}, {64, 64}}}, + /* 9 */ {{opF9_0}, {{27, 61}, {64, 64}}}, + /* A */ {{opFA_0}, {{27, 61}, {64, 64}}}, + /* B */ {{opFB_0}, {{27, 61}, {64, 64}}}, + /* C */ {{opFC_0}, {{27, 61}, {64, 64}}}, + /* D */ {{opFD_0}, {{27, 61}, {64, 64}}}, + /* E */ {{opFE_0}, {{27, 61}, {64, 64}}}, + /* F */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + }, + { /* B-unit */ + /* 0 */ {{opB0_2}, {{31, 58}, {64, 64}}}, + /* 1 */ {{opB1_0}, {{28, 60}, {51, 63}, {64, 64}}}, + /* 2 */ {{opB2_0}, {{28, 63}, {31, 58}, {59, 62}}}, + /* 3 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 4 */ {{opB4_0}, {{28, 61}, {51, 63}, {55, 61}}}, + /* 5 */ {{opB5_0}, {{28, 61}, {51, 63}, {64, 64}}}, + /* 6 */ {{EM_IGNOREDOP}, {{64, 64}}}, + /* 7 */ {{opB7_0}, {{28, 63}, {59, 62}, {64, 64}}}, + /* 8 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* C */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* D */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* E */ {{EM_ILLEGALOP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOP}, {{64, 64}}}, + }, + { /* X-unit */ + /* 0 */ {{opX0_1}, {{28, 61}, {64, 64}}}, + /* 1 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 2 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 3 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 4 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 5 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 6 */ {{opX6_0}, {{43, 63}, {64, 64}}}, + /* 7 */ {{EM_ILLEGALOPQP}, {{64, 64}}}, + /* 8 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* 9 */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* A */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* B */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* C */ {{opXC_0}, {{28, 61}, {51, 63}, {55, 61}}}, + /* D */ {{opXD_0}, {{28, 61}, {51, 63}, {64, 64}}}, + /* E */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + /* F */ {{EM_ILLEGALOPBQP}, {{64, 64}}}, + }, + { /* L-unit */ + /* 0 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 1 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 2 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 3 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 4 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 5 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 6 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 7 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 8 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* 9 */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* A */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* B */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* C */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* D */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* E */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + /* F */ {{EM_LUNIT_IMM41}, {{64, 64}}}, + } +}; diff --git a/src/encodings/encoding.encode b/src/encodings/encoding.encode new file mode 100644 index 0000000..83f9c4c --- /dev/null +++ b/src/encodings/encoding.encode @@ -0,0 +1,6150 @@ +/* SDM instruction encode table + * + * Generated from Itanium SDM Rev. 2.1 (15 Jan 03) + * Generated 15 Jan 2003, 12:13:51 PM + * Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include +#include "EMInst.h" + +UInt64 nop_i = 0x0000000008000000ull; +UInt64 nop_m = 0x0000000008000000ull; +UInt64 nop_b = 0x0000004000000000ull; +UInt64 nop_f = 0x0000000008000000ull; +UInt64 nop_x = 0x0000000008000000ull; + + +EMDB_info InstTable[] = { +/* inst_id and mnemonic are shown in comments */ +/* The fields of EMDB_info are: + unit op[MAX_OPERANDS] + num_dests flags impl format base_encoding */ +/* EM_ILLEGALOP: ILLEGAL_OP */ + {No_Unit, {EM_OPTYPE_HIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_X41, 0x00000000000ull}, +/* EM_ILLEGALOPQP: ILLEGAL_OP_QP */ + {No_Unit, {EM_OPTYPE_HIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_X41, 0x00000000000ull}, +/* EM_ILLEGALOPBQP: ILLEGAL_OP_BQP */ + {No_Unit, {EM_OPTYPE_HIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_X41, 0x00000000000ull}, +/* EM_IGNOREDOP: IGNORED_OP */ + {No_Unit, {EM_OPTYPE_HIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_X41, 0x00000000000ull}, +/* EM_LUNIT_IMM41: LUNIT_IMM41 */ + {No_Unit, {EM_OPTYPE_HIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_X41, 0x00000000000ull}, +/* EM_ADD_R1_R2_R3: add */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10000000000ull}, +/* EM_ADD_R1_R2_R3_1: add */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_ONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10008000000ull}, +/* EM_SUB_R1_R2_R3: sub */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10028000000ull}, +/* EM_SUB_R1_R2_R3_1: sub */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_ONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10020000000ull}, +/* EM_ADDP4_R1_R2_R3: addp4 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10040000000ull}, +/* EM_AND_R1_R2_R3: and */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10060000000ull}, +/* EM_ANDCM_R1_R2_R3: andcm */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10068000000ull}, +/* EM_OR_R1_R2_R3: or */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10070000000ull}, +/* EM_XOR_R1_R2_R3: xor */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A1, 0x10078000000ull}, +/* EM_SHLADD_R1_R2_COUNT2_R3: shladd */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UDEC, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A2, 0x10080000000ull}, +/* EM_SHLADDP4_R1_R2_COUNT2_R3: shladdp4 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UDEC, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A2, 0x100c0000000ull}, +/* EM_SUB_R1_IMM8_R3: sub */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A3, 0x10128000000ull}, +/* EM_AND_R1_IMM8_R3: and */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A3, 0x10160000000ull}, +/* EM_ANDCM_R1_IMM8_R3: andcm */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A3, 0x10168000000ull}, +/* EM_OR_R1_IMM8_R3: or */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A3, 0x10170000000ull}, +/* EM_XOR_R1_IMM8_R3: xor */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A3, 0x10178000000ull}, +/* EM_ADDS_R1_IMM14_R3: adds */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A4, 0x10800000000ull}, +/* EM_ADDP4_R1_IMM14_R3: addp4 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A4, 0x10c00000000ull}, +/* EM_ADDL_R1_IMM22_R3: addl */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG_R0_3, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A5, 0x12000000000ull}, +/* EM_CMP_LT_P1_P2_R2_R3: cmp.lt */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18000000000ull}, +/* EM_CMP_LTU_P1_P2_R2_R3: cmp.ltu */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a000000000ull}, +/* EM_CMP_EQ_P1_P2_R2_R3: cmp.eq */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c000000000ull}, +/* EM_CMP_LT_UNC_P1_P2_R2_R3: cmp.lt.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x18000001000ull}, +/* EM_CMP_LTU_UNC_P1_P2_R2_R3: cmp.ltu.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x1a000001000ull}, +/* EM_CMP_EQ_UNC_P1_P2_R2_R3: cmp.eq.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x1c000001000ull}, +/* EM_CMP_EQ_AND_P1_P2_R2_R3: cmp.eq.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18200000000ull}, +/* EM_CMP_EQ_OR_P1_P2_R2_R3: cmp.eq.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a200000000ull}, +/* EM_CMP_EQ_OR_ANDCM_P1_P2_R2_R3: cmp.eq.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c200000000ull}, +/* EM_CMP_NE_AND_P1_P2_R2_R3: cmp.ne.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18200001000ull}, +/* EM_CMP_NE_OR_P1_P2_R2_R3: cmp.ne.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a200001000ull}, +/* EM_CMP_NE_OR_ANDCM_P1_P2_R2_R3: cmp.ne.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c200001000ull}, +/* EM_CMP4_LT_P1_P2_R2_R3: cmp4.lt */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18400000000ull}, +/* EM_CMP4_LTU_P1_P2_R2_R3: cmp4.ltu */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a400000000ull}, +/* EM_CMP4_EQ_P1_P2_R2_R3: cmp4.eq */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c400000000ull}, +/* EM_CMP4_LT_UNC_P1_P2_R2_R3: cmp4.lt.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x18400001000ull}, +/* EM_CMP4_LTU_UNC_P1_P2_R2_R3: cmp4.ltu.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x1a400001000ull}, +/* EM_CMP4_EQ_UNC_P1_P2_R2_R3: cmp4.eq.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A6, 0x1c400001000ull}, +/* EM_CMP4_EQ_AND_P1_P2_R2_R3: cmp4.eq.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18600000000ull}, +/* EM_CMP4_EQ_OR_P1_P2_R2_R3: cmp4.eq.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a600000000ull}, +/* EM_CMP4_EQ_OR_ANDCM_P1_P2_R2_R3: cmp4.eq.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c600000000ull}, +/* EM_CMP4_NE_AND_P1_P2_R2_R3: cmp4.ne.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x18600001000ull}, +/* EM_CMP4_NE_OR_P1_P2_R2_R3: cmp4.ne.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1a600001000ull}, +/* EM_CMP4_NE_OR_ANDCM_P1_P2_R2_R3: cmp4.ne.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A6, 0x1c600001000ull}, +/* EM_CMP_GT_AND_P1_P2_R0_R3: cmp.gt.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19000000000ull}, +/* EM_CMP_GT_OR_P1_P2_R0_R3: cmp.gt.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b000000000ull}, +/* EM_CMP_GT_OR_ANDCM_P1_P2_R0_R3: cmp.gt.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d000000000ull}, +/* EM_CMP_LE_AND_P1_P2_R0_R3: cmp.le.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19000001000ull}, +/* EM_CMP_LE_OR_P1_P2_R0_R3: cmp.le.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b000001000ull}, +/* EM_CMP_LE_OR_ANDCM_P1_P2_R0_R3: cmp.le.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d000001000ull}, +/* EM_CMP_GE_AND_P1_P2_R0_R3: cmp.ge.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19200000000ull}, +/* EM_CMP_GE_OR_P1_P2_R0_R3: cmp.ge.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b200000000ull}, +/* EM_CMP_GE_OR_ANDCM_P1_P2_R0_R3: cmp.ge.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d200000000ull}, +/* EM_CMP_LT_AND_P1_P2_R0_R3: cmp.lt.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19200001000ull}, +/* EM_CMP_LT_OR_P1_P2_R0_R3: cmp.lt.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b200001000ull}, +/* EM_CMP_LT_OR_ANDCM_P1_P2_R0_R3: cmp.lt.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d200001000ull}, +/* EM_CMP4_GT_AND_P1_P2_R0_R3: cmp4.gt.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19400000000ull}, +/* EM_CMP4_GT_OR_P1_P2_R0_R3: cmp4.gt.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b400000000ull}, +/* EM_CMP4_GT_OR_ANDCM_P1_P2_R0_R3: cmp4.gt.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d400000000ull}, +/* EM_CMP4_LE_AND_P1_P2_R0_R3: cmp4.le.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19400001000ull}, +/* EM_CMP4_LE_OR_P1_P2_R0_R3: cmp4.le.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b400001000ull}, +/* EM_CMP4_LE_OR_ANDCM_P1_P2_R0_R3: cmp4.le.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d400001000ull}, +/* EM_CMP4_GE_AND_P1_P2_R0_R3: cmp4.ge.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19600000000ull}, +/* EM_CMP4_GE_OR_P1_P2_R0_R3: cmp4.ge.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b600000000ull}, +/* EM_CMP4_GE_OR_ANDCM_P1_P2_R0_R3: cmp4.ge.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d600000000ull}, +/* EM_CMP4_LT_AND_P1_P2_R0_R3: cmp4.lt.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x19600001000ull}, +/* EM_CMP4_LT_OR_P1_P2_R0_R3: cmp4.lt.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1b600001000ull}, +/* EM_CMP4_LT_OR_ANDCM_P1_P2_R0_R3: cmp4.lt.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG_R0, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A7, 0x1d600001000ull}, +/* EM_CMP_LT_P1_P2_IMM8_R3: cmp.lt */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18800000000ull}, +/* EM_CMP_LTU_P1_P2_IMM8_R3: cmp.ltu */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_CMP_UIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1a800000000ull}, +/* EM_CMP_EQ_P1_P2_IMM8_R3: cmp.eq */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1c800000000ull}, +/* EM_CMP_LT_UNC_P1_P2_IMM8_R3: cmp.lt.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x18800001000ull}, +/* EM_CMP_LTU_UNC_P1_P2_IMM8_R3: cmp.ltu.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_CMP_UIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x1a800001000ull}, +/* EM_CMP_EQ_UNC_P1_P2_IMM8_R3: cmp.eq.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x1c800001000ull}, +/* EM_CMP_EQ_AND_P1_P2_IMM8_R3: cmp.eq.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18a00000000ull}, +/* EM_CMP_EQ_OR_P1_P2_IMM8_R3: cmp.eq.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1aa00000000ull}, +/* EM_CMP_EQ_OR_ANDCM_P1_P2_IMM8_R3: cmp.eq.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ca00000000ull}, +/* EM_CMP_NE_AND_P1_P2_IMM8_R3: cmp.ne.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18a00001000ull}, +/* EM_CMP_NE_OR_P1_P2_IMM8_R3: cmp.ne.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1aa00001000ull}, +/* EM_CMP_NE_OR_ANDCM_P1_P2_IMM8_R3: cmp.ne.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ca00001000ull}, +/* EM_CMP4_LT_P1_P2_IMM8_R3: cmp4.lt */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18c00000000ull}, +/* EM_CMP4_LTU_P1_P2_IMM8_R3: cmp4.ltu */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_CMP4_UIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ac00000000ull}, +/* EM_CMP4_EQ_P1_P2_IMM8_R3: cmp4.eq */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1cc00000000ull}, +/* EM_CMP4_LT_UNC_P1_P2_IMM8_R3: cmp4.lt.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x18c00001000ull}, +/* EM_CMP4_LTU_UNC_P1_P2_IMM8_R3: cmp4.ltu.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_CMP4_UIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x1ac00001000ull}, +/* EM_CMP4_EQ_UNC_P1_P2_IMM8_R3: cmp4.eq.unc */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_A8, 0x1cc00001000ull}, +/* EM_CMP4_EQ_AND_P1_P2_IMM8_R3: cmp4.eq.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18e00000000ull}, +/* EM_CMP4_EQ_OR_P1_P2_IMM8_R3: cmp4.eq.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ae00000000ull}, +/* EM_CMP4_EQ_OR_ANDCM_P1_P2_IMM8_R3: cmp4.eq.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ce00000000ull}, +/* EM_CMP4_NE_AND_P1_P2_IMM8_R3: cmp4.ne.and */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x18e00001000ull}, +/* EM_CMP4_NE_OR_P1_P2_IMM8_R3: cmp4.ne.or */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ae00001000ull}, +/* EM_CMP4_NE_OR_ANDCM_P1_P2_IMM8_R3: cmp4.ne.or.andcm */ + {A_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_A8, 0x1ce00001000ull}, +/* EM_PADD1_R1_R2_R3: padd1 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10400000000ull}, +/* EM_PADD2_R1_R2_R3: padd2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10600000000ull}, +/* EM_PADD4_R1_R2_R3: padd4 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x11400000000ull}, +/* EM_PADD1_SSS_R1_R2_R3: padd1.sss */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10408000000ull}, +/* EM_PADD2_SSS_R1_R2_R3: padd2.sss */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10608000000ull}, +/* EM_PADD1_UUU_R1_R2_R3: padd1.uuu */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10410000000ull}, +/* EM_PADD2_UUU_R1_R2_R3: padd2.uuu */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10610000000ull}, +/* EM_PADD1_UUS_R1_R2_R3: padd1.uus */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10418000000ull}, +/* EM_PADD2_UUS_R1_R2_R3: padd2.uus */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10618000000ull}, +/* EM_PSUB1_R1_R2_R3: psub1 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10420000000ull}, +/* EM_PSUB2_R1_R2_R3: psub2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10620000000ull}, +/* EM_PSUB4_R1_R2_R3: psub4 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x11420000000ull}, +/* EM_PSUB1_SSS_R1_R2_R3: psub1.sss */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10428000000ull}, +/* EM_PSUB2_SSS_R1_R2_R3: psub2.sss */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10628000000ull}, +/* EM_PSUB1_UUU_R1_R2_R3: psub1.uuu */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10430000000ull}, +/* EM_PSUB2_UUU_R1_R2_R3: psub2.uuu */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10630000000ull}, +/* EM_PSUB1_UUS_R1_R2_R3: psub1.uus */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10438000000ull}, +/* EM_PSUB2_UUS_R1_R2_R3: psub2.uus */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10638000000ull}, +/* EM_PAVG1_R1_R2_R3: pavg1 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10450000000ull}, +/* EM_PAVG2_R1_R2_R3: pavg2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10650000000ull}, +/* EM_PAVG1_RAZ_R1_R2_R3: pavg1.raz */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10458000000ull}, +/* EM_PAVG2_RAZ_R1_R2_R3: pavg2.raz */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10658000000ull}, +/* EM_PAVGSUB1_R1_R2_R3: pavgsub1 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10470000000ull}, +/* EM_PAVGSUB2_R1_R2_R3: pavgsub2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10670000000ull}, +/* EM_PCMP1_EQ_R1_R2_R3: pcmp1.eq */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10520000000ull}, +/* EM_PCMP2_EQ_R1_R2_R3: pcmp2.eq */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10720000000ull}, +/* EM_PCMP4_EQ_R1_R2_R3: pcmp4.eq */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x11520000000ull}, +/* EM_PCMP1_GT_R1_R2_R3: pcmp1.gt */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10528000000ull}, +/* EM_PCMP2_GT_R1_R2_R3: pcmp2.gt */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x10728000000ull}, +/* EM_PCMP4_GT_R1_R2_R3: pcmp4.gt */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A9, 0x11528000000ull}, +/* EM_PSHLADD2_R1_R2_COUNT2_R3: pshladd2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_COUNT_123, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A10, 0x10680000000ull}, +/* EM_PSHRADD2_R1_R2_COUNT2_R3: pshradd2 */ + {A_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_COUNT_123, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_A10, 0x106c0000000ull}, +/* EM_PMPYSHR2_R1_R2_R3_COUNT2: pmpyshr2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_COUNT_PACK, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I1, 0x0e230000000ull}, +/* EM_PMPYSHR2_U_R1_R2_R3_COUNT2: pmpyshr2.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_COUNT_PACK, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I1, 0x0e210000000ull}, +/* EM_PMPY2_R_R1_R2_R3: pmpy2.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ead0000000ull}, +/* EM_PMPY2_L_R1_R2_R3: pmpy2.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0eaf0000000ull}, +/* EM_MIX1_R_R1_R2_R3: mix1.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e880000000ull}, +/* EM_MIX2_R_R1_R2_R3: mix2.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea80000000ull}, +/* EM_MIX4_R_R1_R2_R3: mix4.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0f880000000ull}, +/* EM_MIX1_L_R1_R2_R3: mix1.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e8a0000000ull}, +/* EM_MIX2_L_R1_R2_R3: mix2.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0eaa0000000ull}, +/* EM_MIX4_L_R1_R2_R3: mix4.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0f8a0000000ull}, +/* EM_PACK2_USS_R1_R2_R3: pack2.uss */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea00000000ull}, +/* EM_PACK2_SSS_R1_R2_R3: pack2.sss */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea20000000ull}, +/* EM_PACK4_SSS_R1_R2_R3: pack4.sss */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0f820000000ull}, +/* EM_UNPACK1_H_R1_R2_R3: unpack1.h */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e840000000ull}, +/* EM_UNPACK2_H_R1_R2_R3: unpack2.h */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea40000000ull}, +/* EM_UNPACK4_H_R1_R2_R3: unpack4.h */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0f840000000ull}, +/* EM_UNPACK1_L_R1_R2_R3: unpack1.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e860000000ull}, +/* EM_UNPACK2_L_R1_R2_R3: unpack2.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea60000000ull}, +/* EM_UNPACK4_L_R1_R2_R3: unpack4.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0f860000000ull}, +/* EM_PMIN1_U_R1_R2_R3: pmin1.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e810000000ull}, +/* EM_PMAX1_U_R1_R2_R3: pmax1.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e850000000ull}, +/* EM_PMIN2_R1_R2_R3: pmin2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea30000000ull}, +/* EM_PMAX2_R1_R2_R3: pmax2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0ea70000000ull}, +/* EM_PSAD1_R1_R2_R3: psad1 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I2, 0x0e8b0000000ull}, +/* EM_MUX1_R1_R2_MBTYPE4: mux1 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_MUX1, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I3, 0x0eca0000000ull}, +/* EM_MUX2_R1_R2_MHTYPE8: mux2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I4, 0x0eea0000000ull}, +/* EM_PSHR2_R1_R3_R2: pshr2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0e220000000ull}, +/* EM_PSHR4_R1_R3_R2: pshr4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0f020000000ull}, +/* EM_SHR_R1_R3_R2: shr */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0f220000000ull}, +/* EM_PSHR2_U_R1_R3_R2: pshr2.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0e200000000ull}, +/* EM_PSHR4_U_R1_R3_R2: pshr4.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0f000000000ull}, +/* EM_SHR_U_R1_R3_R2: shr.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I5, 0x0f200000000ull}, +/* EM_PSHR2_R1_R3_COUNT5: pshr2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I6, 0x0e630000000ull}, +/* EM_PSHR4_R1_R3_COUNT5: pshr4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I6, 0x0f430000000ull}, +/* EM_PSHR2_U_R1_R3_COUNT5: pshr2.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I6, 0x0e610000000ull}, +/* EM_PSHR4_U_R1_R3_COUNT5: pshr4.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I6, 0x0f410000000ull}, +/* EM_PSHL2_R1_R2_R3: pshl2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I7, 0x0e240000000ull}, +/* EM_PSHL4_R1_R2_R3: pshl4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I7, 0x0f040000000ull}, +/* EM_SHL_R1_R2_R3: shl */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I7, 0x0f240000000ull}, +/* EM_PSHL2_R1_R2_COUNT5: pshl2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_CCOUNT, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I8, 0x0ee50000000ull}, +/* EM_PSHL4_R1_R2_COUNT5: pshl4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_CCOUNT, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I8, 0x0fc50000000ull}, +/* EM_POPCNT_R1_R3: popcnt */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I9, 0x0e690000000ull}, +/* EM_SHRP_R1_R2_R3_COUNT6: shrp */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I10, 0x0ac00000000ull}, +/* EM_EXTR_U_R1_R3_POS6_LEN6: extr.u */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_UDEC, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I11, 0x0a400000000ull}, +/* EM_EXTR_R1_R3_POS6_LEN6: extr */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_UDEC, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I11, 0x0a400002000ull}, +/* EM_DEP_Z_R1_R2_POS6_LEN6: dep.z */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_CPOS, EM_OPTYPE_UDEC, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I12, 0x0a600000000ull}, +/* EM_DEP_Z_R1_IMM8_POS6_LEN6: dep.z */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_CPOS, EM_OPTYPE_UDEC, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I13, 0x0a604000000ull}, +/* EM_DEP_R1_IMM1_R3_POS6_LEN6: dep */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_SIMM, EM_OPTYPE_IREG, EM_OPTYPE_CPOS, EM_OPTYPE_UDEC, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I14, 0x0ae00000000ull}, +/* EM_DEP_R1_R2_R3_POS6_LEN4: dep */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_CPOS, EM_OPTYPE_UDEC, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I15, 0x08000000000ull}, +/* EM_TBIT_Z_P1_P2_R3_POS6: tbit.z */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0a000000000ull}, +/* EM_TBIT_Z_UNC_P1_P2_R3_POS6: tbit.z.unc */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_I16, 0x0a000001000ull}, +/* EM_TBIT_Z_AND_P1_P2_R3_POS6: tbit.z.and */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0b000000000ull}, +/* EM_TBIT_NZ_AND_P1_P2_R3_POS6: tbit.nz.and */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0b000001000ull}, +/* EM_TBIT_Z_OR_P1_P2_R3_POS6: tbit.z.or */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0a200000000ull}, +/* EM_TBIT_NZ_OR_P1_P2_R3_POS6: tbit.nz.or */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0a200001000ull}, +/* EM_TBIT_Z_OR_ANDCM_P1_P2_R3_POS6: tbit.z.or.andcm */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0b200000000ull}, +/* EM_TBIT_NZ_OR_ANDCM_P1_P2_R3_POS6: tbit.nz.or.andcm */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I16, 0x0b200001000ull}, +/* EM_TNAT_Z_P1_P2_R3: tnat.z */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0a000002000ull}, +/* EM_TNAT_Z_UNC_P1_P2_R3: tnat.z.unc */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_I17, 0x0a000003000ull}, +/* EM_TNAT_Z_AND_P1_P2_R3: tnat.z.and */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0b000002000ull}, +/* EM_TNAT_NZ_AND_P1_P2_R3: tnat.nz.and */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0b000003000ull}, +/* EM_TNAT_Z_OR_P1_P2_R3: tnat.z.or */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0a200002000ull}, +/* EM_TNAT_NZ_OR_P1_P2_R3: tnat.nz.or */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0a200003000ull}, +/* EM_TNAT_Z_OR_ANDCM_P1_P2_R3: tnat.z.or.andcm */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0b200002000ull}, +/* EM_TNAT_NZ_OR_ANDCM_P1_P2_R3: tnat.nz.or.andcm */ + {I_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_I17, 0x0b200003000ull}, +/* EM_NOP_I_IMM21: nop.i */ + {I_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x401, ArchRev0, EM_FORMAT_I18, 0x00008000000ull}, +/* EM_HINT_I_IMM21: hint.i */ + {I_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_I18, 0x0000c000000ull}, +/* EM_BREAK_I_IMM21: break.i */ + {I_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x401, ArchRev0, EM_FORMAT_I19, 0x00000000000ull}, +/* EM_CHK_S_I_R2_TARGET25: chk.s.i */ + {I_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_I20, 0x00200000000ull}, +/* EM_MOV_SPTK_B1_R2_TAG13: mov.sptk */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00000000ull}, +/* EM_MOV_SPTK_IMP_B1_R2_TAG13: mov.sptk.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00800000ull}, +/* EM_MOV_B1_R2_TAG13: mov */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00100000ull}, +/* EM_MOV_IMP_B1_R2_TAG13: mov.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00900000ull}, +/* EM_MOV_DPTK_B1_R2_TAG13: mov.dptk */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00200000ull}, +/* EM_MOV_DPTK_IMP_B1_R2_TAG13: mov.dptk.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00a00000ull}, +/* EM_MOV_RET_SPTK_B1_R2_TAG13: mov.ret.sptk */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00400000ull}, +/* EM_MOV_RET_SPTK_IMP_B1_R2_TAG13: mov.ret.sptk.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00c00000ull}, +/* EM_MOV_RET_B1_R2_TAG13: mov.ret */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00500000ull}, +/* EM_MOV_RET_IMP_B1_R2_TAG13: mov.ret.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00d00000ull}, +/* EM_MOV_RET_DPTK_B1_R2_TAG13: mov.ret.dptk */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00600000ull}, +/* EM_MOV_RET_DPTK_IMP_B1_R2_TAG13: mov.ret.dptk.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I21, 0x00e00e00000ull}, +/* EM_MOV_R1_B2: mov */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I22, 0x00188000000ull}, +/* EM_MOV_PR_R2_MASK17: mov */ + {I_Unit, {EM_OPTYPE_PREGS_ALL, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_1, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I23, 0x00600000000ull}, +/* EM_MOV_PR_ROT_IMM44: mov */ + {I_Unit, {EM_OPTYPE_PREGS_ROT, EM_OPTYPE_SSHIFT_16, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I24, 0x00400000000ull}, +/* EM_MOV_R1_IP: mov */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IP, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I25, 0x00180000000ull}, +/* EM_MOV_R1_PR: mov */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PREGS_ALL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I25, 0x00198000000ull}, +/* EM_MOV_I_AR3_R2: mov.i */ + {I_Unit, {EM_OPTYPE_APP_REG_GRP_HIGH, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I26, 0x00150000000ull}, +/* EM_MOV_I_AR3_IMM8: mov.i */ + {I_Unit, {EM_OPTYPE_APP_REG_GRP_HIGH, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I27, 0x00050000000ull}, +/* EM_MOV_I_R1_AR3: mov.i */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_REG_GRP_HIGH, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I28, 0x00190000000ull}, +/* EM_ZXT1_R1_R3: zxt1 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x00080000000ull}, +/* EM_ZXT2_R1_R3: zxt2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x00088000000ull}, +/* EM_ZXT4_R1_R3: zxt4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x00090000000ull}, +/* EM_SXT1_R1_R3: sxt1 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000a0000000ull}, +/* EM_SXT2_R1_R3: sxt2 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000a8000000ull}, +/* EM_SXT4_R1_R3: sxt4 */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000b0000000ull}, +/* EM_CZX1_L_R1_R3: czx1.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000c0000000ull}, +/* EM_CZX2_L_R1_R3: czx2.l */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000c8000000ull}, +/* EM_CZX1_R_R1_R3: czx1.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000e0000000ull}, +/* EM_CZX2_R_R1_R3: czx2.r */ + {I_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_I29, 0x000e8000000ull}, +/* EM_LD1_R1_R3: ld1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08000000000ull}, +/* EM_LD1_NT1_R1_R3: ld1.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08010000000ull}, +/* EM_LD1_NTA_R1_R3: ld1.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08030000000ull}, +/* EM_LD2_R1_R3: ld2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08040000000ull}, +/* EM_LD2_NT1_R1_R3: ld2.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08050000000ull}, +/* EM_LD2_NTA_R1_R3: ld2.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08070000000ull}, +/* EM_LD4_R1_R3: ld4 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08080000000ull}, +/* EM_LD4_NT1_R1_R3: ld4.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08090000000ull}, +/* EM_LD4_NTA_R1_R3: ld4.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x080b0000000ull}, +/* EM_LD8_R1_R3: ld8 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x080c0000000ull}, +/* EM_LD8_NT1_R1_R3: ld8.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x080d0000000ull}, +/* EM_LD8_NTA_R1_R3: ld8.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x080f0000000ull}, +/* EM_LD1_S_R1_R3: ld1.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08100000000ull}, +/* EM_LD1_S_NT1_R1_R3: ld1.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08110000000ull}, +/* EM_LD1_S_NTA_R1_R3: ld1.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08130000000ull}, +/* EM_LD2_S_R1_R3: ld2.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08140000000ull}, +/* EM_LD2_S_NT1_R1_R3: ld2.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08150000000ull}, +/* EM_LD2_S_NTA_R1_R3: ld2.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08170000000ull}, +/* EM_LD4_S_R1_R3: ld4.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08180000000ull}, +/* EM_LD4_S_NT1_R1_R3: ld4.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08190000000ull}, +/* EM_LD4_S_NTA_R1_R3: ld4.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x081b0000000ull}, +/* EM_LD8_S_R1_R3: ld8.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x081c0000000ull}, +/* EM_LD8_S_NT1_R1_R3: ld8.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x081d0000000ull}, +/* EM_LD8_S_NTA_R1_R3: ld8.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x081f0000000ull}, +/* EM_LD1_A_R1_R3: ld1.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08200000000ull}, +/* EM_LD1_A_NT1_R1_R3: ld1.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08210000000ull}, +/* EM_LD1_A_NTA_R1_R3: ld1.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08230000000ull}, +/* EM_LD2_A_R1_R3: ld2.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08240000000ull}, +/* EM_LD2_A_NT1_R1_R3: ld2.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08250000000ull}, +/* EM_LD2_A_NTA_R1_R3: ld2.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08270000000ull}, +/* EM_LD4_A_R1_R3: ld4.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08280000000ull}, +/* EM_LD4_A_NT1_R1_R3: ld4.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08290000000ull}, +/* EM_LD4_A_NTA_R1_R3: ld4.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x082b0000000ull}, +/* EM_LD8_A_R1_R3: ld8.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x082c0000000ull}, +/* EM_LD8_A_NT1_R1_R3: ld8.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x082d0000000ull}, +/* EM_LD8_A_NTA_R1_R3: ld8.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x082f0000000ull}, +/* EM_LD1_SA_R1_R3: ld1.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08300000000ull}, +/* EM_LD1_SA_NT1_R1_R3: ld1.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08310000000ull}, +/* EM_LD1_SA_NTA_R1_R3: ld1.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08330000000ull}, +/* EM_LD2_SA_R1_R3: ld2.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08340000000ull}, +/* EM_LD2_SA_NT1_R1_R3: ld2.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08350000000ull}, +/* EM_LD2_SA_NTA_R1_R3: ld2.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08370000000ull}, +/* EM_LD4_SA_R1_R3: ld4.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08380000000ull}, +/* EM_LD4_SA_NT1_R1_R3: ld4.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08390000000ull}, +/* EM_LD4_SA_NTA_R1_R3: ld4.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x083b0000000ull}, +/* EM_LD8_SA_R1_R3: ld8.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x083c0000000ull}, +/* EM_LD8_SA_NT1_R1_R3: ld8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x083d0000000ull}, +/* EM_LD8_SA_NTA_R1_R3: ld8.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x083f0000000ull}, +/* EM_LD1_BIAS_R1_R3: ld1.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08400000000ull}, +/* EM_LD1_BIAS_NT1_R1_R3: ld1.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08410000000ull}, +/* EM_LD1_BIAS_NTA_R1_R3: ld1.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08430000000ull}, +/* EM_LD2_BIAS_R1_R3: ld2.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08440000000ull}, +/* EM_LD2_BIAS_NT1_R1_R3: ld2.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08450000000ull}, +/* EM_LD2_BIAS_NTA_R1_R3: ld2.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08470000000ull}, +/* EM_LD4_BIAS_R1_R3: ld4.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08480000000ull}, +/* EM_LD4_BIAS_NT1_R1_R3: ld4.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08490000000ull}, +/* EM_LD4_BIAS_NTA_R1_R3: ld4.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x084b0000000ull}, +/* EM_LD8_BIAS_R1_R3: ld8.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x084c0000000ull}, +/* EM_LD8_BIAS_NT1_R1_R3: ld8.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x084d0000000ull}, +/* EM_LD8_BIAS_NTA_R1_R3: ld8.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x084f0000000ull}, +/* EM_LD1_ACQ_R1_R3: ld1.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08500000000ull}, +/* EM_LD1_ACQ_NT1_R1_R3: ld1.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08510000000ull}, +/* EM_LD1_ACQ_NTA_R1_R3: ld1.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08530000000ull}, +/* EM_LD2_ACQ_R1_R3: ld2.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08540000000ull}, +/* EM_LD2_ACQ_NT1_R1_R3: ld2.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08550000000ull}, +/* EM_LD2_ACQ_NTA_R1_R3: ld2.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08570000000ull}, +/* EM_LD4_ACQ_R1_R3: ld4.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08580000000ull}, +/* EM_LD4_ACQ_NT1_R1_R3: ld4.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08590000000ull}, +/* EM_LD4_ACQ_NTA_R1_R3: ld4.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x085b0000000ull}, +/* EM_LD8_ACQ_R1_R3: ld8.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x085c0000000ull}, +/* EM_LD8_ACQ_NT1_R1_R3: ld8.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x085d0000000ull}, +/* EM_LD8_ACQ_NTA_R1_R3: ld8.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x085f0000000ull}, +/* EM_LD8_FILL_R1_R3: ld8.fill */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x086c0000000ull}, +/* EM_LD8_FILL_NT1_R1_R3: ld8.fill.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x086d0000000ull}, +/* EM_LD8_FILL_NTA_R1_R3: ld8.fill.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x086f0000000ull}, +/* EM_LD1_C_CLR_R1_R3: ld1.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08800000000ull}, +/* EM_LD1_C_CLR_NT1_R1_R3: ld1.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08810000000ull}, +/* EM_LD1_C_CLR_NTA_R1_R3: ld1.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08830000000ull}, +/* EM_LD2_C_CLR_R1_R3: ld2.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08840000000ull}, +/* EM_LD2_C_CLR_NT1_R1_R3: ld2.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08850000000ull}, +/* EM_LD2_C_CLR_NTA_R1_R3: ld2.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08870000000ull}, +/* EM_LD4_C_CLR_R1_R3: ld4.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08880000000ull}, +/* EM_LD4_C_CLR_NT1_R1_R3: ld4.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08890000000ull}, +/* EM_LD4_C_CLR_NTA_R1_R3: ld4.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x088b0000000ull}, +/* EM_LD8_C_CLR_R1_R3: ld8.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x088c0000000ull}, +/* EM_LD8_C_CLR_NT1_R1_R3: ld8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x088d0000000ull}, +/* EM_LD8_C_CLR_NTA_R1_R3: ld8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x088f0000000ull}, +/* EM_LD1_C_NC_R1_R3: ld1.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08900000000ull}, +/* EM_LD1_C_NC_NT1_R1_R3: ld1.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08910000000ull}, +/* EM_LD1_C_NC_NTA_R1_R3: ld1.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08930000000ull}, +/* EM_LD2_C_NC_R1_R3: ld2.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08940000000ull}, +/* EM_LD2_C_NC_NT1_R1_R3: ld2.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08950000000ull}, +/* EM_LD2_C_NC_NTA_R1_R3: ld2.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08970000000ull}, +/* EM_LD4_C_NC_R1_R3: ld4.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08980000000ull}, +/* EM_LD4_C_NC_NT1_R1_R3: ld4.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08990000000ull}, +/* EM_LD4_C_NC_NTA_R1_R3: ld4.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x089b0000000ull}, +/* EM_LD8_C_NC_R1_R3: ld8.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x089c0000000ull}, +/* EM_LD8_C_NC_NT1_R1_R3: ld8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x089d0000000ull}, +/* EM_LD8_C_NC_NTA_R1_R3: ld8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x089f0000000ull}, +/* EM_LD1_C_CLR_ACQ_R1_R3: ld1.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a00000000ull}, +/* EM_LD1_C_CLR_ACQ_NT1_R1_R3: ld1.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a10000000ull}, +/* EM_LD1_C_CLR_ACQ_NTA_R1_R3: ld1.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a30000000ull}, +/* EM_LD2_C_CLR_ACQ_R1_R3: ld2.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a40000000ull}, +/* EM_LD2_C_CLR_ACQ_NT1_R1_R3: ld2.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a50000000ull}, +/* EM_LD2_C_CLR_ACQ_NTA_R1_R3: ld2.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a70000000ull}, +/* EM_LD4_C_CLR_ACQ_R1_R3: ld4.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a80000000ull}, +/* EM_LD4_C_CLR_ACQ_NT1_R1_R3: ld4.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08a90000000ull}, +/* EM_LD4_C_CLR_ACQ_NTA_R1_R3: ld4.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08ab0000000ull}, +/* EM_LD8_C_CLR_ACQ_R1_R3: ld8.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08ac0000000ull}, +/* EM_LD8_C_CLR_ACQ_NT1_R1_R3: ld8.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08ad0000000ull}, +/* EM_LD8_C_CLR_ACQ_NTA_R1_R3: ld8.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M1, 0x08af0000000ull}, +/* EM_LD16_R1_AR_CSD_R3: ld16 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08a08000000ull}, +/* EM_LD16_NT1_R1_AR_CSD_R3: ld16.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08a18000000ull}, +/* EM_LD16_NTA_R1_AR_CSD_R3: ld16.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08a38000000ull}, +/* EM_LD16_ACQ_R1_AR_CSD_R3: ld16.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08b08000000ull}, +/* EM_LD16_ACQ_NT1_R1_AR_CSD_R3: ld16.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08b18000000ull}, +/* EM_LD16_ACQ_NTA_R1_AR_CSD_R3: ld16.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x5, Impl_AtomicOps, EM_FORMAT_M1, 0x08b38000000ull}, +/* EM_LD1_R1_R3_R2: ld1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09000000000ull}, +/* EM_LD1_NT1_R1_R3_R2: ld1.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09010000000ull}, +/* EM_LD1_NTA_R1_R3_R2: ld1.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09030000000ull}, +/* EM_LD2_R1_R3_R2: ld2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09040000000ull}, +/* EM_LD2_NT1_R1_R3_R2: ld2.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09050000000ull}, +/* EM_LD2_NTA_R1_R3_R2: ld2.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09070000000ull}, +/* EM_LD4_R1_R3_R2: ld4 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09080000000ull}, +/* EM_LD4_NT1_R1_R3_R2: ld4.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09090000000ull}, +/* EM_LD4_NTA_R1_R3_R2: ld4.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x090b0000000ull}, +/* EM_LD8_R1_R3_R2: ld8 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x090c0000000ull}, +/* EM_LD8_NT1_R1_R3_R2: ld8.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x090d0000000ull}, +/* EM_LD8_NTA_R1_R3_R2: ld8.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x090f0000000ull}, +/* EM_LD1_S_R1_R3_R2: ld1.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09100000000ull}, +/* EM_LD1_S_NT1_R1_R3_R2: ld1.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09110000000ull}, +/* EM_LD1_S_NTA_R1_R3_R2: ld1.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09130000000ull}, +/* EM_LD2_S_R1_R3_R2: ld2.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09140000000ull}, +/* EM_LD2_S_NT1_R1_R3_R2: ld2.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09150000000ull}, +/* EM_LD2_S_NTA_R1_R3_R2: ld2.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09170000000ull}, +/* EM_LD4_S_R1_R3_R2: ld4.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09180000000ull}, +/* EM_LD4_S_NT1_R1_R3_R2: ld4.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09190000000ull}, +/* EM_LD4_S_NTA_R1_R3_R2: ld4.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x091b0000000ull}, +/* EM_LD8_S_R1_R3_R2: ld8.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x091c0000000ull}, +/* EM_LD8_S_NT1_R1_R3_R2: ld8.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x091d0000000ull}, +/* EM_LD8_S_NTA_R1_R3_R2: ld8.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x091f0000000ull}, +/* EM_LD1_A_R1_R3_R2: ld1.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09200000000ull}, +/* EM_LD1_A_NT1_R1_R3_R2: ld1.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09210000000ull}, +/* EM_LD1_A_NTA_R1_R3_R2: ld1.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09230000000ull}, +/* EM_LD2_A_R1_R3_R2: ld2.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09240000000ull}, +/* EM_LD2_A_NT1_R1_R3_R2: ld2.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09250000000ull}, +/* EM_LD2_A_NTA_R1_R3_R2: ld2.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09270000000ull}, +/* EM_LD4_A_R1_R3_R2: ld4.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09280000000ull}, +/* EM_LD4_A_NT1_R1_R3_R2: ld4.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09290000000ull}, +/* EM_LD4_A_NTA_R1_R3_R2: ld4.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x092b0000000ull}, +/* EM_LD8_A_R1_R3_R2: ld8.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x092c0000000ull}, +/* EM_LD8_A_NT1_R1_R3_R2: ld8.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x092d0000000ull}, +/* EM_LD8_A_NTA_R1_R3_R2: ld8.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x092f0000000ull}, +/* EM_LD1_SA_R1_R3_R2: ld1.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09300000000ull}, +/* EM_LD1_SA_NT1_R1_R3_R2: ld1.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09310000000ull}, +/* EM_LD1_SA_NTA_R1_R3_R2: ld1.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09330000000ull}, +/* EM_LD2_SA_R1_R3_R2: ld2.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09340000000ull}, +/* EM_LD2_SA_NT1_R1_R3_R2: ld2.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09350000000ull}, +/* EM_LD2_SA_NTA_R1_R3_R2: ld2.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09370000000ull}, +/* EM_LD4_SA_R1_R3_R2: ld4.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09380000000ull}, +/* EM_LD4_SA_NT1_R1_R3_R2: ld4.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09390000000ull}, +/* EM_LD4_SA_NTA_R1_R3_R2: ld4.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x093b0000000ull}, +/* EM_LD8_SA_R1_R3_R2: ld8.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x093c0000000ull}, +/* EM_LD8_SA_NT1_R1_R3_R2: ld8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x093d0000000ull}, +/* EM_LD8_SA_NTA_R1_R3_R2: ld8.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x093f0000000ull}, +/* EM_LD1_BIAS_R1_R3_R2: ld1.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09400000000ull}, +/* EM_LD1_BIAS_NT1_R1_R3_R2: ld1.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09410000000ull}, +/* EM_LD1_BIAS_NTA_R1_R3_R2: ld1.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09430000000ull}, +/* EM_LD2_BIAS_R1_R3_R2: ld2.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09440000000ull}, +/* EM_LD2_BIAS_NT1_R1_R3_R2: ld2.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09450000000ull}, +/* EM_LD2_BIAS_NTA_R1_R3_R2: ld2.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09470000000ull}, +/* EM_LD4_BIAS_R1_R3_R2: ld4.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09480000000ull}, +/* EM_LD4_BIAS_NT1_R1_R3_R2: ld4.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09490000000ull}, +/* EM_LD4_BIAS_NTA_R1_R3_R2: ld4.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x094b0000000ull}, +/* EM_LD8_BIAS_R1_R3_R2: ld8.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x094c0000000ull}, +/* EM_LD8_BIAS_NT1_R1_R3_R2: ld8.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x094d0000000ull}, +/* EM_LD8_BIAS_NTA_R1_R3_R2: ld8.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x094f0000000ull}, +/* EM_LD1_ACQ_R1_R3_R2: ld1.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09500000000ull}, +/* EM_LD1_ACQ_NT1_R1_R3_R2: ld1.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09510000000ull}, +/* EM_LD1_ACQ_NTA_R1_R3_R2: ld1.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09530000000ull}, +/* EM_LD2_ACQ_R1_R3_R2: ld2.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09540000000ull}, +/* EM_LD2_ACQ_NT1_R1_R3_R2: ld2.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09550000000ull}, +/* EM_LD2_ACQ_NTA_R1_R3_R2: ld2.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09570000000ull}, +/* EM_LD4_ACQ_R1_R3_R2: ld4.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09580000000ull}, +/* EM_LD4_ACQ_NT1_R1_R3_R2: ld4.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09590000000ull}, +/* EM_LD4_ACQ_NTA_R1_R3_R2: ld4.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x095b0000000ull}, +/* EM_LD8_ACQ_R1_R3_R2: ld8.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x095c0000000ull}, +/* EM_LD8_ACQ_NT1_R1_R3_R2: ld8.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x095d0000000ull}, +/* EM_LD8_ACQ_NTA_R1_R3_R2: ld8.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x095f0000000ull}, +/* EM_LD8_FILL_R1_R3_R2: ld8.fill */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x096c0000000ull}, +/* EM_LD8_FILL_NT1_R1_R3_R2: ld8.fill.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x096d0000000ull}, +/* EM_LD8_FILL_NTA_R1_R3_R2: ld8.fill.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x096f0000000ull}, +/* EM_LD1_C_CLR_R1_R3_R2: ld1.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09800000000ull}, +/* EM_LD1_C_CLR_NT1_R1_R3_R2: ld1.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09810000000ull}, +/* EM_LD1_C_CLR_NTA_R1_R3_R2: ld1.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09830000000ull}, +/* EM_LD2_C_CLR_R1_R3_R2: ld2.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09840000000ull}, +/* EM_LD2_C_CLR_NT1_R1_R3_R2: ld2.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09850000000ull}, +/* EM_LD2_C_CLR_NTA_R1_R3_R2: ld2.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09870000000ull}, +/* EM_LD4_C_CLR_R1_R3_R2: ld4.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09880000000ull}, +/* EM_LD4_C_CLR_NT1_R1_R3_R2: ld4.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09890000000ull}, +/* EM_LD4_C_CLR_NTA_R1_R3_R2: ld4.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x098b0000000ull}, +/* EM_LD8_C_CLR_R1_R3_R2: ld8.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x098c0000000ull}, +/* EM_LD8_C_CLR_NT1_R1_R3_R2: ld8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x098d0000000ull}, +/* EM_LD8_C_CLR_NTA_R1_R3_R2: ld8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x098f0000000ull}, +/* EM_LD1_C_NC_R1_R3_R2: ld1.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09900000000ull}, +/* EM_LD1_C_NC_NT1_R1_R3_R2: ld1.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09910000000ull}, +/* EM_LD1_C_NC_NTA_R1_R3_R2: ld1.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09930000000ull}, +/* EM_LD2_C_NC_R1_R3_R2: ld2.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09940000000ull}, +/* EM_LD2_C_NC_NT1_R1_R3_R2: ld2.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09950000000ull}, +/* EM_LD2_C_NC_NTA_R1_R3_R2: ld2.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09970000000ull}, +/* EM_LD4_C_NC_R1_R3_R2: ld4.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09980000000ull}, +/* EM_LD4_C_NC_NT1_R1_R3_R2: ld4.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09990000000ull}, +/* EM_LD4_C_NC_NTA_R1_R3_R2: ld4.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x099b0000000ull}, +/* EM_LD8_C_NC_R1_R3_R2: ld8.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x099c0000000ull}, +/* EM_LD8_C_NC_NT1_R1_R3_R2: ld8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x099d0000000ull}, +/* EM_LD8_C_NC_NTA_R1_R3_R2: ld8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x099f0000000ull}, +/* EM_LD1_C_CLR_ACQ_R1_R3_R2: ld1.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a00000000ull}, +/* EM_LD1_C_CLR_ACQ_NT1_R1_R3_R2: ld1.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a10000000ull}, +/* EM_LD1_C_CLR_ACQ_NTA_R1_R3_R2: ld1.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a30000000ull}, +/* EM_LD2_C_CLR_ACQ_R1_R3_R2: ld2.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a40000000ull}, +/* EM_LD2_C_CLR_ACQ_NT1_R1_R3_R2: ld2.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a50000000ull}, +/* EM_LD2_C_CLR_ACQ_NTA_R1_R3_R2: ld2.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a70000000ull}, +/* EM_LD4_C_CLR_ACQ_R1_R3_R2: ld4.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a80000000ull}, +/* EM_LD4_C_CLR_ACQ_NT1_R1_R3_R2: ld4.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09a90000000ull}, +/* EM_LD4_C_CLR_ACQ_NTA_R1_R3_R2: ld4.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09ab0000000ull}, +/* EM_LD8_C_CLR_ACQ_R1_R3_R2: ld8.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09ac0000000ull}, +/* EM_LD8_C_CLR_ACQ_NT1_R1_R3_R2: ld8.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09ad0000000ull}, +/* EM_LD8_C_CLR_ACQ_NTA_R1_R3_R2: ld8.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M2, 0x09af0000000ull}, +/* EM_LD1_R1_R3_IMM9: ld1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a000000000ull}, +/* EM_LD1_NT1_R1_R3_IMM9: ld1.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a010000000ull}, +/* EM_LD1_NTA_R1_R3_IMM9: ld1.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a030000000ull}, +/* EM_LD2_R1_R3_IMM9: ld2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a040000000ull}, +/* EM_LD2_NT1_R1_R3_IMM9: ld2.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a050000000ull}, +/* EM_LD2_NTA_R1_R3_IMM9: ld2.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a070000000ull}, +/* EM_LD4_R1_R3_IMM9: ld4 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a080000000ull}, +/* EM_LD4_NT1_R1_R3_IMM9: ld4.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a090000000ull}, +/* EM_LD4_NTA_R1_R3_IMM9: ld4.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a0b0000000ull}, +/* EM_LD8_R1_R3_IMM9: ld8 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a0c0000000ull}, +/* EM_LD8_NT1_R1_R3_IMM9: ld8.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a0d0000000ull}, +/* EM_LD8_NTA_R1_R3_IMM9: ld8.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a0f0000000ull}, +/* EM_LD1_S_R1_R3_IMM9: ld1.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a100000000ull}, +/* EM_LD1_S_NT1_R1_R3_IMM9: ld1.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a110000000ull}, +/* EM_LD1_S_NTA_R1_R3_IMM9: ld1.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a130000000ull}, +/* EM_LD2_S_R1_R3_IMM9: ld2.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a140000000ull}, +/* EM_LD2_S_NT1_R1_R3_IMM9: ld2.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a150000000ull}, +/* EM_LD2_S_NTA_R1_R3_IMM9: ld2.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a170000000ull}, +/* EM_LD4_S_R1_R3_IMM9: ld4.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a180000000ull}, +/* EM_LD4_S_NT1_R1_R3_IMM9: ld4.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a190000000ull}, +/* EM_LD4_S_NTA_R1_R3_IMM9: ld4.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a1b0000000ull}, +/* EM_LD8_S_R1_R3_IMM9: ld8.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a1c0000000ull}, +/* EM_LD8_S_NT1_R1_R3_IMM9: ld8.s.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a1d0000000ull}, +/* EM_LD8_S_NTA_R1_R3_IMM9: ld8.s.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a1f0000000ull}, +/* EM_LD1_A_R1_R3_IMM9: ld1.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a200000000ull}, +/* EM_LD1_A_NT1_R1_R3_IMM9: ld1.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a210000000ull}, +/* EM_LD1_A_NTA_R1_R3_IMM9: ld1.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a230000000ull}, +/* EM_LD2_A_R1_R3_IMM9: ld2.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a240000000ull}, +/* EM_LD2_A_NT1_R1_R3_IMM9: ld2.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a250000000ull}, +/* EM_LD2_A_NTA_R1_R3_IMM9: ld2.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a270000000ull}, +/* EM_LD4_A_R1_R3_IMM9: ld4.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a280000000ull}, +/* EM_LD4_A_NT1_R1_R3_IMM9: ld4.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a290000000ull}, +/* EM_LD4_A_NTA_R1_R3_IMM9: ld4.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a2b0000000ull}, +/* EM_LD8_A_R1_R3_IMM9: ld8.a */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a2c0000000ull}, +/* EM_LD8_A_NT1_R1_R3_IMM9: ld8.a.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a2d0000000ull}, +/* EM_LD8_A_NTA_R1_R3_IMM9: ld8.a.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a2f0000000ull}, +/* EM_LD1_SA_R1_R3_IMM9: ld1.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a300000000ull}, +/* EM_LD1_SA_NT1_R1_R3_IMM9: ld1.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a310000000ull}, +/* EM_LD1_SA_NTA_R1_R3_IMM9: ld1.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a330000000ull}, +/* EM_LD2_SA_R1_R3_IMM9: ld2.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a340000000ull}, +/* EM_LD2_SA_NT1_R1_R3_IMM9: ld2.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a350000000ull}, +/* EM_LD2_SA_NTA_R1_R3_IMM9: ld2.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a370000000ull}, +/* EM_LD4_SA_R1_R3_IMM9: ld4.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a380000000ull}, +/* EM_LD4_SA_NT1_R1_R3_IMM9: ld4.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a390000000ull}, +/* EM_LD4_SA_NTA_R1_R3_IMM9: ld4.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a3b0000000ull}, +/* EM_LD8_SA_R1_R3_IMM9: ld8.sa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a3c0000000ull}, +/* EM_LD8_SA_NT1_R1_R3_IMM9: ld8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a3d0000000ull}, +/* EM_LD8_SA_NTA_R1_R3_IMM9: ld8.sa.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a3f0000000ull}, +/* EM_LD1_BIAS_R1_R3_IMM9: ld1.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a400000000ull}, +/* EM_LD1_BIAS_NT1_R1_R3_IMM9: ld1.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a410000000ull}, +/* EM_LD1_BIAS_NTA_R1_R3_IMM9: ld1.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a430000000ull}, +/* EM_LD2_BIAS_R1_R3_IMM9: ld2.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a440000000ull}, +/* EM_LD2_BIAS_NT1_R1_R3_IMM9: ld2.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a450000000ull}, +/* EM_LD2_BIAS_NTA_R1_R3_IMM9: ld2.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a470000000ull}, +/* EM_LD4_BIAS_R1_R3_IMM9: ld4.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a480000000ull}, +/* EM_LD4_BIAS_NT1_R1_R3_IMM9: ld4.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a490000000ull}, +/* EM_LD4_BIAS_NTA_R1_R3_IMM9: ld4.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a4b0000000ull}, +/* EM_LD8_BIAS_R1_R3_IMM9: ld8.bias */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a4c0000000ull}, +/* EM_LD8_BIAS_NT1_R1_R3_IMM9: ld8.bias.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a4d0000000ull}, +/* EM_LD8_BIAS_NTA_R1_R3_IMM9: ld8.bias.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a4f0000000ull}, +/* EM_LD1_ACQ_R1_R3_IMM9: ld1.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a500000000ull}, +/* EM_LD1_ACQ_NT1_R1_R3_IMM9: ld1.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a510000000ull}, +/* EM_LD1_ACQ_NTA_R1_R3_IMM9: ld1.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a530000000ull}, +/* EM_LD2_ACQ_R1_R3_IMM9: ld2.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a540000000ull}, +/* EM_LD2_ACQ_NT1_R1_R3_IMM9: ld2.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a550000000ull}, +/* EM_LD2_ACQ_NTA_R1_R3_IMM9: ld2.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a570000000ull}, +/* EM_LD4_ACQ_R1_R3_IMM9: ld4.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a580000000ull}, +/* EM_LD4_ACQ_NT1_R1_R3_IMM9: ld4.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a590000000ull}, +/* EM_LD4_ACQ_NTA_R1_R3_IMM9: ld4.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a5b0000000ull}, +/* EM_LD8_ACQ_R1_R3_IMM9: ld8.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a5c0000000ull}, +/* EM_LD8_ACQ_NT1_R1_R3_IMM9: ld8.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a5d0000000ull}, +/* EM_LD8_ACQ_NTA_R1_R3_IMM9: ld8.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a5f0000000ull}, +/* EM_LD8_FILL_R1_R3_IMM9: ld8.fill */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a6c0000000ull}, +/* EM_LD8_FILL_NT1_R1_R3_IMM9: ld8.fill.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a6d0000000ull}, +/* EM_LD8_FILL_NTA_R1_R3_IMM9: ld8.fill.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a6f0000000ull}, +/* EM_LD1_C_CLR_R1_R3_IMM9: ld1.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a800000000ull}, +/* EM_LD1_C_CLR_NT1_R1_R3_IMM9: ld1.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a810000000ull}, +/* EM_LD1_C_CLR_NTA_R1_R3_IMM9: ld1.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a830000000ull}, +/* EM_LD2_C_CLR_R1_R3_IMM9: ld2.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a840000000ull}, +/* EM_LD2_C_CLR_NT1_R1_R3_IMM9: ld2.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a850000000ull}, +/* EM_LD2_C_CLR_NTA_R1_R3_IMM9: ld2.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a870000000ull}, +/* EM_LD4_C_CLR_R1_R3_IMM9: ld4.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a880000000ull}, +/* EM_LD4_C_CLR_NT1_R1_R3_IMM9: ld4.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a890000000ull}, +/* EM_LD4_C_CLR_NTA_R1_R3_IMM9: ld4.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a8b0000000ull}, +/* EM_LD8_C_CLR_R1_R3_IMM9: ld8.c.clr */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a8c0000000ull}, +/* EM_LD8_C_CLR_NT1_R1_R3_IMM9: ld8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a8d0000000ull}, +/* EM_LD8_C_CLR_NTA_R1_R3_IMM9: ld8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a8f0000000ull}, +/* EM_LD1_C_NC_R1_R3_IMM9: ld1.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a900000000ull}, +/* EM_LD1_C_NC_NT1_R1_R3_IMM9: ld1.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a910000000ull}, +/* EM_LD1_C_NC_NTA_R1_R3_IMM9: ld1.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a930000000ull}, +/* EM_LD2_C_NC_R1_R3_IMM9: ld2.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a940000000ull}, +/* EM_LD2_C_NC_NT1_R1_R3_IMM9: ld2.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a950000000ull}, +/* EM_LD2_C_NC_NTA_R1_R3_IMM9: ld2.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a970000000ull}, +/* EM_LD4_C_NC_R1_R3_IMM9: ld4.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a980000000ull}, +/* EM_LD4_C_NC_NT1_R1_R3_IMM9: ld4.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a990000000ull}, +/* EM_LD4_C_NC_NTA_R1_R3_IMM9: ld4.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a9b0000000ull}, +/* EM_LD8_C_NC_R1_R3_IMM9: ld8.c.nc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a9c0000000ull}, +/* EM_LD8_C_NC_NT1_R1_R3_IMM9: ld8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a9d0000000ull}, +/* EM_LD8_C_NC_NTA_R1_R3_IMM9: ld8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0a9f0000000ull}, +/* EM_LD1_C_CLR_ACQ_R1_R3_IMM9: ld1.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa00000000ull}, +/* EM_LD1_C_CLR_ACQ_NT1_R1_R3_IMM9: ld1.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa10000000ull}, +/* EM_LD1_C_CLR_ACQ_NTA_R1_R3_IMM9: ld1.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa30000000ull}, +/* EM_LD2_C_CLR_ACQ_R1_R3_IMM9: ld2.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa40000000ull}, +/* EM_LD2_C_CLR_ACQ_NT1_R1_R3_IMM9: ld2.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa50000000ull}, +/* EM_LD2_C_CLR_ACQ_NTA_R1_R3_IMM9: ld2.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa70000000ull}, +/* EM_LD4_C_CLR_ACQ_R1_R3_IMM9: ld4.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa80000000ull}, +/* EM_LD4_C_CLR_ACQ_NT1_R1_R3_IMM9: ld4.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aa90000000ull}, +/* EM_LD4_C_CLR_ACQ_NTA_R1_R3_IMM9: ld4.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aab0000000ull}, +/* EM_LD8_C_CLR_ACQ_R1_R3_IMM9: ld8.c.clr.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aac0000000ull}, +/* EM_LD8_C_CLR_ACQ_NT1_R1_R3_IMM9: ld8.c.clr.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aad0000000ull}, +/* EM_LD8_C_CLR_ACQ_NTA_R1_R3_IMM9: ld8.c.clr.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x15, ArchRev0, EM_FORMAT_M3, 0x0aaf0000000ull}, +/* EM_ST1_R3_R2: st1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08c00000000ull}, +/* EM_ST1_NTA_R3_R2: st1.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08c30000000ull}, +/* EM_ST2_R3_R2: st2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08c40000000ull}, +/* EM_ST2_NTA_R3_R2: st2.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08c70000000ull}, +/* EM_ST4_R3_R2: st4 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08c80000000ull}, +/* EM_ST4_NTA_R3_R2: st4.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08cb0000000ull}, +/* EM_ST8_R3_R2: st8 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08cc0000000ull}, +/* EM_ST8_NTA_R3_R2: st8.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08cf0000000ull}, +/* EM_ST1_REL_R3_R2: st1.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08d00000000ull}, +/* EM_ST1_REL_NTA_R3_R2: st1.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08d30000000ull}, +/* EM_ST2_REL_R3_R2: st2.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08d40000000ull}, +/* EM_ST2_REL_NTA_R3_R2: st2.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08d70000000ull}, +/* EM_ST4_REL_R3_R2: st4.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08d80000000ull}, +/* EM_ST4_REL_NTA_R3_R2: st4.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08db0000000ull}, +/* EM_ST8_REL_R3_R2: st8.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08dc0000000ull}, +/* EM_ST8_REL_NTA_R3_R2: st8.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08df0000000ull}, +/* EM_ST8_SPILL_R3_R2: st8.spill */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08ec0000000ull}, +/* EM_ST8_SPILL_NTA_R3_R2: st8.spill.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M4, 0x08ef0000000ull}, +/* EM_ST16_R3_R2_AR_CSD: st16 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, Impl_AtomicOps, EM_FORMAT_M4, 0x08c08000000ull}, +/* EM_ST16_NTA_R3_R2_AR_CSD: st16.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, Impl_AtomicOps, EM_FORMAT_M4, 0x08c38000000ull}, +/* EM_ST16_REL_R3_R2_AR_CSD: st16.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, Impl_AtomicOps, EM_FORMAT_M4, 0x08d08000000ull}, +/* EM_ST16_REL_NTA_R3_R2_AR_CSD: st16.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, Impl_AtomicOps, EM_FORMAT_M4, 0x08d38000000ull}, +/* EM_ST1_R3_R2_IMM9: st1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ac00000000ull}, +/* EM_ST1_NTA_R3_R2_IMM9: st1.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ac30000000ull}, +/* EM_ST2_R3_R2_IMM9: st2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ac40000000ull}, +/* EM_ST2_NTA_R3_R2_IMM9: st2.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ac70000000ull}, +/* EM_ST4_R3_R2_IMM9: st4 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ac80000000ull}, +/* EM_ST4_NTA_R3_R2_IMM9: st4.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0acb0000000ull}, +/* EM_ST8_R3_R2_IMM9: st8 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0acc0000000ull}, +/* EM_ST8_NTA_R3_R2_IMM9: st8.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0acf0000000ull}, +/* EM_ST1_REL_R3_R2_IMM9: st1.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ad00000000ull}, +/* EM_ST1_REL_NTA_R3_R2_IMM9: st1.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ad30000000ull}, +/* EM_ST2_REL_R3_R2_IMM9: st2.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ad40000000ull}, +/* EM_ST2_REL_NTA_R3_R2_IMM9: st2.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ad70000000ull}, +/* EM_ST4_REL_R3_R2_IMM9: st4.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0ad80000000ull}, +/* EM_ST4_REL_NTA_R3_R2_IMM9: st4.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0adb0000000ull}, +/* EM_ST8_REL_R3_R2_IMM9: st8.rel */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0adc0000000ull}, +/* EM_ST8_REL_NTA_R3_R2_IMM9: st8.rel.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0adf0000000ull}, +/* EM_ST8_SPILL_R3_R2_IMM9: st8.spill */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0aec0000000ull}, +/* EM_ST8_SPILL_NTA_R3_R2_IMM9: st8.spill.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M5, 0x0aef0000000ull}, +/* EM_LDFS_F1_R3: ldfs */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c080000000ull}, +/* EM_LDFS_NT1_F1_R3: ldfs.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c090000000ull}, +/* EM_LDFS_NTA_F1_R3: ldfs.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c0b0000000ull}, +/* EM_LDFD_F1_R3: ldfd */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c0c0000000ull}, +/* EM_LDFD_NT1_F1_R3: ldfd.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c0d0000000ull}, +/* EM_LDFD_NTA_F1_R3: ldfd.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c0f0000000ull}, +/* EM_LDF8_F1_R3: ldf8 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c040000000ull}, +/* EM_LDF8_NT1_F1_R3: ldf8.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c050000000ull}, +/* EM_LDF8_NTA_F1_R3: ldf8.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c070000000ull}, +/* EM_LDFE_F1_R3: ldfe */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c000000000ull}, +/* EM_LDFE_NT1_F1_R3: ldfe.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c010000000ull}, +/* EM_LDFE_NTA_F1_R3: ldfe.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c030000000ull}, +/* EM_LDFS_S_F1_R3: ldfs.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c180000000ull}, +/* EM_LDFS_S_NT1_F1_R3: ldfs.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c190000000ull}, +/* EM_LDFS_S_NTA_F1_R3: ldfs.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c1b0000000ull}, +/* EM_LDFD_S_F1_R3: ldfd.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c1c0000000ull}, +/* EM_LDFD_S_NT1_F1_R3: ldfd.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c1d0000000ull}, +/* EM_LDFD_S_NTA_F1_R3: ldfd.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c1f0000000ull}, +/* EM_LDF8_S_F1_R3: ldf8.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c140000000ull}, +/* EM_LDF8_S_NT1_F1_R3: ldf8.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c150000000ull}, +/* EM_LDF8_S_NTA_F1_R3: ldf8.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c170000000ull}, +/* EM_LDFE_S_F1_R3: ldfe.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c100000000ull}, +/* EM_LDFE_S_NT1_F1_R3: ldfe.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c110000000ull}, +/* EM_LDFE_S_NTA_F1_R3: ldfe.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c130000000ull}, +/* EM_LDFS_A_F1_R3: ldfs.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c280000000ull}, +/* EM_LDFS_A_NT1_F1_R3: ldfs.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c290000000ull}, +/* EM_LDFS_A_NTA_F1_R3: ldfs.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c2b0000000ull}, +/* EM_LDFD_A_F1_R3: ldfd.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c2c0000000ull}, +/* EM_LDFD_A_NT1_F1_R3: ldfd.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c2d0000000ull}, +/* EM_LDFD_A_NTA_F1_R3: ldfd.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c2f0000000ull}, +/* EM_LDF8_A_F1_R3: ldf8.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c240000000ull}, +/* EM_LDF8_A_NT1_F1_R3: ldf8.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c250000000ull}, +/* EM_LDF8_A_NTA_F1_R3: ldf8.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c270000000ull}, +/* EM_LDFE_A_F1_R3: ldfe.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c200000000ull}, +/* EM_LDFE_A_NT1_F1_R3: ldfe.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c210000000ull}, +/* EM_LDFE_A_NTA_F1_R3: ldfe.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c230000000ull}, +/* EM_LDFS_SA_F1_R3: ldfs.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c380000000ull}, +/* EM_LDFS_SA_NT1_F1_R3: ldfs.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c390000000ull}, +/* EM_LDFS_SA_NTA_F1_R3: ldfs.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c3b0000000ull}, +/* EM_LDFD_SA_F1_R3: ldfd.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c3c0000000ull}, +/* EM_LDFD_SA_NT1_F1_R3: ldfd.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c3d0000000ull}, +/* EM_LDFD_SA_NTA_F1_R3: ldfd.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c3f0000000ull}, +/* EM_LDF8_SA_F1_R3: ldf8.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c340000000ull}, +/* EM_LDF8_SA_NT1_F1_R3: ldf8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c350000000ull}, +/* EM_LDF8_SA_NTA_F1_R3: ldf8.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c370000000ull}, +/* EM_LDFE_SA_F1_R3: ldfe.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c300000000ull}, +/* EM_LDFE_SA_NT1_F1_R3: ldfe.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c310000000ull}, +/* EM_LDFE_SA_NTA_F1_R3: ldfe.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c330000000ull}, +/* EM_LDF_FILL_F1_R3: ldf.fill */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c6c0000000ull}, +/* EM_LDF_FILL_NT1_F1_R3: ldf.fill.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c6d0000000ull}, +/* EM_LDF_FILL_NTA_F1_R3: ldf.fill.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c6f0000000ull}, +/* EM_LDFS_C_CLR_F1_R3: ldfs.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c880000000ull}, +/* EM_LDFS_C_CLR_NT1_F1_R3: ldfs.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c890000000ull}, +/* EM_LDFS_C_CLR_NTA_F1_R3: ldfs.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c8b0000000ull}, +/* EM_LDFD_C_CLR_F1_R3: ldfd.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c8c0000000ull}, +/* EM_LDFD_C_CLR_NT1_F1_R3: ldfd.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c8d0000000ull}, +/* EM_LDFD_C_CLR_NTA_F1_R3: ldfd.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c8f0000000ull}, +/* EM_LDF8_C_CLR_F1_R3: ldf8.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c840000000ull}, +/* EM_LDF8_C_CLR_NT1_F1_R3: ldf8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c850000000ull}, +/* EM_LDF8_C_CLR_NTA_F1_R3: ldf8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c870000000ull}, +/* EM_LDFE_C_CLR_F1_R3: ldfe.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c800000000ull}, +/* EM_LDFE_C_CLR_NT1_F1_R3: ldfe.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c810000000ull}, +/* EM_LDFE_C_CLR_NTA_F1_R3: ldfe.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c830000000ull}, +/* EM_LDFS_C_NC_F1_R3: ldfs.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c980000000ull}, +/* EM_LDFS_C_NC_NT1_F1_R3: ldfs.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c990000000ull}, +/* EM_LDFS_C_NC_NTA_F1_R3: ldfs.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c9b0000000ull}, +/* EM_LDFD_C_NC_F1_R3: ldfd.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c9c0000000ull}, +/* EM_LDFD_C_NC_NT1_F1_R3: ldfd.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c9d0000000ull}, +/* EM_LDFD_C_NC_NTA_F1_R3: ldfd.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c9f0000000ull}, +/* EM_LDF8_C_NC_F1_R3: ldf8.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c940000000ull}, +/* EM_LDF8_C_NC_NT1_F1_R3: ldf8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c950000000ull}, +/* EM_LDF8_C_NC_NTA_F1_R3: ldf8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c970000000ull}, +/* EM_LDFE_C_NC_F1_R3: ldfe.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c900000000ull}, +/* EM_LDFE_C_NC_NT1_F1_R3: ldfe.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c910000000ull}, +/* EM_LDFE_C_NC_NTA_F1_R3: ldfe.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M6, 0x0c930000000ull}, +/* EM_LDFS_F1_R3_R2: ldfs */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d080000000ull}, +/* EM_LDFS_NT1_F1_R3_R2: ldfs.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d090000000ull}, +/* EM_LDFS_NTA_F1_R3_R2: ldfs.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d0b0000000ull}, +/* EM_LDFD_F1_R3_R2: ldfd */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d0c0000000ull}, +/* EM_LDFD_NT1_F1_R3_R2: ldfd.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d0d0000000ull}, +/* EM_LDFD_NTA_F1_R3_R2: ldfd.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d0f0000000ull}, +/* EM_LDF8_F1_R3_R2: ldf8 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d040000000ull}, +/* EM_LDF8_NT1_F1_R3_R2: ldf8.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d050000000ull}, +/* EM_LDF8_NTA_F1_R3_R2: ldf8.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d070000000ull}, +/* EM_LDFE_F1_R3_R2: ldfe */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d000000000ull}, +/* EM_LDFE_NT1_F1_R3_R2: ldfe.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d010000000ull}, +/* EM_LDFE_NTA_F1_R3_R2: ldfe.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d030000000ull}, +/* EM_LDFS_S_F1_R3_R2: ldfs.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d180000000ull}, +/* EM_LDFS_S_NT1_F1_R3_R2: ldfs.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d190000000ull}, +/* EM_LDFS_S_NTA_F1_R3_R2: ldfs.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d1b0000000ull}, +/* EM_LDFD_S_F1_R3_R2: ldfd.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d1c0000000ull}, +/* EM_LDFD_S_NT1_F1_R3_R2: ldfd.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d1d0000000ull}, +/* EM_LDFD_S_NTA_F1_R3_R2: ldfd.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d1f0000000ull}, +/* EM_LDF8_S_F1_R3_R2: ldf8.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d140000000ull}, +/* EM_LDF8_S_NT1_F1_R3_R2: ldf8.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d150000000ull}, +/* EM_LDF8_S_NTA_F1_R3_R2: ldf8.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d170000000ull}, +/* EM_LDFE_S_F1_R3_R2: ldfe.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d100000000ull}, +/* EM_LDFE_S_NT1_F1_R3_R2: ldfe.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d110000000ull}, +/* EM_LDFE_S_NTA_F1_R3_R2: ldfe.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d130000000ull}, +/* EM_LDFS_A_F1_R3_R2: ldfs.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d280000000ull}, +/* EM_LDFS_A_NT1_F1_R3_R2: ldfs.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d290000000ull}, +/* EM_LDFS_A_NTA_F1_R3_R2: ldfs.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d2b0000000ull}, +/* EM_LDFD_A_F1_R3_R2: ldfd.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d2c0000000ull}, +/* EM_LDFD_A_NT1_F1_R3_R2: ldfd.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d2d0000000ull}, +/* EM_LDFD_A_NTA_F1_R3_R2: ldfd.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d2f0000000ull}, +/* EM_LDF8_A_F1_R3_R2: ldf8.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d240000000ull}, +/* EM_LDF8_A_NT1_F1_R3_R2: ldf8.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d250000000ull}, +/* EM_LDF8_A_NTA_F1_R3_R2: ldf8.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d270000000ull}, +/* EM_LDFE_A_F1_R3_R2: ldfe.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d200000000ull}, +/* EM_LDFE_A_NT1_F1_R3_R2: ldfe.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d210000000ull}, +/* EM_LDFE_A_NTA_F1_R3_R2: ldfe.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d230000000ull}, +/* EM_LDFS_SA_F1_R3_R2: ldfs.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d380000000ull}, +/* EM_LDFS_SA_NT1_F1_R3_R2: ldfs.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d390000000ull}, +/* EM_LDFS_SA_NTA_F1_R3_R2: ldfs.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d3b0000000ull}, +/* EM_LDFD_SA_F1_R3_R2: ldfd.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d3c0000000ull}, +/* EM_LDFD_SA_NT1_F1_R3_R2: ldfd.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d3d0000000ull}, +/* EM_LDFD_SA_NTA_F1_R3_R2: ldfd.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d3f0000000ull}, +/* EM_LDF8_SA_F1_R3_R2: ldf8.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d340000000ull}, +/* EM_LDF8_SA_NT1_F1_R3_R2: ldf8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d350000000ull}, +/* EM_LDF8_SA_NTA_F1_R3_R2: ldf8.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d370000000ull}, +/* EM_LDFE_SA_F1_R3_R2: ldfe.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d300000000ull}, +/* EM_LDFE_SA_NT1_F1_R3_R2: ldfe.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d310000000ull}, +/* EM_LDFE_SA_NTA_F1_R3_R2: ldfe.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d330000000ull}, +/* EM_LDF_FILL_F1_R3_R2: ldf.fill */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d6c0000000ull}, +/* EM_LDF_FILL_NT1_F1_R3_R2: ldf.fill.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d6d0000000ull}, +/* EM_LDF_FILL_NTA_F1_R3_R2: ldf.fill.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d6f0000000ull}, +/* EM_LDFS_C_CLR_F1_R3_R2: ldfs.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d880000000ull}, +/* EM_LDFS_C_CLR_NT1_F1_R3_R2: ldfs.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d890000000ull}, +/* EM_LDFS_C_CLR_NTA_F1_R3_R2: ldfs.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d8b0000000ull}, +/* EM_LDFD_C_CLR_F1_R3_R2: ldfd.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d8c0000000ull}, +/* EM_LDFD_C_CLR_NT1_F1_R3_R2: ldfd.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d8d0000000ull}, +/* EM_LDFD_C_CLR_NTA_F1_R3_R2: ldfd.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d8f0000000ull}, +/* EM_LDF8_C_CLR_F1_R3_R2: ldf8.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d840000000ull}, +/* EM_LDF8_C_CLR_NT1_F1_R3_R2: ldf8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d850000000ull}, +/* EM_LDF8_C_CLR_NTA_F1_R3_R2: ldf8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d870000000ull}, +/* EM_LDFE_C_CLR_F1_R3_R2: ldfe.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d800000000ull}, +/* EM_LDFE_C_CLR_NT1_F1_R3_R2: ldfe.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d810000000ull}, +/* EM_LDFE_C_CLR_NTA_F1_R3_R2: ldfe.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d830000000ull}, +/* EM_LDFS_C_NC_F1_R3_R2: ldfs.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d980000000ull}, +/* EM_LDFS_C_NC_NT1_F1_R3_R2: ldfs.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d990000000ull}, +/* EM_LDFS_C_NC_NTA_F1_R3_R2: ldfs.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d9b0000000ull}, +/* EM_LDFD_C_NC_F1_R3_R2: ldfd.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d9c0000000ull}, +/* EM_LDFD_C_NC_NT1_F1_R3_R2: ldfd.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d9d0000000ull}, +/* EM_LDFD_C_NC_NTA_F1_R3_R2: ldfd.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d9f0000000ull}, +/* EM_LDF8_C_NC_F1_R3_R2: ldf8.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d940000000ull}, +/* EM_LDF8_C_NC_NT1_F1_R3_R2: ldf8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d950000000ull}, +/* EM_LDF8_C_NC_NTA_F1_R3_R2: ldf8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d970000000ull}, +/* EM_LDFE_C_NC_F1_R3_R2: ldfe.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d900000000ull}, +/* EM_LDFE_C_NC_NT1_F1_R3_R2: ldfe.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d910000000ull}, +/* EM_LDFE_C_NC_NTA_F1_R3_R2: ldfe.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M7, 0x0d930000000ull}, +/* EM_LDFS_F1_R3_IMM9: ldfs */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e080000000ull}, +/* EM_LDFS_NT1_F1_R3_IMM9: ldfs.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e090000000ull}, +/* EM_LDFS_NTA_F1_R3_IMM9: ldfs.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e0b0000000ull}, +/* EM_LDFD_F1_R3_IMM9: ldfd */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e0c0000000ull}, +/* EM_LDFD_NT1_F1_R3_IMM9: ldfd.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e0d0000000ull}, +/* EM_LDFD_NTA_F1_R3_IMM9: ldfd.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e0f0000000ull}, +/* EM_LDF8_F1_R3_IMM9: ldf8 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e040000000ull}, +/* EM_LDF8_NT1_F1_R3_IMM9: ldf8.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e050000000ull}, +/* EM_LDF8_NTA_F1_R3_IMM9: ldf8.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e070000000ull}, +/* EM_LDFE_F1_R3_IMM9: ldfe */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e000000000ull}, +/* EM_LDFE_NT1_F1_R3_IMM9: ldfe.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e010000000ull}, +/* EM_LDFE_NTA_F1_R3_IMM9: ldfe.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e030000000ull}, +/* EM_LDFS_S_F1_R3_IMM9: ldfs.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e180000000ull}, +/* EM_LDFS_S_NT1_F1_R3_IMM9: ldfs.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e190000000ull}, +/* EM_LDFS_S_NTA_F1_R3_IMM9: ldfs.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e1b0000000ull}, +/* EM_LDFD_S_F1_R3_IMM9: ldfd.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e1c0000000ull}, +/* EM_LDFD_S_NT1_F1_R3_IMM9: ldfd.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e1d0000000ull}, +/* EM_LDFD_S_NTA_F1_R3_IMM9: ldfd.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e1f0000000ull}, +/* EM_LDF8_S_F1_R3_IMM9: ldf8.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e140000000ull}, +/* EM_LDF8_S_NT1_F1_R3_IMM9: ldf8.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e150000000ull}, +/* EM_LDF8_S_NTA_F1_R3_IMM9: ldf8.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e170000000ull}, +/* EM_LDFE_S_F1_R3_IMM9: ldfe.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e100000000ull}, +/* EM_LDFE_S_NT1_F1_R3_IMM9: ldfe.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e110000000ull}, +/* EM_LDFE_S_NTA_F1_R3_IMM9: ldfe.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e130000000ull}, +/* EM_LDFS_A_F1_R3_IMM9: ldfs.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e280000000ull}, +/* EM_LDFS_A_NT1_F1_R3_IMM9: ldfs.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e290000000ull}, +/* EM_LDFS_A_NTA_F1_R3_IMM9: ldfs.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e2b0000000ull}, +/* EM_LDFD_A_F1_R3_IMM9: ldfd.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e2c0000000ull}, +/* EM_LDFD_A_NT1_F1_R3_IMM9: ldfd.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e2d0000000ull}, +/* EM_LDFD_A_NTA_F1_R3_IMM9: ldfd.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e2f0000000ull}, +/* EM_LDF8_A_F1_R3_IMM9: ldf8.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e240000000ull}, +/* EM_LDF8_A_NT1_F1_R3_IMM9: ldf8.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e250000000ull}, +/* EM_LDF8_A_NTA_F1_R3_IMM9: ldf8.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e270000000ull}, +/* EM_LDFE_A_F1_R3_IMM9: ldfe.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e200000000ull}, +/* EM_LDFE_A_NT1_F1_R3_IMM9: ldfe.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e210000000ull}, +/* EM_LDFE_A_NTA_F1_R3_IMM9: ldfe.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e230000000ull}, +/* EM_LDFS_SA_F1_R3_IMM9: ldfs.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e380000000ull}, +/* EM_LDFS_SA_NT1_F1_R3_IMM9: ldfs.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e390000000ull}, +/* EM_LDFS_SA_NTA_F1_R3_IMM9: ldfs.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e3b0000000ull}, +/* EM_LDFD_SA_F1_R3_IMM9: ldfd.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e3c0000000ull}, +/* EM_LDFD_SA_NT1_F1_R3_IMM9: ldfd.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e3d0000000ull}, +/* EM_LDFD_SA_NTA_F1_R3_IMM9: ldfd.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e3f0000000ull}, +/* EM_LDF8_SA_F1_R3_IMM9: ldf8.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e340000000ull}, +/* EM_LDF8_SA_NT1_F1_R3_IMM9: ldf8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e350000000ull}, +/* EM_LDF8_SA_NTA_F1_R3_IMM9: ldf8.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e370000000ull}, +/* EM_LDFE_SA_F1_R3_IMM9: ldfe.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e300000000ull}, +/* EM_LDFE_SA_NT1_F1_R3_IMM9: ldfe.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e310000000ull}, +/* EM_LDFE_SA_NTA_F1_R3_IMM9: ldfe.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e330000000ull}, +/* EM_LDF_FILL_F1_R3_IMM9: ldf.fill */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e6c0000000ull}, +/* EM_LDF_FILL_NT1_F1_R3_IMM9: ldf.fill.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e6d0000000ull}, +/* EM_LDF_FILL_NTA_F1_R3_IMM9: ldf.fill.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e6f0000000ull}, +/* EM_LDFS_C_CLR_F1_R3_IMM9: ldfs.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e880000000ull}, +/* EM_LDFS_C_CLR_NT1_F1_R3_IMM9: ldfs.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e890000000ull}, +/* EM_LDFS_C_CLR_NTA_F1_R3_IMM9: ldfs.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e8b0000000ull}, +/* EM_LDFD_C_CLR_F1_R3_IMM9: ldfd.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e8c0000000ull}, +/* EM_LDFD_C_CLR_NT1_F1_R3_IMM9: ldfd.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e8d0000000ull}, +/* EM_LDFD_C_CLR_NTA_F1_R3_IMM9: ldfd.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e8f0000000ull}, +/* EM_LDF8_C_CLR_F1_R3_IMM9: ldf8.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e840000000ull}, +/* EM_LDF8_C_CLR_NT1_F1_R3_IMM9: ldf8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e850000000ull}, +/* EM_LDF8_C_CLR_NTA_F1_R3_IMM9: ldf8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e870000000ull}, +/* EM_LDFE_C_CLR_F1_R3_IMM9: ldfe.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e800000000ull}, +/* EM_LDFE_C_CLR_NT1_F1_R3_IMM9: ldfe.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e810000000ull}, +/* EM_LDFE_C_CLR_NTA_F1_R3_IMM9: ldfe.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e830000000ull}, +/* EM_LDFS_C_NC_F1_R3_IMM9: ldfs.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e980000000ull}, +/* EM_LDFS_C_NC_NT1_F1_R3_IMM9: ldfs.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e990000000ull}, +/* EM_LDFS_C_NC_NTA_F1_R3_IMM9: ldfs.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e9b0000000ull}, +/* EM_LDFD_C_NC_F1_R3_IMM9: ldfd.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e9c0000000ull}, +/* EM_LDFD_C_NC_NT1_F1_R3_IMM9: ldfd.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e9d0000000ull}, +/* EM_LDFD_C_NC_NTA_F1_R3_IMM9: ldfd.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e9f0000000ull}, +/* EM_LDF8_C_NC_F1_R3_IMM9: ldf8.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e940000000ull}, +/* EM_LDF8_C_NC_NT1_F1_R3_IMM9: ldf8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e950000000ull}, +/* EM_LDF8_C_NC_NTA_F1_R3_IMM9: ldf8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e970000000ull}, +/* EM_LDFE_C_NC_F1_R3_IMM9: ldfe.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e900000000ull}, +/* EM_LDFE_C_NC_NT1_F1_R3_IMM9: ldfe.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e910000000ull}, +/* EM_LDFE_C_NC_NTA_F1_R3_IMM9: ldfe.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x5, ArchRev0, EM_FORMAT_M8, 0x0e930000000ull}, +/* EM_STFS_R3_F2: stfs */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cc80000000ull}, +/* EM_STFS_NTA_R3_F2: stfs.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0ccb0000000ull}, +/* EM_STFD_R3_F2: stfd */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0ccc0000000ull}, +/* EM_STFD_NTA_R3_F2: stfd.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0ccf0000000ull}, +/* EM_STF8_R3_F2: stf8 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cc40000000ull}, +/* EM_STF8_NTA_R3_F2: stf8.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cc70000000ull}, +/* EM_STFE_R3_F2: stfe */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cc00000000ull}, +/* EM_STFE_NTA_R3_F2: stfe.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cc30000000ull}, +/* EM_STF_SPILL_R3_F2: stf.spill */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cec0000000ull}, +/* EM_STF_SPILL_NTA_R3_F2: stf.spill.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M9, 0x0cef0000000ull}, +/* EM_STFS_R3_F2_IMM9: stfs */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ec80000000ull}, +/* EM_STFS_NTA_R3_F2_IMM9: stfs.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ecb0000000ull}, +/* EM_STFD_R3_F2_IMM9: stfd */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ecc0000000ull}, +/* EM_STFD_NTA_R3_F2_IMM9: stfd.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ecf0000000ull}, +/* EM_STF8_R3_F2_IMM9: stf8 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ec40000000ull}, +/* EM_STF8_NTA_R3_F2_IMM9: stf8.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ec70000000ull}, +/* EM_STFE_R3_F2_IMM9: stfe */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ec00000000ull}, +/* EM_STFE_NTA_R3_F2_IMM9: stfe.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0ec30000000ull}, +/* EM_STF_SPILL_R3_F2_IMM9: stf.spill */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0eec0000000ull}, +/* EM_STF_SPILL_NTA_R3_F2_IMM9: stf.spill.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x9, ArchRev0, EM_FORMAT_M10, 0x0eef0000000ull}, +/* EM_LDFPS_F1_F2_R3: ldfps */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c088000000ull}, +/* EM_LDFPS_NT1_F1_F2_R3: ldfps.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c098000000ull}, +/* EM_LDFPS_NTA_F1_F2_R3: ldfps.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c0b8000000ull}, +/* EM_LDFPD_F1_F2_R3: ldfpd */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c0c8000000ull}, +/* EM_LDFPD_NT1_F1_F2_R3: ldfpd.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c0d8000000ull}, +/* EM_LDFPD_NTA_F1_F2_R3: ldfpd.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c0f8000000ull}, +/* EM_LDFP8_F1_F2_R3: ldfp8 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c048000000ull}, +/* EM_LDFP8_NT1_F1_F2_R3: ldfp8.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c058000000ull}, +/* EM_LDFP8_NTA_F1_F2_R3: ldfp8.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c078000000ull}, +/* EM_LDFPS_S_F1_F2_R3: ldfps.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c188000000ull}, +/* EM_LDFPS_S_NT1_F1_F2_R3: ldfps.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c198000000ull}, +/* EM_LDFPS_S_NTA_F1_F2_R3: ldfps.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c1b8000000ull}, +/* EM_LDFPD_S_F1_F2_R3: ldfpd.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c1c8000000ull}, +/* EM_LDFPD_S_NT1_F1_F2_R3: ldfpd.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c1d8000000ull}, +/* EM_LDFPD_S_NTA_F1_F2_R3: ldfpd.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c1f8000000ull}, +/* EM_LDFP8_S_F1_F2_R3: ldfp8.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c148000000ull}, +/* EM_LDFP8_S_NT1_F1_F2_R3: ldfp8.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c158000000ull}, +/* EM_LDFP8_S_NTA_F1_F2_R3: ldfp8.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c178000000ull}, +/* EM_LDFPS_A_F1_F2_R3: ldfps.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c288000000ull}, +/* EM_LDFPS_A_NT1_F1_F2_R3: ldfps.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c298000000ull}, +/* EM_LDFPS_A_NTA_F1_F2_R3: ldfps.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c2b8000000ull}, +/* EM_LDFPD_A_F1_F2_R3: ldfpd.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c2c8000000ull}, +/* EM_LDFPD_A_NT1_F1_F2_R3: ldfpd.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c2d8000000ull}, +/* EM_LDFPD_A_NTA_F1_F2_R3: ldfpd.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c2f8000000ull}, +/* EM_LDFP8_A_F1_F2_R3: ldfp8.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c248000000ull}, +/* EM_LDFP8_A_NT1_F1_F2_R3: ldfp8.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c258000000ull}, +/* EM_LDFP8_A_NTA_F1_F2_R3: ldfp8.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c278000000ull}, +/* EM_LDFPS_SA_F1_F2_R3: ldfps.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c388000000ull}, +/* EM_LDFPS_SA_NT1_F1_F2_R3: ldfps.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c398000000ull}, +/* EM_LDFPS_SA_NTA_F1_F2_R3: ldfps.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c3b8000000ull}, +/* EM_LDFPD_SA_F1_F2_R3: ldfpd.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c3c8000000ull}, +/* EM_LDFPD_SA_NT1_F1_F2_R3: ldfpd.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c3d8000000ull}, +/* EM_LDFPD_SA_NTA_F1_F2_R3: ldfpd.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c3f8000000ull}, +/* EM_LDFP8_SA_F1_F2_R3: ldfp8.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c348000000ull}, +/* EM_LDFP8_SA_NT1_F1_F2_R3: ldfp8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c358000000ull}, +/* EM_LDFP8_SA_NTA_F1_F2_R3: ldfp8.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c378000000ull}, +/* EM_LDFPS_C_CLR_F1_F2_R3: ldfps.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c888000000ull}, +/* EM_LDFPS_C_CLR_NT1_F1_F2_R3: ldfps.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c898000000ull}, +/* EM_LDFPS_C_CLR_NTA_F1_F2_R3: ldfps.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c8b8000000ull}, +/* EM_LDFPD_C_CLR_F1_F2_R3: ldfpd.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c8c8000000ull}, +/* EM_LDFPD_C_CLR_NT1_F1_F2_R3: ldfpd.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c8d8000000ull}, +/* EM_LDFPD_C_CLR_NTA_F1_F2_R3: ldfpd.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c8f8000000ull}, +/* EM_LDFP8_C_CLR_F1_F2_R3: ldfp8.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c848000000ull}, +/* EM_LDFP8_C_CLR_NT1_F1_F2_R3: ldfp8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c858000000ull}, +/* EM_LDFP8_C_CLR_NTA_F1_F2_R3: ldfp8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c878000000ull}, +/* EM_LDFPS_C_NC_F1_F2_R3: ldfps.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c988000000ull}, +/* EM_LDFPS_C_NC_NT1_F1_F2_R3: ldfps.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c998000000ull}, +/* EM_LDFPS_C_NC_NTA_F1_F2_R3: ldfps.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c9b8000000ull}, +/* EM_LDFPD_C_NC_F1_F2_R3: ldfpd.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c9c8000000ull}, +/* EM_LDFPD_C_NC_NT1_F1_F2_R3: ldfpd.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c9d8000000ull}, +/* EM_LDFPD_C_NC_NTA_F1_F2_R3: ldfpd.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c9f8000000ull}, +/* EM_LDFP8_C_NC_F1_F2_R3: ldfp8.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c948000000ull}, +/* EM_LDFP8_C_NC_NT1_F1_F2_R3: ldfp8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c958000000ull}, +/* EM_LDFP8_C_NC_NTA_F1_F2_R3: ldfp8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M11, 0x0c978000000ull}, +/* EM_LDFPS_F1_F2_R3_8: ldfps */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d088000000ull}, +/* EM_LDFPS_NT1_F1_F2_R3_8: ldfps.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d098000000ull}, +/* EM_LDFPS_NTA_F1_F2_R3_8: ldfps.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d0b8000000ull}, +/* EM_LDFPD_F1_F2_R3_16: ldfpd */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d0c8000000ull}, +/* EM_LDFPD_NT1_F1_F2_R3_16: ldfpd.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d0d8000000ull}, +/* EM_LDFPD_NTA_F1_F2_R3_16: ldfpd.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d0f8000000ull}, +/* EM_LDFP8_F1_F2_R3_16: ldfp8 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d048000000ull}, +/* EM_LDFP8_NT1_F1_F2_R3_16: ldfp8.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d058000000ull}, +/* EM_LDFP8_NTA_F1_F2_R3_16: ldfp8.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d078000000ull}, +/* EM_LDFPS_S_F1_F2_R3_8: ldfps.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d188000000ull}, +/* EM_LDFPS_S_NT1_F1_F2_R3_8: ldfps.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d198000000ull}, +/* EM_LDFPS_S_NTA_F1_F2_R3_8: ldfps.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d1b8000000ull}, +/* EM_LDFPD_S_F1_F2_R3_16: ldfpd.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d1c8000000ull}, +/* EM_LDFPD_S_NT1_F1_F2_R3_16: ldfpd.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d1d8000000ull}, +/* EM_LDFPD_S_NTA_F1_F2_R3_16: ldfpd.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d1f8000000ull}, +/* EM_LDFP8_S_F1_F2_R3_16: ldfp8.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d148000000ull}, +/* EM_LDFP8_S_NT1_F1_F2_R3_16: ldfp8.s.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d158000000ull}, +/* EM_LDFP8_S_NTA_F1_F2_R3_16: ldfp8.s.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d178000000ull}, +/* EM_LDFPS_A_F1_F2_R3_8: ldfps.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d288000000ull}, +/* EM_LDFPS_A_NT1_F1_F2_R3_8: ldfps.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d298000000ull}, +/* EM_LDFPS_A_NTA_F1_F2_R3_8: ldfps.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d2b8000000ull}, +/* EM_LDFPD_A_F1_F2_R3_16: ldfpd.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d2c8000000ull}, +/* EM_LDFPD_A_NT1_F1_F2_R3_16: ldfpd.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d2d8000000ull}, +/* EM_LDFPD_A_NTA_F1_F2_R3_16: ldfpd.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d2f8000000ull}, +/* EM_LDFP8_A_F1_F2_R3_16: ldfp8.a */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d248000000ull}, +/* EM_LDFP8_A_NT1_F1_F2_R3_16: ldfp8.a.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d258000000ull}, +/* EM_LDFP8_A_NTA_F1_F2_R3_16: ldfp8.a.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d278000000ull}, +/* EM_LDFPS_SA_F1_F2_R3_8: ldfps.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d388000000ull}, +/* EM_LDFPS_SA_NT1_F1_F2_R3_8: ldfps.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d398000000ull}, +/* EM_LDFPS_SA_NTA_F1_F2_R3_8: ldfps.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d3b8000000ull}, +/* EM_LDFPD_SA_F1_F2_R3_16: ldfpd.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d3c8000000ull}, +/* EM_LDFPD_SA_NT1_F1_F2_R3_16: ldfpd.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d3d8000000ull}, +/* EM_LDFPD_SA_NTA_F1_F2_R3_16: ldfpd.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d3f8000000ull}, +/* EM_LDFP8_SA_F1_F2_R3_16: ldfp8.sa */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d348000000ull}, +/* EM_LDFP8_SA_NT1_F1_F2_R3_16: ldfp8.sa.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d358000000ull}, +/* EM_LDFP8_SA_NTA_F1_F2_R3_16: ldfp8.sa.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d378000000ull}, +/* EM_LDFPS_C_CLR_F1_F2_R3_8: ldfps.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d888000000ull}, +/* EM_LDFPS_C_CLR_NT1_F1_F2_R3_8: ldfps.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d898000000ull}, +/* EM_LDFPS_C_CLR_NTA_F1_F2_R3_8: ldfps.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d8b8000000ull}, +/* EM_LDFPD_C_CLR_F1_F2_R3_16: ldfpd.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d8c8000000ull}, +/* EM_LDFPD_C_CLR_NT1_F1_F2_R3_16: ldfpd.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d8d8000000ull}, +/* EM_LDFPD_C_CLR_NTA_F1_F2_R3_16: ldfpd.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d8f8000000ull}, +/* EM_LDFP8_C_CLR_F1_F2_R3_16: ldfp8.c.clr */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d848000000ull}, +/* EM_LDFP8_C_CLR_NT1_F1_F2_R3_16: ldfp8.c.clr.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d858000000ull}, +/* EM_LDFP8_C_CLR_NTA_F1_F2_R3_16: ldfp8.c.clr.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d878000000ull}, +/* EM_LDFPS_C_NC_F1_F2_R3_8: ldfps.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d988000000ull}, +/* EM_LDFPS_C_NC_NT1_F1_F2_R3_8: ldfps.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d998000000ull}, +/* EM_LDFPS_C_NC_NTA_F1_F2_R3_8: ldfps.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d9b8000000ull}, +/* EM_LDFPD_C_NC_F1_F2_R3_16: ldfpd.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d9c8000000ull}, +/* EM_LDFPD_C_NC_NT1_F1_F2_R3_16: ldfpd.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d9d8000000ull}, +/* EM_LDFPD_C_NC_NTA_F1_F2_R3_16: ldfpd.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d9f8000000ull}, +/* EM_LDFP8_C_NC_F1_F2_R3_16: ldfp8.c.nc */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d948000000ull}, +/* EM_LDFP8_C_NC_NT1_F1_F2_R3_16: ldfp8.c.nc.nt1 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d958000000ull}, +/* EM_LDFP8_C_NC_NTA_F1_F2_R3_16: ldfp8.c.nc.nta */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x805, ArchRev0, EM_FORMAT_M12, 0x0d978000000ull}, +/* EM_LFETCH_R3: lfetch */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb00000000ull}, +/* EM_LFETCH_NT1_R3: lfetch.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb10000000ull}, +/* EM_LFETCH_NT2_R3: lfetch.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb20000000ull}, +/* EM_LFETCH_NTA_R3: lfetch.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb30000000ull}, +/* EM_LFETCH_EXCL_R3: lfetch.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb40000000ull}, +/* EM_LFETCH_EXCL_NT1_R3: lfetch.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb50000000ull}, +/* EM_LFETCH_EXCL_NT2_R3: lfetch.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb60000000ull}, +/* EM_LFETCH_EXCL_NTA_R3: lfetch.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb70000000ull}, +/* EM_LFETCH_FAULT_R3: lfetch.fault */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb80000000ull}, +/* EM_LFETCH_FAULT_NT1_R3: lfetch.fault.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cb90000000ull}, +/* EM_LFETCH_FAULT_NT2_R3: lfetch.fault.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cba0000000ull}, +/* EM_LFETCH_FAULT_NTA_R3: lfetch.fault.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cbb0000000ull}, +/* EM_LFETCH_FAULT_EXCL_R3: lfetch.fault.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cbc0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT1_R3: lfetch.fault.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cbd0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT2_R3: lfetch.fault.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cbe0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NTA_R3: lfetch.fault.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M13, 0x0cbf0000000ull}, +/* EM_LFETCH_R3_R2: lfetch */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db00000000ull}, +/* EM_LFETCH_NT1_R3_R2: lfetch.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db10000000ull}, +/* EM_LFETCH_NT2_R3_R2: lfetch.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db20000000ull}, +/* EM_LFETCH_NTA_R3_R2: lfetch.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db30000000ull}, +/* EM_LFETCH_EXCL_R3_R2: lfetch.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db40000000ull}, +/* EM_LFETCH_EXCL_NT1_R3_R2: lfetch.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db50000000ull}, +/* EM_LFETCH_EXCL_NT2_R3_R2: lfetch.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db60000000ull}, +/* EM_LFETCH_EXCL_NTA_R3_R2: lfetch.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db70000000ull}, +/* EM_LFETCH_FAULT_R3_R2: lfetch.fault */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db80000000ull}, +/* EM_LFETCH_FAULT_NT1_R3_R2: lfetch.fault.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0db90000000ull}, +/* EM_LFETCH_FAULT_NT2_R3_R2: lfetch.fault.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dba0000000ull}, +/* EM_LFETCH_FAULT_NTA_R3_R2: lfetch.fault.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dbb0000000ull}, +/* EM_LFETCH_FAULT_EXCL_R3_R2: lfetch.fault.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dbc0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT1_R3_R2: lfetch.fault.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dbd0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT2_R3_R2: lfetch.fault.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dbe0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NTA_R3_R2: lfetch.fault.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M14, 0x0dbf0000000ull}, +/* EM_LFETCH_R3_IMM9: lfetch */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb00000000ull}, +/* EM_LFETCH_NT1_R3_IMM9: lfetch.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb10000000ull}, +/* EM_LFETCH_NT2_R3_IMM9: lfetch.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb20000000ull}, +/* EM_LFETCH_NTA_R3_IMM9: lfetch.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb30000000ull}, +/* EM_LFETCH_EXCL_R3_IMM9: lfetch.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb40000000ull}, +/* EM_LFETCH_EXCL_NT1_R3_IMM9: lfetch.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb50000000ull}, +/* EM_LFETCH_EXCL_NT2_R3_IMM9: lfetch.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb60000000ull}, +/* EM_LFETCH_EXCL_NTA_R3_IMM9: lfetch.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb70000000ull}, +/* EM_LFETCH_FAULT_R3_IMM9: lfetch.fault */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb80000000ull}, +/* EM_LFETCH_FAULT_NT1_R3_IMM9: lfetch.fault.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eb90000000ull}, +/* EM_LFETCH_FAULT_NT2_R3_IMM9: lfetch.fault.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0eba0000000ull}, +/* EM_LFETCH_FAULT_NTA_R3_IMM9: lfetch.fault.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0ebb0000000ull}, +/* EM_LFETCH_FAULT_EXCL_R3_IMM9: lfetch.fault.excl */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0ebc0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT1_R3_IMM9: lfetch.fault.excl.nt1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0ebd0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NT2_R3_IMM9: lfetch.fault.excl.nt2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0ebe0000000ull}, +/* EM_LFETCH_FAULT_EXCL_NTA_R3_IMM9: lfetch.fault.excl.nta */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x5, ArchRev0, EM_FORMAT_M15, 0x0ebf0000000ull}, +/* EM_CMPXCHG1_ACQ_R1_R3_R2_AR_CCV: cmpxchg1.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08008000000ull}, +/* EM_CMPXCHG1_ACQ_NT1_R1_R3_R2_AR_CCV: cmpxchg1.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08018000000ull}, +/* EM_CMPXCHG1_ACQ_NTA_R1_R3_R2_AR_CCV: cmpxchg1.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08038000000ull}, +/* EM_CMPXCHG2_ACQ_R1_R3_R2_AR_CCV: cmpxchg2.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08048000000ull}, +/* EM_CMPXCHG2_ACQ_NT1_R1_R3_R2_AR_CCV: cmpxchg2.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08058000000ull}, +/* EM_CMPXCHG2_ACQ_NTA_R1_R3_R2_AR_CCV: cmpxchg2.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08078000000ull}, +/* EM_CMPXCHG4_ACQ_R1_R3_R2_AR_CCV: cmpxchg4.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08088000000ull}, +/* EM_CMPXCHG4_ACQ_NT1_R1_R3_R2_AR_CCV: cmpxchg4.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08098000000ull}, +/* EM_CMPXCHG4_ACQ_NTA_R1_R3_R2_AR_CCV: cmpxchg4.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x080b8000000ull}, +/* EM_CMPXCHG8_ACQ_R1_R3_R2_AR_CCV: cmpxchg8.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x080c8000000ull}, +/* EM_CMPXCHG8_ACQ_NT1_R1_R3_R2_AR_CCV: cmpxchg8.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x080d8000000ull}, +/* EM_CMPXCHG8_ACQ_NTA_R1_R3_R2_AR_CCV: cmpxchg8.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x080f8000000ull}, +/* EM_CMPXCHG1_REL_R1_R3_R2_AR_CCV: cmpxchg1.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08108000000ull}, +/* EM_CMPXCHG1_REL_NT1_R1_R3_R2_AR_CCV: cmpxchg1.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08118000000ull}, +/* EM_CMPXCHG1_REL_NTA_R1_R3_R2_AR_CCV: cmpxchg1.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08138000000ull}, +/* EM_CMPXCHG2_REL_R1_R3_R2_AR_CCV: cmpxchg2.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08148000000ull}, +/* EM_CMPXCHG2_REL_NT1_R1_R3_R2_AR_CCV: cmpxchg2.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08158000000ull}, +/* EM_CMPXCHG2_REL_NTA_R1_R3_R2_AR_CCV: cmpxchg2.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08178000000ull}, +/* EM_CMPXCHG4_REL_R1_R3_R2_AR_CCV: cmpxchg4.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08188000000ull}, +/* EM_CMPXCHG4_REL_NT1_R1_R3_R2_AR_CCV: cmpxchg4.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08198000000ull}, +/* EM_CMPXCHG4_REL_NTA_R1_R3_R2_AR_CCV: cmpxchg4.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x081b8000000ull}, +/* EM_CMPXCHG8_REL_R1_R3_R2_AR_CCV: cmpxchg8.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x081c8000000ull}, +/* EM_CMPXCHG8_REL_NT1_R1_R3_R2_AR_CCV: cmpxchg8.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x081d8000000ull}, +/* EM_CMPXCHG8_REL_NTA_R1_R3_R2_AR_CCV: cmpxchg8.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x081f8000000ull}, +/* EM_CMP8XCHG16_ACQ_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08808000000ull}, +/* EM_CMP8XCHG16_ACQ_NT1_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08818000000ull}, +/* EM_CMP8XCHG16_ACQ_NTA_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08838000000ull}, +/* EM_CMP8XCHG16_REL_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08908000000ull}, +/* EM_CMP8XCHG16_REL_NT1_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08918000000ull}, +/* EM_CMP8XCHG16_REL_NTA_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0xd, Impl_AtomicOps, EM_FORMAT_M16, 0x08938000000ull}, +/* EM_XCHG1_R1_R3_R2: xchg1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08208000000ull}, +/* EM_XCHG1_NT1_R1_R3_R2: xchg1.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08218000000ull}, +/* EM_XCHG1_NTA_R1_R3_R2: xchg1.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08238000000ull}, +/* EM_XCHG2_R1_R3_R2: xchg2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08248000000ull}, +/* EM_XCHG2_NT1_R1_R3_R2: xchg2.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08258000000ull}, +/* EM_XCHG2_NTA_R1_R3_R2: xchg2.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08278000000ull}, +/* EM_XCHG4_R1_R3_R2: xchg4 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08288000000ull}, +/* EM_XCHG4_NT1_R1_R3_R2: xchg4.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x08298000000ull}, +/* EM_XCHG4_NTA_R1_R3_R2: xchg4.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x082b8000000ull}, +/* EM_XCHG8_R1_R3_R2: xchg8 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x082c8000000ull}, +/* EM_XCHG8_NT1_R1_R3_R2: xchg8.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x082d8000000ull}, +/* EM_XCHG8_NTA_R1_R3_R2: xchg8.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M16, 0x082f8000000ull}, +/* EM_FETCHADD4_ACQ_R1_R3_INC3: fetchadd4.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x08488000000ull}, +/* EM_FETCHADD4_ACQ_NT1_R1_R3_INC3: fetchadd4.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x08498000000ull}, +/* EM_FETCHADD4_ACQ_NTA_R1_R3_INC3: fetchadd4.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x084b8000000ull}, +/* EM_FETCHADD8_ACQ_R1_R3_INC3: fetchadd8.acq */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x084c8000000ull}, +/* EM_FETCHADD8_ACQ_NT1_R1_R3_INC3: fetchadd8.acq.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x084d8000000ull}, +/* EM_FETCHADD8_ACQ_NTA_R1_R3_INC3: fetchadd8.acq.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x084f8000000ull}, +/* EM_FETCHADD4_REL_R1_R3_INC3: fetchadd4.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x08588000000ull}, +/* EM_FETCHADD4_REL_NT1_R1_R3_INC3: fetchadd4.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x08598000000ull}, +/* EM_FETCHADD4_REL_NTA_R1_R3_INC3: fetchadd4.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x085b8000000ull}, +/* EM_FETCHADD8_REL_R1_R3_INC3: fetchadd8.rel */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x085c8000000ull}, +/* EM_FETCHADD8_REL_NT1_R1_R3_INC3: fetchadd8.rel.nt1 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x085d8000000ull}, +/* EM_FETCHADD8_REL_NTA_R1_R3_INC3: fetchadd8.rel.nta */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0xd, ArchRev0, EM_FORMAT_M17, 0x085f8000000ull}, +/* EM_SETF_SIG_F1_R2: setf.sig */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M18, 0x0c708000000ull}, +/* EM_SETF_EXP_F1_R2: setf.exp */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M18, 0x0c748000000ull}, +/* EM_SETF_S_F1_R2: setf.s */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M18, 0x0c788000000ull}, +/* EM_SETF_D_F1_R2: setf.d */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M18, 0x0c7c8000000ull}, +/* EM_GETF_SIG_R1_F2: getf.sig */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M19, 0x08708000000ull}, +/* EM_GETF_EXP_R1_F2: getf.exp */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M19, 0x08748000000ull}, +/* EM_GETF_S_R1_F2: getf.s */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M19, 0x08788000000ull}, +/* EM_GETF_D_R1_F2: getf.d */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M19, 0x087c8000000ull}, +/* EM_CHK_S_M_R2_TARGET25: chk.s.m */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M20, 0x02200000000ull}, +/* EM_CHK_S_F2_TARGET25: chk.s */ + {M_Unit, {EM_OPTYPE_FREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M21, 0x02600000000ull}, +/* EM_CHK_A_NC_R1_TARGET25: chk.a.nc */ + {M_Unit, {EM_OPTYPE_IREG_NUM, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M22, 0x00800000000ull}, +/* EM_CHK_A_CLR_R1_TARGET25: chk.a.clr */ + {M_Unit, {EM_OPTYPE_IREG_NUM, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M22, 0x00a00000000ull}, +/* EM_CHK_A_NC_F1_TARGET25: chk.a.nc */ + {M_Unit, {EM_OPTYPE_FREG_NUM, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M23, 0x00c00000000ull}, +/* EM_CHK_A_CLR_F1_TARGET25: chk.a.clr */ + {M_Unit, {EM_OPTYPE_FREG_NUM, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M23, 0x00e00000000ull}, +/* EM_INVALA: invala */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00080000000ull}, +/* EM_FWB: fwb */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00100000000ull}, +/* EM_MF: mf */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00110000000ull}, +/* EM_MF_A: mf.a */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00118000000ull}, +/* EM_SRLZ_D: srlz.d */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00180000000ull}, +/* EM_SRLZ_I: srlz.i */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00188000000ull}, +/* EM_SYNC_I: sync.i */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M24, 0x00198000000ull}, +/* EM_FLUSHRS: flushrs */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x28, ArchRev0, EM_FORMAT_M25, 0x00060000000ull}, +/* EM_LOADRS: loadrs */ + {M_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x24, ArchRev0, EM_FORMAT_M25, 0x00050000000ull}, +/* EM_INVALA_E_R1: invala.e */ + {M_Unit, {EM_OPTYPE_IREG_NUM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M26, 0x00090000000ull}, +/* EM_INVALA_E_F1: invala.e */ + {M_Unit, {EM_OPTYPE_FREG_NUM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M27, 0x00098000000ull}, +/* EM_FC_R3: fc */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M28, 0x02180000000ull}, +/* EM_FC_I_R3: fc.i */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M28, 0x03180000000ull}, +/* EM_MOV_M_AR3_R2: mov.m */ + {M_Unit, {EM_OPTYPE_APP_REG_GRP_LOW, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M29, 0x02150000000ull}, +/* EM_MOV_M_AR3_IMM8: mov.m */ + {M_Unit, {EM_OPTYPE_APP_REG_GRP_LOW, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M30, 0x00140000000ull}, +/* EM_MOV_M_R1_AR3: mov.m */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_REG_GRP_LOW, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M31, 0x02110000000ull}, +/* EM_MOV_CR3_R2: mov */ + {M_Unit, {EM_OPTYPE_CR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M32, 0x02160000000ull}, +/* EM_MOV_R1_CR3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_CR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M33, 0x02120000000ull}, +/* EM_ALLOC_R1_AR_PFS_I_L_O_R: alloc */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_PFS, EM_OPTYPE_ALLOC_IOL, EM_OPTYPE_ALLOC_IOL, EM_OPTYPE_ALLOC_IOL, EM_OPTYPE_ALLOC_ROT}, + 1, 0x21, ArchRev0, EM_FORMAT_M34, 0x02c00000000ull}, +/* EM_MOV_PSR_L_R2: mov */ + {M_Unit, {EM_OPTYPE_PSR_L, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M35, 0x02168000000ull}, +/* EM_MOV_PSR_UM_R2: mov */ + {M_Unit, {EM_OPTYPE_PSR_UM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M35, 0x02148000000ull}, +/* EM_MOV_R1_PSR: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PSR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M36, 0x02128000000ull}, +/* EM_MOV_R1_PSR_UM: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PSR_UM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M36, 0x02108000000ull}, +/* EM_BREAK_M_IMM21: break.m */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M37, 0x00000000000ull}, +/* EM_PROBE_R_R1_R3_R2: probe.r */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M38, 0x021c0000000ull}, +/* EM_PROBE_W_R1_R3_R2: probe.w */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M38, 0x021c8000000ull}, +/* EM_PROBE_R_R1_R3_IMM2: probe.r */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M39, 0x020c0000000ull}, +/* EM_PROBE_W_R1_R3_IMM2: probe.w */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M39, 0x020c8000000ull}, +/* EM_PROBE_RW_FAULT_R3_IMM2: probe.rw.fault */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M40, 0x02188000000ull}, +/* EM_PROBE_R_FAULT_R3_IMM2: probe.r.fault */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M40, 0x02190000000ull}, +/* EM_PROBE_W_FAULT_R3_IMM2: probe.w.fault */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M40, 0x02198000000ull}, +/* EM_ITC_D_R2: itc.d */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x43, ArchRev0, EM_FORMAT_M41, 0x02170000000ull}, +/* EM_ITC_I_R2: itc.i */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x43, ArchRev0, EM_FORMAT_M41, 0x02178000000ull}, +/* EM_MOV_RR_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_RR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02000000000ull}, +/* EM_MOV_DBR_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_DBR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02008000000ull}, +/* EM_MOV_IBR_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_IBR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02010000000ull}, +/* EM_MOV_PKR_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_PKR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02018000000ull}, +/* EM_MOV_PMC_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_PMC, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02020000000ull}, +/* EM_MOV_PMD_R3_R2: mov */ + {M_Unit, {EM_OPTYPE_PMD, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02028000000ull}, +/* EM_ITR_D_DTR_R3_R2: itr.d */ + {M_Unit, {EM_OPTYPE_DTR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02070000000ull}, +/* EM_ITR_I_ITR_R3_R2: itr.i */ + {M_Unit, {EM_OPTYPE_ITR, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M42, 0x02078000000ull}, +/* EM_MOV_R1_RR_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_RR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M43, 0x02080000000ull}, +/* EM_MOV_R1_DBR_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_DBR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M43, 0x02088000000ull}, +/* EM_MOV_R1_IBR_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IBR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M43, 0x02090000000ull}, +/* EM_MOV_R1_PKR_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PKR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M43, 0x02098000000ull}, +/* EM_MOV_R1_PMC_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PMC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M43, 0x020a0000000ull}, +/* EM_MOV_R1_PMD_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_PMD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M43, 0x020a8000000ull}, +/* EM_MOV_R1_CPUID_R3: mov */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_CPUID, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M43, 0x020b8000000ull}, +/* EM_SUM_IMM24: sum */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M44, 0x00020000000ull}, +/* EM_RUM_IMM24: rum */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M44, 0x00028000000ull}, +/* EM_SSM_IMM24: ssm */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M44, 0x00030000000ull}, +/* EM_RSM_IMM24: rsm */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M44, 0x00038000000ull}, +/* EM_PTC_L_R3_R2: ptc.l */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M45, 0x02048000000ull}, +/* EM_PTC_G_R3_R2: ptc.g */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x43, ArchRev0, EM_FORMAT_M45, 0x02050000000ull}, +/* EM_PTC_GA_R3_R2: ptc.ga */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x43, ArchRev0, EM_FORMAT_M45, 0x02058000000ull}, +/* EM_PTR_D_R3_R2: ptr.d */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M45, 0x02060000000ull}, +/* EM_PTR_I_R3_R2: ptr.i */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M45, 0x02068000000ull}, +/* EM_THASH_R1_R3: thash */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M46, 0x020d0000000ull}, +/* EM_TTAG_R1_R3: ttag */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_M46, 0x020d8000000ull}, +/* EM_TPA_R1_R3: tpa */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M46, 0x020f0000000ull}, +/* EM_TAK_R1_R3: tak */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x3, ArchRev0, EM_FORMAT_M46, 0x020f8000000ull}, +/* EM_PTC_E_R3: ptc.e */ + {M_Unit, {EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x3, ArchRev0, EM_FORMAT_M47, 0x021a0000000ull}, +/* EM_NOP_M_IMM21: nop.m */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M48, 0x00008000000ull}, +/* EM_HINT_M_IMM21: hint.m */ + {M_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_M48, 0x0000c000000ull}, +/* EM_BR_COND_SPTK_FEW_TARGET25: br.cond.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08000000000ull}, +/* EM_BR_COND_SPTK_MANY_TARGET25: br.cond.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08000001000ull}, +/* EM_BR_COND_SPNT_FEW_TARGET25: br.cond.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08200000000ull}, +/* EM_BR_COND_SPNT_MANY_TARGET25: br.cond.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08200001000ull}, +/* EM_BR_COND_DPTK_FEW_TARGET25: br.cond.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08400000000ull}, +/* EM_BR_COND_DPTK_MANY_TARGET25: br.cond.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08400001000ull}, +/* EM_BR_COND_DPNT_FEW_TARGET25: br.cond.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08600000000ull}, +/* EM_BR_COND_DPNT_MANY_TARGET25: br.cond.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08600001000ull}, +/* EM_BR_COND_SPTK_FEW_CLR_TARGET25: br.cond.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08800000000ull}, +/* EM_BR_COND_SPTK_MANY_CLR_TARGET25: br.cond.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08800001000ull}, +/* EM_BR_COND_SPNT_FEW_CLR_TARGET25: br.cond.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08a00000000ull}, +/* EM_BR_COND_SPNT_MANY_CLR_TARGET25: br.cond.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08a00001000ull}, +/* EM_BR_COND_DPTK_FEW_CLR_TARGET25: br.cond.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08c00000000ull}, +/* EM_BR_COND_DPTK_MANY_CLR_TARGET25: br.cond.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08c00001000ull}, +/* EM_BR_COND_DPNT_FEW_CLR_TARGET25: br.cond.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08e00000000ull}, +/* EM_BR_COND_DPNT_MANY_CLR_TARGET25: br.cond.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B1, 0x08e00001000ull}, +/* EM_BR_WEXIT_SPTK_FEW_TARGET25: br.wexit.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08000000080ull}, +/* EM_BR_WEXIT_SPTK_MANY_TARGET25: br.wexit.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08000001080ull}, +/* EM_BR_WEXIT_SPNT_FEW_TARGET25: br.wexit.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08200000080ull}, +/* EM_BR_WEXIT_SPNT_MANY_TARGET25: br.wexit.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08200001080ull}, +/* EM_BR_WEXIT_DPTK_FEW_TARGET25: br.wexit.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08400000080ull}, +/* EM_BR_WEXIT_DPTK_MANY_TARGET25: br.wexit.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08400001080ull}, +/* EM_BR_WEXIT_DPNT_FEW_TARGET25: br.wexit.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08600000080ull}, +/* EM_BR_WEXIT_DPNT_MANY_TARGET25: br.wexit.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08600001080ull}, +/* EM_BR_WEXIT_SPTK_FEW_CLR_TARGET25: br.wexit.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08800000080ull}, +/* EM_BR_WEXIT_SPTK_MANY_CLR_TARGET25: br.wexit.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08800001080ull}, +/* EM_BR_WEXIT_SPNT_FEW_CLR_TARGET25: br.wexit.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08a00000080ull}, +/* EM_BR_WEXIT_SPNT_MANY_CLR_TARGET25: br.wexit.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08a00001080ull}, +/* EM_BR_WEXIT_DPTK_FEW_CLR_TARGET25: br.wexit.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08c00000080ull}, +/* EM_BR_WEXIT_DPTK_MANY_CLR_TARGET25: br.wexit.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08c00001080ull}, +/* EM_BR_WEXIT_DPNT_FEW_CLR_TARGET25: br.wexit.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08e00000080ull}, +/* EM_BR_WEXIT_DPNT_MANY_CLR_TARGET25: br.wexit.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08e00001080ull}, +/* EM_BR_WTOP_SPTK_FEW_TARGET25: br.wtop.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x080000000c0ull}, +/* EM_BR_WTOP_SPTK_MANY_TARGET25: br.wtop.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x080000010c0ull}, +/* EM_BR_WTOP_SPNT_FEW_TARGET25: br.wtop.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x082000000c0ull}, +/* EM_BR_WTOP_SPNT_MANY_TARGET25: br.wtop.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x082000010c0ull}, +/* EM_BR_WTOP_DPTK_FEW_TARGET25: br.wtop.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x084000000c0ull}, +/* EM_BR_WTOP_DPTK_MANY_TARGET25: br.wtop.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x084000010c0ull}, +/* EM_BR_WTOP_DPNT_FEW_TARGET25: br.wtop.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x086000000c0ull}, +/* EM_BR_WTOP_DPNT_MANY_TARGET25: br.wtop.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x086000010c0ull}, +/* EM_BR_WTOP_SPTK_FEW_CLR_TARGET25: br.wtop.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x088000000c0ull}, +/* EM_BR_WTOP_SPTK_MANY_CLR_TARGET25: br.wtop.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x088000010c0ull}, +/* EM_BR_WTOP_SPNT_FEW_CLR_TARGET25: br.wtop.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08a000000c0ull}, +/* EM_BR_WTOP_SPNT_MANY_CLR_TARGET25: br.wtop.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08a000010c0ull}, +/* EM_BR_WTOP_DPTK_FEW_CLR_TARGET25: br.wtop.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08c000000c0ull}, +/* EM_BR_WTOP_DPTK_MANY_CLR_TARGET25: br.wtop.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08c000010c0ull}, +/* EM_BR_WTOP_DPNT_FEW_CLR_TARGET25: br.wtop.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08e000000c0ull}, +/* EM_BR_WTOP_DPNT_MANY_CLR_TARGET25: br.wtop.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10101, ArchRev0, EM_FORMAT_B1, 0x08e000010c0ull}, +/* EM_BR_CLOOP_SPTK_FEW_TARGET25: br.cloop.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08000000140ull}, +/* EM_BR_CLOOP_SPTK_MANY_TARGET25: br.cloop.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08000001140ull}, +/* EM_BR_CLOOP_SPNT_FEW_TARGET25: br.cloop.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08200000140ull}, +/* EM_BR_CLOOP_SPNT_MANY_TARGET25: br.cloop.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08200001140ull}, +/* EM_BR_CLOOP_DPTK_FEW_TARGET25: br.cloop.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08400000140ull}, +/* EM_BR_CLOOP_DPTK_MANY_TARGET25: br.cloop.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08400001140ull}, +/* EM_BR_CLOOP_DPNT_FEW_TARGET25: br.cloop.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08600000140ull}, +/* EM_BR_CLOOP_DPNT_MANY_TARGET25: br.cloop.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08600001140ull}, +/* EM_BR_CLOOP_SPTK_FEW_CLR_TARGET25: br.cloop.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08800000140ull}, +/* EM_BR_CLOOP_SPTK_MANY_CLR_TARGET25: br.cloop.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08800001140ull}, +/* EM_BR_CLOOP_SPNT_FEW_CLR_TARGET25: br.cloop.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a00000140ull}, +/* EM_BR_CLOOP_SPNT_MANY_CLR_TARGET25: br.cloop.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a00001140ull}, +/* EM_BR_CLOOP_DPTK_FEW_CLR_TARGET25: br.cloop.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c00000140ull}, +/* EM_BR_CLOOP_DPTK_MANY_CLR_TARGET25: br.cloop.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c00001140ull}, +/* EM_BR_CLOOP_DPNT_FEW_CLR_TARGET25: br.cloop.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e00000140ull}, +/* EM_BR_CLOOP_DPNT_MANY_CLR_TARGET25: br.cloop.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e00001140ull}, +/* EM_BR_CEXIT_SPTK_FEW_TARGET25: br.cexit.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08000000180ull}, +/* EM_BR_CEXIT_SPTK_MANY_TARGET25: br.cexit.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08000001180ull}, +/* EM_BR_CEXIT_SPNT_FEW_TARGET25: br.cexit.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08200000180ull}, +/* EM_BR_CEXIT_SPNT_MANY_TARGET25: br.cexit.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08200001180ull}, +/* EM_BR_CEXIT_DPTK_FEW_TARGET25: br.cexit.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08400000180ull}, +/* EM_BR_CEXIT_DPTK_MANY_TARGET25: br.cexit.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08400001180ull}, +/* EM_BR_CEXIT_DPNT_FEW_TARGET25: br.cexit.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08600000180ull}, +/* EM_BR_CEXIT_DPNT_MANY_TARGET25: br.cexit.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08600001180ull}, +/* EM_BR_CEXIT_SPTK_FEW_CLR_TARGET25: br.cexit.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08800000180ull}, +/* EM_BR_CEXIT_SPTK_MANY_CLR_TARGET25: br.cexit.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08800001180ull}, +/* EM_BR_CEXIT_SPNT_FEW_CLR_TARGET25: br.cexit.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a00000180ull}, +/* EM_BR_CEXIT_SPNT_MANY_CLR_TARGET25: br.cexit.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a00001180ull}, +/* EM_BR_CEXIT_DPTK_FEW_CLR_TARGET25: br.cexit.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c00000180ull}, +/* EM_BR_CEXIT_DPTK_MANY_CLR_TARGET25: br.cexit.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c00001180ull}, +/* EM_BR_CEXIT_DPNT_FEW_CLR_TARGET25: br.cexit.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e00000180ull}, +/* EM_BR_CEXIT_DPNT_MANY_CLR_TARGET25: br.cexit.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e00001180ull}, +/* EM_BR_CTOP_SPTK_FEW_TARGET25: br.ctop.sptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x080000001c0ull}, +/* EM_BR_CTOP_SPTK_MANY_TARGET25: br.ctop.sptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x080000011c0ull}, +/* EM_BR_CTOP_SPNT_FEW_TARGET25: br.ctop.spnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x082000001c0ull}, +/* EM_BR_CTOP_SPNT_MANY_TARGET25: br.ctop.spnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x082000011c0ull}, +/* EM_BR_CTOP_DPTK_FEW_TARGET25: br.ctop.dptk.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x084000001c0ull}, +/* EM_BR_CTOP_DPTK_MANY_TARGET25: br.ctop.dptk.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x084000011c0ull}, +/* EM_BR_CTOP_DPNT_FEW_TARGET25: br.ctop.dpnt.few */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x086000001c0ull}, +/* EM_BR_CTOP_DPNT_MANY_TARGET25: br.ctop.dpnt.many */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x086000011c0ull}, +/* EM_BR_CTOP_SPTK_FEW_CLR_TARGET25: br.ctop.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x088000001c0ull}, +/* EM_BR_CTOP_SPTK_MANY_CLR_TARGET25: br.ctop.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x088000011c0ull}, +/* EM_BR_CTOP_SPNT_FEW_CLR_TARGET25: br.ctop.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a000001c0ull}, +/* EM_BR_CTOP_SPNT_MANY_CLR_TARGET25: br.ctop.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08a000011c0ull}, +/* EM_BR_CTOP_DPTK_FEW_CLR_TARGET25: br.ctop.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c000001c0ull}, +/* EM_BR_CTOP_DPTK_MANY_CLR_TARGET25: br.ctop.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08c000011c0ull}, +/* EM_BR_CTOP_DPNT_FEW_CLR_TARGET25: br.ctop.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e000001c0ull}, +/* EM_BR_CTOP_DPNT_MANY_CLR_TARGET25: br.ctop.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10100, ArchRev0, EM_FORMAT_B2, 0x08e000011c0ull}, +/* EM_BR_CALL_SPTK_FEW_B1_TARGET25: br.call.sptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a000000000ull}, +/* EM_BR_CALL_SPTK_MANY_B1_TARGET25: br.call.sptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a000001000ull}, +/* EM_BR_CALL_SPNT_FEW_B1_TARGET25: br.call.spnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a200000000ull}, +/* EM_BR_CALL_SPNT_MANY_B1_TARGET25: br.call.spnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a200001000ull}, +/* EM_BR_CALL_DPTK_FEW_B1_TARGET25: br.call.dptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a400000000ull}, +/* EM_BR_CALL_DPTK_MANY_B1_TARGET25: br.call.dptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a400001000ull}, +/* EM_BR_CALL_DPNT_FEW_B1_TARGET25: br.call.dpnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a600000000ull}, +/* EM_BR_CALL_DPNT_MANY_B1_TARGET25: br.call.dpnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a600001000ull}, +/* EM_BR_CALL_SPTK_FEW_CLR_B1_TARGET25: br.call.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a800000000ull}, +/* EM_BR_CALL_SPTK_MANY_CLR_B1_TARGET25: br.call.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0a800001000ull}, +/* EM_BR_CALL_SPNT_FEW_CLR_B1_TARGET25: br.call.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0aa00000000ull}, +/* EM_BR_CALL_SPNT_MANY_CLR_B1_TARGET25: br.call.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0aa00001000ull}, +/* EM_BR_CALL_DPTK_FEW_CLR_B1_TARGET25: br.call.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0ac00000000ull}, +/* EM_BR_CALL_DPTK_MANY_CLR_B1_TARGET25: br.call.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0ac00001000ull}, +/* EM_BR_CALL_DPNT_FEW_CLR_B1_TARGET25: br.call.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0ae00000000ull}, +/* EM_BR_CALL_DPNT_MANY_CLR_B1_TARGET25: br.call.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B3, 0x0ae00001000ull}, +/* EM_BR_COND_SPTK_FEW_B2: br.cond.sptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00100000000ull}, +/* EM_BR_COND_SPTK_MANY_B2: br.cond.sptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00100001000ull}, +/* EM_BR_COND_SPNT_FEW_B2: br.cond.spnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00300000000ull}, +/* EM_BR_COND_SPNT_MANY_B2: br.cond.spnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00300001000ull}, +/* EM_BR_COND_DPTK_FEW_B2: br.cond.dptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00500000000ull}, +/* EM_BR_COND_DPTK_MANY_B2: br.cond.dptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00500001000ull}, +/* EM_BR_COND_DPNT_FEW_B2: br.cond.dpnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00700000000ull}, +/* EM_BR_COND_DPNT_MANY_B2: br.cond.dpnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00700001000ull}, +/* EM_BR_COND_SPTK_FEW_CLR_B2: br.cond.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00900000000ull}, +/* EM_BR_COND_SPTK_MANY_CLR_B2: br.cond.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00900001000ull}, +/* EM_BR_COND_SPNT_FEW_CLR_B2: br.cond.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b00000000ull}, +/* EM_BR_COND_SPNT_MANY_CLR_B2: br.cond.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b00001000ull}, +/* EM_BR_COND_DPTK_FEW_CLR_B2: br.cond.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d00000000ull}, +/* EM_BR_COND_DPTK_MANY_CLR_B2: br.cond.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d00001000ull}, +/* EM_BR_COND_DPNT_FEW_CLR_B2: br.cond.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f00000000ull}, +/* EM_BR_COND_DPNT_MANY_CLR_B2: br.cond.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f00001000ull}, +/* EM_BR_IA_SPTK_FEW_B2: br.ia.sptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00100000040ull}, +/* EM_BR_IA_SPTK_MANY_B2: br.ia.sptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00100001040ull}, +/* EM_BR_IA_SPNT_FEW_B2: br.ia.spnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00300000040ull}, +/* EM_BR_IA_SPNT_MANY_B2: br.ia.spnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00300001040ull}, +/* EM_BR_IA_DPTK_FEW_B2: br.ia.dptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00500000040ull}, +/* EM_BR_IA_DPTK_MANY_B2: br.ia.dptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00500001040ull}, +/* EM_BR_IA_DPNT_FEW_B2: br.ia.dpnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00700000040ull}, +/* EM_BR_IA_DPNT_MANY_B2: br.ia.dpnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00700001040ull}, +/* EM_BR_IA_SPTK_FEW_CLR_B2: br.ia.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00900000040ull}, +/* EM_BR_IA_SPTK_MANY_CLR_B2: br.ia.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00900001040ull}, +/* EM_BR_IA_SPNT_FEW_CLR_B2: br.ia.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b00000040ull}, +/* EM_BR_IA_SPNT_MANY_CLR_B2: br.ia.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b00001040ull}, +/* EM_BR_IA_DPTK_FEW_CLR_B2: br.ia.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d00000040ull}, +/* EM_BR_IA_DPTK_MANY_CLR_B2: br.ia.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d00001040ull}, +/* EM_BR_IA_DPNT_FEW_CLR_B2: br.ia.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f00000040ull}, +/* EM_BR_IA_DPNT_MANY_CLR_B2: br.ia.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f00001040ull}, +/* EM_BR_RET_SPTK_FEW_B2: br.ret.sptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00108000100ull}, +/* EM_BR_RET_SPTK_MANY_B2: br.ret.sptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00108001100ull}, +/* EM_BR_RET_SPNT_FEW_B2: br.ret.spnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00308000100ull}, +/* EM_BR_RET_SPNT_MANY_B2: br.ret.spnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00308001100ull}, +/* EM_BR_RET_DPTK_FEW_B2: br.ret.dptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00508000100ull}, +/* EM_BR_RET_DPTK_MANY_B2: br.ret.dptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00508001100ull}, +/* EM_BR_RET_DPNT_FEW_B2: br.ret.dpnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00708000100ull}, +/* EM_BR_RET_DPNT_MANY_B2: br.ret.dpnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00708001100ull}, +/* EM_BR_RET_SPTK_FEW_CLR_B2: br.ret.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00908000100ull}, +/* EM_BR_RET_SPTK_MANY_CLR_B2: br.ret.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00908001100ull}, +/* EM_BR_RET_SPNT_FEW_CLR_B2: br.ret.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b08000100ull}, +/* EM_BR_RET_SPNT_MANY_CLR_B2: br.ret.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00b08001100ull}, +/* EM_BR_RET_DPTK_FEW_CLR_B2: br.ret.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d08000100ull}, +/* EM_BR_RET_DPTK_MANY_CLR_B2: br.ret.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00d08001100ull}, +/* EM_BR_RET_DPNT_FEW_CLR_B2: br.ret.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f08000100ull}, +/* EM_BR_RET_DPNT_MANY_CLR_B2: br.ret.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B4, 0x00f08001100ull}, +/* EM_BR_CALL_SPTK_FEW_B1_B2: br.call.sptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02100000000ull}, +/* EM_BR_CALL_SPTK_MANY_B1_B2: br.call.sptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02100001000ull}, +/* EM_BR_CALL_SPNT_FEW_B1_B2: br.call.spnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02300000000ull}, +/* EM_BR_CALL_SPNT_MANY_B1_B2: br.call.spnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02300001000ull}, +/* EM_BR_CALL_DPTK_FEW_B1_B2: br.call.dptk.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02500000000ull}, +/* EM_BR_CALL_DPTK_MANY_B1_B2: br.call.dptk.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02500001000ull}, +/* EM_BR_CALL_DPNT_FEW_B1_B2: br.call.dpnt.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02700000000ull}, +/* EM_BR_CALL_DPNT_MANY_B1_B2: br.call.dpnt.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02700001000ull}, +/* EM_BR_CALL_SPTK_FEW_CLR_B1_B2: br.call.sptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02900000000ull}, +/* EM_BR_CALL_SPTK_MANY_CLR_B1_B2: br.call.sptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02900001000ull}, +/* EM_BR_CALL_SPNT_FEW_CLR_B1_B2: br.call.spnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02b00000000ull}, +/* EM_BR_CALL_SPNT_MANY_CLR_B1_B2: br.call.spnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02b00001000ull}, +/* EM_BR_CALL_DPTK_FEW_CLR_B1_B2: br.call.dptk.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02d00000000ull}, +/* EM_BR_CALL_DPTK_MANY_CLR_B1_B2: br.call.dptk.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02d00001000ull}, +/* EM_BR_CALL_DPNT_FEW_CLR_B1_B2: br.call.dpnt.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02f00000000ull}, +/* EM_BR_CALL_DPNT_MANY_CLR_B1_B2: br.call.dpnt.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10001, ArchRev0, EM_FORMAT_B5, 0x02f00001000ull}, +/* EM_BRP_SPTK_TARGET25_TAG13: brp.sptk */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e000000000ull}, +/* EM_BRP_SPTK_IMP_TARGET25_TAG13: brp.sptk.imp */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e800000000ull}, +/* EM_BRP_LOOP_TARGET25_TAG13: brp.loop */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e000000008ull}, +/* EM_BRP_LOOP_IMP_TARGET25_TAG13: brp.loop.imp */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e800000008ull}, +/* EM_BRP_DPTK_TARGET25_TAG13: brp.dptk */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e000000010ull}, +/* EM_BRP_DPTK_IMP_TARGET25_TAG13: brp.dptk.imp */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e800000010ull}, +/* EM_BRP_EXIT_TARGET25_TAG13: brp.exit */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e000000018ull}, +/* EM_BRP_EXIT_IMP_TARGET25_TAG13: brp.exit.imp */ + {B_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B6, 0x0e800000018ull}, +/* EM_BRP_SPTK_B2_TAG13: brp.sptk */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04080000000ull}, +/* EM_BRP_SPTK_IMP_B2_TAG13: brp.sptk.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04880000000ull}, +/* EM_BRP_DPTK_B2_TAG13: brp.dptk */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04080000010ull}, +/* EM_BRP_DPTK_IMP_B2_TAG13: brp.dptk.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04880000010ull}, +/* EM_BRP_RET_SPTK_B2_TAG13: brp.ret.sptk */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04088000000ull}, +/* EM_BRP_RET_SPTK_IMP_B2_TAG13: brp.ret.sptk.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04888000000ull}, +/* EM_BRP_RET_DPTK_B2_TAG13: brp.ret.dptk */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04088000010ull}, +/* EM_BRP_RET_DPTK_IMP_B2_TAG13: brp.ret.dptk.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B7, 0x04888000010ull}, +/* EM_COVER: cover */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x40, ArchRev0, EM_FORMAT_B8, 0x00010000000ull}, +/* EM_CLRRRB: clrrrb */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x40, ArchRev0, EM_FORMAT_B8, 0x00020000000ull}, +/* EM_CLRRRB_PR: clrrrb.pr */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x40, ArchRev0, EM_FORMAT_B8, 0x00028000000ull}, +/* EM_RFI: rfi */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10042, ArchRev0, EM_FORMAT_B8, 0x00040000000ull}, +/* EM_BSW_0: bsw.0 */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x42, ArchRev0, EM_FORMAT_B8, 0x00060000000ull}, +/* EM_BSW_1: bsw.1 */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x42, ArchRev0, EM_FORMAT_B8, 0x00068000000ull}, +/* EM_EPC: epc */ + {B_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x0, ArchRev0, EM_FORMAT_B8, 0x00080000000ull}, +/* EM_BREAK_B_IMM21: break.b */ + {B_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10001, ArchRev0, EM_FORMAT_B9, 0x00000000000ull}, +/* EM_NOP_B_IMM21: nop.b */ + {B_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_B9, 0x04000000000ull}, +/* EM_HINT_B_IMM21: hint.b */ + {B_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_B9, 0x04008000000ull}, +/* EM_FMA_S0_F1_F3_F4_F2: fma.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x10000000000ull}, +/* EM_FMA_S1_F1_F3_F4_F2: fma.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x10400000000ull}, +/* EM_FMA_S2_F1_F3_F4_F2: fma.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x10800000000ull}, +/* EM_FMA_S3_F1_F3_F4_F2: fma.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x10c00000000ull}, +/* EM_FMA_S_S0_F1_F3_F4_F2: fma.s.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x11000000000ull}, +/* EM_FMA_S_S1_F1_F3_F4_F2: fma.s.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x11400000000ull}, +/* EM_FMA_S_S2_F1_F3_F4_F2: fma.s.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x11800000000ull}, +/* EM_FMA_S_S3_F1_F3_F4_F2: fma.s.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x11c00000000ull}, +/* EM_FMA_D_S0_F1_F3_F4_F2: fma.d.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x12000000000ull}, +/* EM_FMA_D_S1_F1_F3_F4_F2: fma.d.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x12400000000ull}, +/* EM_FMA_D_S2_F1_F3_F4_F2: fma.d.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x12800000000ull}, +/* EM_FMA_D_S3_F1_F3_F4_F2: fma.d.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x12c00000000ull}, +/* EM_FPMA_S0_F1_F3_F4_F2: fpma.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x13000000000ull}, +/* EM_FPMA_S1_F1_F3_F4_F2: fpma.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x13400000000ull}, +/* EM_FPMA_S2_F1_F3_F4_F2: fpma.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x13800000000ull}, +/* EM_FPMA_S3_F1_F3_F4_F2: fpma.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x13c00000000ull}, +/* EM_FMS_S0_F1_F3_F4_F2: fms.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x14000000000ull}, +/* EM_FMS_S1_F1_F3_F4_F2: fms.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x14400000000ull}, +/* EM_FMS_S2_F1_F3_F4_F2: fms.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x14800000000ull}, +/* EM_FMS_S3_F1_F3_F4_F2: fms.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x14c00000000ull}, +/* EM_FMS_S_S0_F1_F3_F4_F2: fms.s.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x15000000000ull}, +/* EM_FMS_S_S1_F1_F3_F4_F2: fms.s.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x15400000000ull}, +/* EM_FMS_S_S2_F1_F3_F4_F2: fms.s.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x15800000000ull}, +/* EM_FMS_S_S3_F1_F3_F4_F2: fms.s.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x15c00000000ull}, +/* EM_FMS_D_S0_F1_F3_F4_F2: fms.d.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x16000000000ull}, +/* EM_FMS_D_S1_F1_F3_F4_F2: fms.d.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x16400000000ull}, +/* EM_FMS_D_S2_F1_F3_F4_F2: fms.d.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x16800000000ull}, +/* EM_FMS_D_S3_F1_F3_F4_F2: fms.d.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x16c00000000ull}, +/* EM_FPMS_S0_F1_F3_F4_F2: fpms.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x17000000000ull}, +/* EM_FPMS_S1_F1_F3_F4_F2: fpms.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x17400000000ull}, +/* EM_FPMS_S2_F1_F3_F4_F2: fpms.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x17800000000ull}, +/* EM_FPMS_S3_F1_F3_F4_F2: fpms.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x17c00000000ull}, +/* EM_FNMA_S0_F1_F3_F4_F2: fnma.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x18000000000ull}, +/* EM_FNMA_S1_F1_F3_F4_F2: fnma.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x18400000000ull}, +/* EM_FNMA_S2_F1_F3_F4_F2: fnma.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x18800000000ull}, +/* EM_FNMA_S3_F1_F3_F4_F2: fnma.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x18c00000000ull}, +/* EM_FNMA_S_S0_F1_F3_F4_F2: fnma.s.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x19000000000ull}, +/* EM_FNMA_S_S1_F1_F3_F4_F2: fnma.s.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x19400000000ull}, +/* EM_FNMA_S_S2_F1_F3_F4_F2: fnma.s.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x19800000000ull}, +/* EM_FNMA_S_S3_F1_F3_F4_F2: fnma.s.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x19c00000000ull}, +/* EM_FNMA_D_S0_F1_F3_F4_F2: fnma.d.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1a000000000ull}, +/* EM_FNMA_D_S1_F1_F3_F4_F2: fnma.d.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1a400000000ull}, +/* EM_FNMA_D_S2_F1_F3_F4_F2: fnma.d.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1a800000000ull}, +/* EM_FNMA_D_S3_F1_F3_F4_F2: fnma.d.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1ac00000000ull}, +/* EM_FPNMA_S0_F1_F3_F4_F2: fpnma.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1b000000000ull}, +/* EM_FPNMA_S1_F1_F3_F4_F2: fpnma.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1b400000000ull}, +/* EM_FPNMA_S2_F1_F3_F4_F2: fpnma.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1b800000000ull}, +/* EM_FPNMA_S3_F1_F3_F4_F2: fpnma.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F1, 0x1bc00000000ull}, +/* EM_XMA_L_F1_F3_F4_F2: xma.l */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F2, 0x1d000000000ull}, +/* EM_XMA_H_F1_F3_F4_F2: xma.h */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F2, 0x1dc00000000ull}, +/* EM_XMA_HU_F1_F3_F4_F2: xma.hu */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F2, 0x1d800000000ull}, +/* EM_FSELECT_F1_F3_F4_F2: fselect */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F3, 0x1c000000000ull}, +/* EM_FCMP_EQ_S0_P1_P2_F2_F3: fcmp.eq.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08000000000ull}, +/* EM_FCMP_EQ_S1_P1_P2_F2_F3: fcmp.eq.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08400000000ull}, +/* EM_FCMP_EQ_S2_P1_P2_F2_F3: fcmp.eq.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08800000000ull}, +/* EM_FCMP_EQ_S3_P1_P2_F2_F3: fcmp.eq.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08c00000000ull}, +/* EM_FCMP_LT_S0_P1_P2_F2_F3: fcmp.lt.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09000000000ull}, +/* EM_FCMP_LT_S1_P1_P2_F2_F3: fcmp.lt.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09400000000ull}, +/* EM_FCMP_LT_S2_P1_P2_F2_F3: fcmp.lt.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09800000000ull}, +/* EM_FCMP_LT_S3_P1_P2_F2_F3: fcmp.lt.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09c00000000ull}, +/* EM_FCMP_LE_S0_P1_P2_F2_F3: fcmp.le.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08200000000ull}, +/* EM_FCMP_LE_S1_P1_P2_F2_F3: fcmp.le.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08600000000ull}, +/* EM_FCMP_LE_S2_P1_P2_F2_F3: fcmp.le.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08a00000000ull}, +/* EM_FCMP_LE_S3_P1_P2_F2_F3: fcmp.le.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x08e00000000ull}, +/* EM_FCMP_UNORD_S0_P1_P2_F2_F3: fcmp.unord.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09200000000ull}, +/* EM_FCMP_UNORD_S1_P1_P2_F2_F3: fcmp.unord.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09600000000ull}, +/* EM_FCMP_UNORD_S2_P1_P2_F2_F3: fcmp.unord.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09a00000000ull}, +/* EM_FCMP_UNORD_S3_P1_P2_F2_F3: fcmp.unord.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F4, 0x09e00000000ull}, +/* EM_FCMP_EQ_UNC_S0_P1_P2_F2_F3: fcmp.eq.unc.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08000001000ull}, +/* EM_FCMP_EQ_UNC_S1_P1_P2_F2_F3: fcmp.eq.unc.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08400001000ull}, +/* EM_FCMP_EQ_UNC_S2_P1_P2_F2_F3: fcmp.eq.unc.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08800001000ull}, +/* EM_FCMP_EQ_UNC_S3_P1_P2_F2_F3: fcmp.eq.unc.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08c00001000ull}, +/* EM_FCMP_LT_UNC_S0_P1_P2_F2_F3: fcmp.lt.unc.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09000001000ull}, +/* EM_FCMP_LT_UNC_S1_P1_P2_F2_F3: fcmp.lt.unc.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09400001000ull}, +/* EM_FCMP_LT_UNC_S2_P1_P2_F2_F3: fcmp.lt.unc.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09800001000ull}, +/* EM_FCMP_LT_UNC_S3_P1_P2_F2_F3: fcmp.lt.unc.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09c00001000ull}, +/* EM_FCMP_LE_UNC_S0_P1_P2_F2_F3: fcmp.le.unc.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08200001000ull}, +/* EM_FCMP_LE_UNC_S1_P1_P2_F2_F3: fcmp.le.unc.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08600001000ull}, +/* EM_FCMP_LE_UNC_S2_P1_P2_F2_F3: fcmp.le.unc.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08a00001000ull}, +/* EM_FCMP_LE_UNC_S3_P1_P2_F2_F3: fcmp.le.unc.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x08e00001000ull}, +/* EM_FCMP_UNORD_UNC_S0_P1_P2_F2_F3: fcmp.unord.unc.s0 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09200001000ull}, +/* EM_FCMP_UNORD_UNC_S1_P1_P2_F2_F3: fcmp.unord.unc.s1 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09600001000ull}, +/* EM_FCMP_UNORD_UNC_S2_P1_P2_F2_F3: fcmp.unord.unc.s2 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09a00001000ull}, +/* EM_FCMP_UNORD_UNC_S3_P1_P2_F2_F3: fcmp.unord.unc.s3 */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F4, 0x09e00001000ull}, +/* EM_FCLASS_M_P1_P2_F2_FCLASS9: fclass.m */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FCLASS, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x81, ArchRev0, EM_FORMAT_F5, 0x0a000000000ull}, +/* EM_FCLASS_M_UNC_P1_P2_F2_FCLASS9: fclass.m.unc */ + {F_Unit, {EM_OPTYPE_PREG, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FCLASS, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1081, ArchRev0, EM_FORMAT_F5, 0x0a000001000ull}, +/* EM_FRCPA_S0_F1_P2_F2_F3: frcpa.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x00200000000ull}, +/* EM_FRCPA_S1_F1_P2_F2_F3: frcpa.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x00600000000ull}, +/* EM_FRCPA_S2_F1_P2_F2_F3: frcpa.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x00a00000000ull}, +/* EM_FRCPA_S3_F1_P2_F2_F3: frcpa.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x00e00000000ull}, +/* EM_FPRCPA_S0_F1_P2_F2_F3: fprcpa.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x02200000000ull}, +/* EM_FPRCPA_S1_F1_P2_F2_F3: fprcpa.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x02600000000ull}, +/* EM_FPRCPA_S2_F1_P2_F2_F3: fprcpa.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x02a00000000ull}, +/* EM_FPRCPA_S3_F1_P2_F2_F3: fprcpa.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F6, 0x02e00000000ull}, +/* EM_FRSQRTA_S0_F1_P2_F3: frsqrta.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x01200000000ull}, +/* EM_FRSQRTA_S1_F1_P2_F3: frsqrta.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x01600000000ull}, +/* EM_FRSQRTA_S2_F1_P2_F3: frsqrta.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x01a00000000ull}, +/* EM_FRSQRTA_S3_F1_P2_F3: frsqrta.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x01e00000000ull}, +/* EM_FPRSQRTA_S0_F1_P2_F3: fprsqrta.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x03200000000ull}, +/* EM_FPRSQRTA_S1_F1_P2_F3: fprsqrta.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x03600000000ull}, +/* EM_FPRSQRTA_S2_F1_P2_F3: fprsqrta.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x03a00000000ull}, +/* EM_FPRSQRTA_S3_F1_P2_F3: fprsqrta.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_PREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x1, ArchRev0, EM_FORMAT_F7, 0x03e00000000ull}, +/* EM_FMIN_S0_F1_F2_F3: fmin.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x000a0000000ull}, +/* EM_FMIN_S1_F1_F2_F3: fmin.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x004a0000000ull}, +/* EM_FMIN_S2_F1_F2_F3: fmin.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x008a0000000ull}, +/* EM_FMIN_S3_F1_F2_F3: fmin.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x00ca0000000ull}, +/* EM_FMAX_S0_F1_F2_F3: fmax.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x000a8000000ull}, +/* EM_FMAX_S1_F1_F2_F3: fmax.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x004a8000000ull}, +/* EM_FMAX_S2_F1_F2_F3: fmax.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x008a8000000ull}, +/* EM_FMAX_S3_F1_F2_F3: fmax.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x00ca8000000ull}, +/* EM_FAMIN_S0_F1_F2_F3: famin.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x000b0000000ull}, +/* EM_FAMIN_S1_F1_F2_F3: famin.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x004b0000000ull}, +/* EM_FAMIN_S2_F1_F2_F3: famin.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x008b0000000ull}, +/* EM_FAMIN_S3_F1_F2_F3: famin.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x00cb0000000ull}, +/* EM_FAMAX_S0_F1_F2_F3: famax.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x000b8000000ull}, +/* EM_FAMAX_S1_F1_F2_F3: famax.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x004b8000000ull}, +/* EM_FAMAX_S2_F1_F2_F3: famax.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x008b8000000ull}, +/* EM_FAMAX_S3_F1_F2_F3: famax.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x00cb8000000ull}, +/* EM_FPMIN_S0_F1_F2_F3: fpmin.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x020a0000000ull}, +/* EM_FPMIN_S1_F1_F2_F3: fpmin.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x024a0000000ull}, +/* EM_FPMIN_S2_F1_F2_F3: fpmin.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x028a0000000ull}, +/* EM_FPMIN_S3_F1_F2_F3: fpmin.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02ca0000000ull}, +/* EM_FPMAX_S0_F1_F2_F3: fpmax.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x020a8000000ull}, +/* EM_FPMAX_S1_F1_F2_F3: fpmax.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x024a8000000ull}, +/* EM_FPMAX_S2_F1_F2_F3: fpmax.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x028a8000000ull}, +/* EM_FPMAX_S3_F1_F2_F3: fpmax.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02ca8000000ull}, +/* EM_FPAMIN_S0_F1_F2_F3: fpamin.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x020b0000000ull}, +/* EM_FPAMIN_S1_F1_F2_F3: fpamin.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x024b0000000ull}, +/* EM_FPAMIN_S2_F1_F2_F3: fpamin.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x028b0000000ull}, +/* EM_FPAMIN_S3_F1_F2_F3: fpamin.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02cb0000000ull}, +/* EM_FPAMAX_S0_F1_F2_F3: fpamax.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x020b8000000ull}, +/* EM_FPAMAX_S1_F1_F2_F3: fpamax.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x024b8000000ull}, +/* EM_FPAMAX_S2_F1_F2_F3: fpamax.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x028b8000000ull}, +/* EM_FPAMAX_S3_F1_F2_F3: fpamax.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02cb8000000ull}, +/* EM_FPCMP_EQ_S0_F1_F2_F3: fpcmp.eq.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02180000000ull}, +/* EM_FPCMP_EQ_S1_F1_F2_F3: fpcmp.eq.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02580000000ull}, +/* EM_FPCMP_EQ_S2_F1_F2_F3: fpcmp.eq.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02980000000ull}, +/* EM_FPCMP_EQ_S3_F1_F2_F3: fpcmp.eq.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02d80000000ull}, +/* EM_FPCMP_LT_S0_F1_F2_F3: fpcmp.lt.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02188000000ull}, +/* EM_FPCMP_LT_S1_F1_F2_F3: fpcmp.lt.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02588000000ull}, +/* EM_FPCMP_LT_S2_F1_F2_F3: fpcmp.lt.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02988000000ull}, +/* EM_FPCMP_LT_S3_F1_F2_F3: fpcmp.lt.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02d88000000ull}, +/* EM_FPCMP_LE_S0_F1_F2_F3: fpcmp.le.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02190000000ull}, +/* EM_FPCMP_LE_S1_F1_F2_F3: fpcmp.le.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02590000000ull}, +/* EM_FPCMP_LE_S2_F1_F2_F3: fpcmp.le.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02990000000ull}, +/* EM_FPCMP_LE_S3_F1_F2_F3: fpcmp.le.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02d90000000ull}, +/* EM_FPCMP_UNORD_S0_F1_F2_F3: fpcmp.unord.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02198000000ull}, +/* EM_FPCMP_UNORD_S1_F1_F2_F3: fpcmp.unord.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02598000000ull}, +/* EM_FPCMP_UNORD_S2_F1_F2_F3: fpcmp.unord.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02998000000ull}, +/* EM_FPCMP_UNORD_S3_F1_F2_F3: fpcmp.unord.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02d98000000ull}, +/* EM_FPCMP_NEQ_S0_F1_F2_F3: fpcmp.neq.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x021a0000000ull}, +/* EM_FPCMP_NEQ_S1_F1_F2_F3: fpcmp.neq.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x025a0000000ull}, +/* EM_FPCMP_NEQ_S2_F1_F2_F3: fpcmp.neq.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x029a0000000ull}, +/* EM_FPCMP_NEQ_S3_F1_F2_F3: fpcmp.neq.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02da0000000ull}, +/* EM_FPCMP_NLT_S0_F1_F2_F3: fpcmp.nlt.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x021a8000000ull}, +/* EM_FPCMP_NLT_S1_F1_F2_F3: fpcmp.nlt.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x025a8000000ull}, +/* EM_FPCMP_NLT_S2_F1_F2_F3: fpcmp.nlt.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x029a8000000ull}, +/* EM_FPCMP_NLT_S3_F1_F2_F3: fpcmp.nlt.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02da8000000ull}, +/* EM_FPCMP_NLE_S0_F1_F2_F3: fpcmp.nle.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x021b0000000ull}, +/* EM_FPCMP_NLE_S1_F1_F2_F3: fpcmp.nle.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x025b0000000ull}, +/* EM_FPCMP_NLE_S2_F1_F2_F3: fpcmp.nle.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x029b0000000ull}, +/* EM_FPCMP_NLE_S3_F1_F2_F3: fpcmp.nle.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02db0000000ull}, +/* EM_FPCMP_ORD_S0_F1_F2_F3: fpcmp.ord.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x021b8000000ull}, +/* EM_FPCMP_ORD_S1_F1_F2_F3: fpcmp.ord.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x025b8000000ull}, +/* EM_FPCMP_ORD_S2_F1_F2_F3: fpcmp.ord.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x029b8000000ull}, +/* EM_FPCMP_ORD_S3_F1_F2_F3: fpcmp.ord.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F8, 0x02db8000000ull}, +/* EM_FMERGE_S_F1_F2_F3: fmerge.s */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00080000000ull}, +/* EM_FMERGE_NS_F1_F2_F3: fmerge.ns */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00088000000ull}, +/* EM_FMERGE_SE_F1_F2_F3: fmerge.se */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00090000000ull}, +/* EM_FMIX_LR_F1_F2_F3: fmix.lr */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001c8000000ull}, +/* EM_FMIX_R_F1_F2_F3: fmix.r */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001d0000000ull}, +/* EM_FMIX_L_F1_F2_F3: fmix.l */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001d8000000ull}, +/* EM_FSXT_R_F1_F2_F3: fsxt.r */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001e0000000ull}, +/* EM_FSXT_L_F1_F2_F3: fsxt.l */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001e8000000ull}, +/* EM_FPACK_F1_F2_F3: fpack */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00140000000ull}, +/* EM_FSWAP_F1_F2_F3: fswap */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001a0000000ull}, +/* EM_FSWAP_NL_F1_F2_F3: fswap.nl */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001a8000000ull}, +/* EM_FSWAP_NR_F1_F2_F3: fswap.nr */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x001b0000000ull}, +/* EM_FAND_F1_F2_F3: fand */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00160000000ull}, +/* EM_FANDCM_F1_F2_F3: fandcm */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00168000000ull}, +/* EM_FOR_F1_F2_F3: for */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00170000000ull}, +/* EM_FXOR_F1_F2_F3: fxor */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x00178000000ull}, +/* EM_FPMERGE_S_F1_F2_F3: fpmerge.s */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x02080000000ull}, +/* EM_FPMERGE_NS_F1_F2_F3: fpmerge.ns */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x02088000000ull}, +/* EM_FPMERGE_SE_F1_F2_F3: fpmerge.se */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F9, 0x02090000000ull}, +/* EM_FCVT_FX_S0_F1_F2: fcvt.fx.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x000c0000000ull}, +/* EM_FCVT_FX_S1_F1_F2: fcvt.fx.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x004c0000000ull}, +/* EM_FCVT_FX_S2_F1_F2: fcvt.fx.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x008c0000000ull}, +/* EM_FCVT_FX_S3_F1_F2: fcvt.fx.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x00cc0000000ull}, +/* EM_FCVT_FXU_S0_F1_F2: fcvt.fxu.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x000c8000000ull}, +/* EM_FCVT_FXU_S1_F1_F2: fcvt.fxu.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x004c8000000ull}, +/* EM_FCVT_FXU_S2_F1_F2: fcvt.fxu.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x008c8000000ull}, +/* EM_FCVT_FXU_S3_F1_F2: fcvt.fxu.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x00cc8000000ull}, +/* EM_FCVT_FX_TRUNC_S0_F1_F2: fcvt.fx.trunc.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x000d0000000ull}, +/* EM_FCVT_FX_TRUNC_S1_F1_F2: fcvt.fx.trunc.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x004d0000000ull}, +/* EM_FCVT_FX_TRUNC_S2_F1_F2: fcvt.fx.trunc.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x008d0000000ull}, +/* EM_FCVT_FX_TRUNC_S3_F1_F2: fcvt.fx.trunc.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x00cd0000000ull}, +/* EM_FCVT_FXU_TRUNC_S0_F1_F2: fcvt.fxu.trunc.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x000d8000000ull}, +/* EM_FCVT_FXU_TRUNC_S1_F1_F2: fcvt.fxu.trunc.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x004d8000000ull}, +/* EM_FCVT_FXU_TRUNC_S2_F1_F2: fcvt.fxu.trunc.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x008d8000000ull}, +/* EM_FCVT_FXU_TRUNC_S3_F1_F2: fcvt.fxu.trunc.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x00cd8000000ull}, +/* EM_FPCVT_FX_S0_F1_F2: fpcvt.fx.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x020c0000000ull}, +/* EM_FPCVT_FX_S1_F1_F2: fpcvt.fx.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x024c0000000ull}, +/* EM_FPCVT_FX_S2_F1_F2: fpcvt.fx.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x028c0000000ull}, +/* EM_FPCVT_FX_S3_F1_F2: fpcvt.fx.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x02cc0000000ull}, +/* EM_FPCVT_FXU_S0_F1_F2: fpcvt.fxu.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x020c8000000ull}, +/* EM_FPCVT_FXU_S1_F1_F2: fpcvt.fxu.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x024c8000000ull}, +/* EM_FPCVT_FXU_S2_F1_F2: fpcvt.fxu.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x028c8000000ull}, +/* EM_FPCVT_FXU_S3_F1_F2: fpcvt.fxu.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x02cc8000000ull}, +/* EM_FPCVT_FX_TRUNC_S0_F1_F2: fpcvt.fx.trunc.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x020d0000000ull}, +/* EM_FPCVT_FX_TRUNC_S1_F1_F2: fpcvt.fx.trunc.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x024d0000000ull}, +/* EM_FPCVT_FX_TRUNC_S2_F1_F2: fpcvt.fx.trunc.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x028d0000000ull}, +/* EM_FPCVT_FX_TRUNC_S3_F1_F2: fpcvt.fx.trunc.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x02cd0000000ull}, +/* EM_FPCVT_FXU_TRUNC_S0_F1_F2: fpcvt.fxu.trunc.s0 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x020d8000000ull}, +/* EM_FPCVT_FXU_TRUNC_S1_F1_F2: fpcvt.fxu.trunc.s1 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x024d8000000ull}, +/* EM_FPCVT_FXU_TRUNC_S2_F1_F2: fpcvt.fxu.trunc.s2 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x028d8000000ull}, +/* EM_FPCVT_FXU_TRUNC_S3_F1_F2: fpcvt.fxu.trunc.s3 */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F10, 0x02cd8000000ull}, +/* EM_FCVT_XF_F1_F2: fcvt.xf */ + {F_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x1, ArchRev0, EM_FORMAT_F11, 0x000e0000000ull}, +/* EM_FSETC_S0_AMASK7_OMASK7: fsetc.s0 */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F12, 0x00020000000ull}, +/* EM_FSETC_S1_AMASK7_OMASK7: fsetc.s1 */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F12, 0x00420000000ull}, +/* EM_FSETC_S2_AMASK7_OMASK7: fsetc.s2 */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F12, 0x00820000000ull}, +/* EM_FSETC_S3_AMASK7_OMASK7: fsetc.s3 */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F12, 0x00c20000000ull}, +/* EM_FCLRF_S0: fclrf.s0 */ + {F_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F13, 0x00028000000ull}, +/* EM_FCLRF_S1: fclrf.s1 */ + {F_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F13, 0x00428000000ull}, +/* EM_FCLRF_S2: fclrf.s2 */ + {F_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F13, 0x00828000000ull}, +/* EM_FCLRF_S3: fclrf.s3 */ + {F_Unit, {EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F13, 0x00c28000000ull}, +/* EM_FCHKF_S0_TARGET25: fchkf.s0 */ + {F_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F14, 0x00040000000ull}, +/* EM_FCHKF_S1_TARGET25: fchkf.s1 */ + {F_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F14, 0x00440000000ull}, +/* EM_FCHKF_S2_TARGET25: fchkf.s2 */ + {F_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F14, 0x00840000000ull}, +/* EM_FCHKF_S3_TARGET25: fchkf.s3 */ + {F_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F14, 0x00c40000000ull}, +/* EM_BREAK_F_IMM21: break.f */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F15, 0x00000000000ull}, +/* EM_NOP_F_IMM21: nop.f */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F16, 0x00008000000ull}, +/* EM_HINT_F_IMM21: hint.f */ + {F_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x1, ArchRev0, EM_FORMAT_F16, 0x0000c000000ull}, +/* EM_BREAK_X_IMM62: break.x */ + {X_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x201, ArchRev0, EM_FORMAT_X1, 0x00000000000ull}, +/* EM_MOVL_R1_IMM64: movl */ + {X_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x601, ArchRev0, EM_FORMAT_X2, 0x0c000000000ull}, +/* EM_BRL_COND_SPTK_FEW_TARGET64: brl.cond.sptk.few */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18000000000ull}, +/* EM_BRL_COND_SPTK_MANY_TARGET64: brl.cond.sptk.many */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18000001000ull}, +/* EM_BRL_COND_SPNT_FEW_TARGET64: brl.cond.spnt.few */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18200000000ull}, +/* EM_BRL_COND_SPNT_MANY_TARGET64: brl.cond.spnt.many */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18200001000ull}, +/* EM_BRL_COND_DPTK_FEW_TARGET64: brl.cond.dptk.few */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18400000000ull}, +/* EM_BRL_COND_DPTK_MANY_TARGET64: brl.cond.dptk.many */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18400001000ull}, +/* EM_BRL_COND_DPNT_FEW_TARGET64: brl.cond.dpnt.few */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18600000000ull}, +/* EM_BRL_COND_DPNT_MANY_TARGET64: brl.cond.dpnt.many */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18600001000ull}, +/* EM_BRL_COND_SPTK_FEW_CLR_TARGET64: brl.cond.sptk.few.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18800000000ull}, +/* EM_BRL_COND_SPTK_MANY_CLR_TARGET64: brl.cond.sptk.many.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18800001000ull}, +/* EM_BRL_COND_SPNT_FEW_CLR_TARGET64: brl.cond.spnt.few.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18a00000000ull}, +/* EM_BRL_COND_SPNT_MANY_CLR_TARGET64: brl.cond.spnt.many.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18a00001000ull}, +/* EM_BRL_COND_DPTK_FEW_CLR_TARGET64: brl.cond.dptk.few.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18c00000000ull}, +/* EM_BRL_COND_DPTK_MANY_CLR_TARGET64: brl.cond.dptk.many.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18c00001000ull}, +/* EM_BRL_COND_DPNT_FEW_CLR_TARGET64: brl.cond.dpnt.few.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18e00000000ull}, +/* EM_BRL_COND_DPNT_MANY_CLR_TARGET64: brl.cond.dpnt.many.clr */ + {X_Unit, {EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x10241, Impl_Brl, EM_FORMAT_X3, 0x18e00001000ull}, +/* EM_BRL_CALL_SPTK_FEW_B1_TARGET64: brl.call.sptk.few */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a000000000ull}, +/* EM_BRL_CALL_SPTK_MANY_B1_TARGET64: brl.call.sptk.many */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a000001000ull}, +/* EM_BRL_CALL_SPNT_FEW_B1_TARGET64: brl.call.spnt.few */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a200000000ull}, +/* EM_BRL_CALL_SPNT_MANY_B1_TARGET64: brl.call.spnt.many */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a200001000ull}, +/* EM_BRL_CALL_DPTK_FEW_B1_TARGET64: brl.call.dptk.few */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a400000000ull}, +/* EM_BRL_CALL_DPTK_MANY_B1_TARGET64: brl.call.dptk.many */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a400001000ull}, +/* EM_BRL_CALL_DPNT_FEW_B1_TARGET64: brl.call.dpnt.few */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a600000000ull}, +/* EM_BRL_CALL_DPNT_MANY_B1_TARGET64: brl.call.dpnt.many */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a600001000ull}, +/* EM_BRL_CALL_SPTK_FEW_CLR_B1_TARGET64: brl.call.sptk.few.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a800000000ull}, +/* EM_BRL_CALL_SPTK_MANY_CLR_B1_TARGET64: brl.call.sptk.many.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1a800001000ull}, +/* EM_BRL_CALL_SPNT_FEW_CLR_B1_TARGET64: brl.call.spnt.few.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1aa00000000ull}, +/* EM_BRL_CALL_SPNT_MANY_CLR_B1_TARGET64: brl.call.spnt.many.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1aa00001000ull}, +/* EM_BRL_CALL_DPTK_FEW_CLR_B1_TARGET64: brl.call.dptk.few.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1ac00000000ull}, +/* EM_BRL_CALL_DPTK_MANY_CLR_B1_TARGET64: brl.call.dptk.many.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1ac00001000ull}, +/* EM_BRL_CALL_DPNT_FEW_CLR_B1_TARGET64: brl.call.dpnt.few.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1ae00000000ull}, +/* EM_BRL_CALL_DPNT_MANY_CLR_B1_TARGET64: brl.call.dpnt.many.clr */ + {X_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x10241, Impl_Brl, EM_FORMAT_X4, 0x1ae00001000ull}, +/* EM_NOP_X_IMM62: nop.x */ + {X_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x201, ArchRev0, EM_FORMAT_X5, 0x00008000000ull}, +/* EM_HINT_X_IMM62: hint.x */ + {X_Unit, {EM_OPTYPE_UIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x201, ArchRev0, EM_FORMAT_X5, 0x0000c000000ull}, +/* EM_MOV_MWH3_B1_R2_TAG13: mov.mwh3 */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2001, ArchRev0, EM_FORMAT_I21, 0x00e00300000ull}, +/* EM_MOV_MWH3_IMP_B1_R2_TAG13: mov.mwh3.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2001, ArchRev0, EM_FORMAT_I21, 0x00e00b00000ull}, +/* EM_MOV_RET_MWH3_B1_R2_TAG13: mov.ret.mwh3 */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2001, ArchRev0, EM_FORMAT_I21, 0x00e00700000ull}, +/* EM_MOV_RET_MWH3_IMP_B1_R2_TAG13: mov.ret.mwh3.imp */ + {I_Unit, {EM_OPTYPE_BR, EM_OPTYPE_IREG, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2001, ArchRev0, EM_FORMAT_I21, 0x00e00f00000ull}, +/* EM_LD1_LDHINT2_R1_R3: ld1.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08020000000ull}, +/* EM_LD2_LDHINT2_R1_R3: ld2.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08060000000ull}, +/* EM_LD4_LDHINT2_R1_R3: ld4.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x080a0000000ull}, +/* EM_LD8_LDHINT2_R1_R3: ld8.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x080e0000000ull}, +/* EM_LD1_S_LDHINT2_R1_R3: ld1.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08120000000ull}, +/* EM_LD2_S_LDHINT2_R1_R3: ld2.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08160000000ull}, +/* EM_LD4_S_LDHINT2_R1_R3: ld4.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x081a0000000ull}, +/* EM_LD8_S_LDHINT2_R1_R3: ld8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x081e0000000ull}, +/* EM_LD1_A_LDHINT2_R1_R3: ld1.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08220000000ull}, +/* EM_LD2_A_LDHINT2_R1_R3: ld2.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08260000000ull}, +/* EM_LD4_A_LDHINT2_R1_R3: ld4.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x082a0000000ull}, +/* EM_LD8_A_LDHINT2_R1_R3: ld8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x082e0000000ull}, +/* EM_LD1_SA_LDHINT2_R1_R3: ld1.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08320000000ull}, +/* EM_LD2_SA_LDHINT2_R1_R3: ld2.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08360000000ull}, +/* EM_LD4_SA_LDHINT2_R1_R3: ld4.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x083a0000000ull}, +/* EM_LD8_SA_LDHINT2_R1_R3: ld8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x083e0000000ull}, +/* EM_LD1_BIAS_LDHINT2_R1_R3: ld1.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08420000000ull}, +/* EM_LD2_BIAS_LDHINT2_R1_R3: ld2.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08460000000ull}, +/* EM_LD4_BIAS_LDHINT2_R1_R3: ld4.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x084a0000000ull}, +/* EM_LD8_BIAS_LDHINT2_R1_R3: ld8.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x084e0000000ull}, +/* EM_LD1_ACQ_LDHINT2_R1_R3: ld1.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08520000000ull}, +/* EM_LD2_ACQ_LDHINT2_R1_R3: ld2.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08560000000ull}, +/* EM_LD4_ACQ_LDHINT2_R1_R3: ld4.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x085a0000000ull}, +/* EM_LD8_ACQ_LDHINT2_R1_R3: ld8.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x085e0000000ull}, +/* EM_LD8_FILL_LDHINT2_R1_R3: ld8.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x086e0000000ull}, +/* EM_LD1_C_CLR_LDHINT2_R1_R3: ld1.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08820000000ull}, +/* EM_LD2_C_CLR_LDHINT2_R1_R3: ld2.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08860000000ull}, +/* EM_LD4_C_CLR_LDHINT2_R1_R3: ld4.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x088a0000000ull}, +/* EM_LD8_C_CLR_LDHINT2_R1_R3: ld8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x088e0000000ull}, +/* EM_LD1_C_NC_LDHINT2_R1_R3: ld1.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08920000000ull}, +/* EM_LD2_C_NC_LDHINT2_R1_R3: ld2.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08960000000ull}, +/* EM_LD4_C_NC_LDHINT2_R1_R3: ld4.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x089a0000000ull}, +/* EM_LD8_C_NC_LDHINT2_R1_R3: ld8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x089e0000000ull}, +/* EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3: ld1.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08a20000000ull}, +/* EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3: ld2.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08a60000000ull}, +/* EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3: ld4.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08aa0000000ull}, +/* EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3: ld8.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M1, 0x08ae0000000ull}, +/* EM_LD16_LDHINT2_R1_AR_CSD_R3: ld16.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2005, Impl_AtomicOps, EM_FORMAT_M1, 0x08a28000000ull}, +/* EM_LD16_ACQ_LDHINT2_R1_AR_CSD_R3: ld16.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_APP_CSD, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2005, Impl_AtomicOps, EM_FORMAT_M1, 0x08b28000000ull}, +/* EM_LD1_LDHINT2_R1_R3_R2: ld1.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09020000000ull}, +/* EM_LD2_LDHINT2_R1_R3_R2: ld2.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09060000000ull}, +/* EM_LD4_LDHINT2_R1_R3_R2: ld4.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x090a0000000ull}, +/* EM_LD8_LDHINT2_R1_R3_R2: ld8.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x090e0000000ull}, +/* EM_LD1_S_LDHINT2_R1_R3_R2: ld1.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09120000000ull}, +/* EM_LD2_S_LDHINT2_R1_R3_R2: ld2.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09160000000ull}, +/* EM_LD4_S_LDHINT2_R1_R3_R2: ld4.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x091a0000000ull}, +/* EM_LD8_S_LDHINT2_R1_R3_R2: ld8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x091e0000000ull}, +/* EM_LD1_A_LDHINT2_R1_R3_R2: ld1.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09220000000ull}, +/* EM_LD2_A_LDHINT2_R1_R3_R2: ld2.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09260000000ull}, +/* EM_LD4_A_LDHINT2_R1_R3_R2: ld4.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x092a0000000ull}, +/* EM_LD8_A_LDHINT2_R1_R3_R2: ld8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x092e0000000ull}, +/* EM_LD1_SA_LDHINT2_R1_R3_R2: ld1.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09320000000ull}, +/* EM_LD2_SA_LDHINT2_R1_R3_R2: ld2.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09360000000ull}, +/* EM_LD4_SA_LDHINT2_R1_R3_R2: ld4.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x093a0000000ull}, +/* EM_LD8_SA_LDHINT2_R1_R3_R2: ld8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x093e0000000ull}, +/* EM_LD1_BIAS_LDHINT2_R1_R3_R2: ld1.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09420000000ull}, +/* EM_LD2_BIAS_LDHINT2_R1_R3_R2: ld2.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09460000000ull}, +/* EM_LD4_BIAS_LDHINT2_R1_R3_R2: ld4.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x094a0000000ull}, +/* EM_LD8_BIAS_LDHINT2_R1_R3_R2: ld8.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x094e0000000ull}, +/* EM_LD1_ACQ_LDHINT2_R1_R3_R2: ld1.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09520000000ull}, +/* EM_LD2_ACQ_LDHINT2_R1_R3_R2: ld2.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09560000000ull}, +/* EM_LD4_ACQ_LDHINT2_R1_R3_R2: ld4.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x095a0000000ull}, +/* EM_LD8_ACQ_LDHINT2_R1_R3_R2: ld8.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x095e0000000ull}, +/* EM_LD8_FILL_LDHINT2_R1_R3_R2: ld8.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x096e0000000ull}, +/* EM_LD1_C_CLR_LDHINT2_R1_R3_R2: ld1.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09820000000ull}, +/* EM_LD2_C_CLR_LDHINT2_R1_R3_R2: ld2.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09860000000ull}, +/* EM_LD4_C_CLR_LDHINT2_R1_R3_R2: ld4.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x098a0000000ull}, +/* EM_LD8_C_CLR_LDHINT2_R1_R3_R2: ld8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x098e0000000ull}, +/* EM_LD1_C_NC_LDHINT2_R1_R3_R2: ld1.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09920000000ull}, +/* EM_LD2_C_NC_LDHINT2_R1_R3_R2: ld2.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09960000000ull}, +/* EM_LD4_C_NC_LDHINT2_R1_R3_R2: ld4.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x099a0000000ull}, +/* EM_LD8_C_NC_LDHINT2_R1_R3_R2: ld8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x099e0000000ull}, +/* EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3_R2: ld1.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09a20000000ull}, +/* EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3_R2: ld2.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09a60000000ull}, +/* EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3_R2: ld4.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09aa0000000ull}, +/* EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3_R2: ld8.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M2, 0x09ae0000000ull}, +/* EM_LD1_LDHINT2_R1_R3_IMM9: ld1.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a020000000ull}, +/* EM_LD2_LDHINT2_R1_R3_IMM9: ld2.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a060000000ull}, +/* EM_LD4_LDHINT2_R1_R3_IMM9: ld4.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a0a0000000ull}, +/* EM_LD8_LDHINT2_R1_R3_IMM9: ld8.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a0e0000000ull}, +/* EM_LD1_S_LDHINT2_R1_R3_IMM9: ld1.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a120000000ull}, +/* EM_LD2_S_LDHINT2_R1_R3_IMM9: ld2.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a160000000ull}, +/* EM_LD4_S_LDHINT2_R1_R3_IMM9: ld4.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a1a0000000ull}, +/* EM_LD8_S_LDHINT2_R1_R3_IMM9: ld8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a1e0000000ull}, +/* EM_LD1_A_LDHINT2_R1_R3_IMM9: ld1.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a220000000ull}, +/* EM_LD2_A_LDHINT2_R1_R3_IMM9: ld2.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a260000000ull}, +/* EM_LD4_A_LDHINT2_R1_R3_IMM9: ld4.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a2a0000000ull}, +/* EM_LD8_A_LDHINT2_R1_R3_IMM9: ld8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a2e0000000ull}, +/* EM_LD1_SA_LDHINT2_R1_R3_IMM9: ld1.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a320000000ull}, +/* EM_LD2_SA_LDHINT2_R1_R3_IMM9: ld2.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a360000000ull}, +/* EM_LD4_SA_LDHINT2_R1_R3_IMM9: ld4.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a3a0000000ull}, +/* EM_LD8_SA_LDHINT2_R1_R3_IMM9: ld8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a3e0000000ull}, +/* EM_LD1_BIAS_LDHINT2_R1_R3_IMM9: ld1.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a420000000ull}, +/* EM_LD2_BIAS_LDHINT2_R1_R3_IMM9: ld2.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a460000000ull}, +/* EM_LD4_BIAS_LDHINT2_R1_R3_IMM9: ld4.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a4a0000000ull}, +/* EM_LD8_BIAS_LDHINT2_R1_R3_IMM9: ld8.bias.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a4e0000000ull}, +/* EM_LD1_ACQ_LDHINT2_R1_R3_IMM9: ld1.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a520000000ull}, +/* EM_LD2_ACQ_LDHINT2_R1_R3_IMM9: ld2.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a560000000ull}, +/* EM_LD4_ACQ_LDHINT2_R1_R3_IMM9: ld4.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a5a0000000ull}, +/* EM_LD8_ACQ_LDHINT2_R1_R3_IMM9: ld8.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a5e0000000ull}, +/* EM_LD8_FILL_LDHINT2_R1_R3_IMM9: ld8.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a6e0000000ull}, +/* EM_LD1_C_CLR_LDHINT2_R1_R3_IMM9: ld1.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a820000000ull}, +/* EM_LD2_C_CLR_LDHINT2_R1_R3_IMM9: ld2.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a860000000ull}, +/* EM_LD4_C_CLR_LDHINT2_R1_R3_IMM9: ld4.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a8a0000000ull}, +/* EM_LD8_C_CLR_LDHINT2_R1_R3_IMM9: ld8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a8e0000000ull}, +/* EM_LD1_C_NC_LDHINT2_R1_R3_IMM9: ld1.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a920000000ull}, +/* EM_LD2_C_NC_LDHINT2_R1_R3_IMM9: ld2.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a960000000ull}, +/* EM_LD4_C_NC_LDHINT2_R1_R3_IMM9: ld4.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a9a0000000ull}, +/* EM_LD8_C_NC_LDHINT2_R1_R3_IMM9: ld8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0a9e0000000ull}, +/* EM_LD1_C_CLR_ACQ_LDHINT2_R1_R3_IMM9: ld1.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0aa20000000ull}, +/* EM_LD2_C_CLR_ACQ_LDHINT2_R1_R3_IMM9: ld2.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0aa60000000ull}, +/* EM_LD4_C_CLR_ACQ_LDHINT2_R1_R3_IMM9: ld4.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0aaa0000000ull}, +/* EM_LD8_C_CLR_ACQ_LDHINT2_R1_R3_IMM9: ld8.c.clr.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2015, ArchRev0, EM_FORMAT_M3, 0x0aae0000000ull}, +/* EM_ST1_STHINT1_R3_R2: st1.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08c10000000ull}, +/* EM_ST1_STHINT2_R3_R2: st1.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08c20000000ull}, +/* EM_ST2_STHINT1_R3_R2: st2.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08c50000000ull}, +/* EM_ST2_STHINT2_R3_R2: st2.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08c60000000ull}, +/* EM_ST4_STHINT1_R3_R2: st4.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08c90000000ull}, +/* EM_ST4_STHINT2_R3_R2: st4.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08ca0000000ull}, +/* EM_ST8_STHINT1_R3_R2: st8.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08cd0000000ull}, +/* EM_ST8_STHINT2_R3_R2: st8.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08ce0000000ull}, +/* EM_ST1_REL_STHINT1_R3_R2: st1.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08d10000000ull}, +/* EM_ST1_REL_STHINT2_R3_R2: st1.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08d20000000ull}, +/* EM_ST2_REL_STHINT1_R3_R2: st2.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08d50000000ull}, +/* EM_ST2_REL_STHINT2_R3_R2: st2.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08d60000000ull}, +/* EM_ST4_REL_STHINT1_R3_R2: st4.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08d90000000ull}, +/* EM_ST4_REL_STHINT2_R3_R2: st4.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08da0000000ull}, +/* EM_ST8_REL_STHINT1_R3_R2: st8.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08dd0000000ull}, +/* EM_ST8_REL_STHINT2_R3_R2: st8.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08de0000000ull}, +/* EM_ST8_SPILL_STHINT1_R3_R2: st8.spill.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08ed0000000ull}, +/* EM_ST8_SPILL_STHINT2_R3_R2: st8.spill.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M4, 0x08ee0000000ull}, +/* EM_ST16_STHINT1_R3_R2_AR_CSD: st16.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, Impl_AtomicOps, EM_FORMAT_M4, 0x08c18000000ull}, +/* EM_ST16_STHINT2_R3_R2_AR_CSD: st16.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, Impl_AtomicOps, EM_FORMAT_M4, 0x08c28000000ull}, +/* EM_ST16_REL_STHINT1_R3_R2_AR_CSD: st16.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, Impl_AtomicOps, EM_FORMAT_M4, 0x08d18000000ull}, +/* EM_ST16_REL_STHINT2_R3_R2_AR_CSD: st16.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, Impl_AtomicOps, EM_FORMAT_M4, 0x08d28000000ull}, +/* EM_ST1_STHINT1_R3_R2_IMM9: st1.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ac10000000ull}, +/* EM_ST1_STHINT2_R3_R2_IMM9: st1.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ac20000000ull}, +/* EM_ST2_STHINT1_R3_R2_IMM9: st2.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ac50000000ull}, +/* EM_ST2_STHINT2_R3_R2_IMM9: st2.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ac60000000ull}, +/* EM_ST4_STHINT1_R3_R2_IMM9: st4.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ac90000000ull}, +/* EM_ST4_STHINT2_R3_R2_IMM9: st4.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0aca0000000ull}, +/* EM_ST8_STHINT1_R3_R2_IMM9: st8.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0acd0000000ull}, +/* EM_ST8_STHINT2_R3_R2_IMM9: st8.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ace0000000ull}, +/* EM_ST1_REL_STHINT1_R3_R2_IMM9: st1.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ad10000000ull}, +/* EM_ST1_REL_STHINT2_R3_R2_IMM9: st1.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ad20000000ull}, +/* EM_ST2_REL_STHINT1_R3_R2_IMM9: st2.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ad50000000ull}, +/* EM_ST2_REL_STHINT2_R3_R2_IMM9: st2.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ad60000000ull}, +/* EM_ST4_REL_STHINT1_R3_R2_IMM9: st4.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ad90000000ull}, +/* EM_ST4_REL_STHINT2_R3_R2_IMM9: st4.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ada0000000ull}, +/* EM_ST8_REL_STHINT1_R3_R2_IMM9: st8.rel.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0add0000000ull}, +/* EM_ST8_REL_STHINT2_R3_R2_IMM9: st8.rel.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0ade0000000ull}, +/* EM_ST8_SPILL_STHINT1_R3_R2_IMM9: st8.spill.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0aed0000000ull}, +/* EM_ST8_SPILL_STHINT2_R3_R2_IMM9: st8.spill.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M5, 0x0aee0000000ull}, +/* EM_LDFS_LDHINT2_F1_R3: ldfs.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c0a0000000ull}, +/* EM_LDFD_LDHINT2_F1_R3: ldfd.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c0e0000000ull}, +/* EM_LDF8_LDHINT2_F1_R3: ldf8.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c060000000ull}, +/* EM_LDFE_LDHINT2_F1_R3: ldfe.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c020000000ull}, +/* EM_LDFS_S_LDHINT2_F1_R3: ldfs.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c1a0000000ull}, +/* EM_LDFD_S_LDHINT2_F1_R3: ldfd.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c1e0000000ull}, +/* EM_LDF8_S_LDHINT2_F1_R3: ldf8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c160000000ull}, +/* EM_LDFE_S_LDHINT2_F1_R3: ldfe.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c120000000ull}, +/* EM_LDFS_A_LDHINT2_F1_R3: ldfs.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c2a0000000ull}, +/* EM_LDFD_A_LDHINT2_F1_R3: ldfd.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c2e0000000ull}, +/* EM_LDF8_A_LDHINT2_F1_R3: ldf8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c260000000ull}, +/* EM_LDFE_A_LDHINT2_F1_R3: ldfe.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c220000000ull}, +/* EM_LDFS_SA_LDHINT2_F1_R3: ldfs.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c3a0000000ull}, +/* EM_LDFD_SA_LDHINT2_F1_R3: ldfd.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c3e0000000ull}, +/* EM_LDF8_SA_LDHINT2_F1_R3: ldf8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c360000000ull}, +/* EM_LDFE_SA_LDHINT2_F1_R3: ldfe.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c320000000ull}, +/* EM_LDF_FILL_LDHINT2_F1_R3: ldf.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c6e0000000ull}, +/* EM_LDFS_C_CLR_LDHINT2_F1_R3: ldfs.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c8a0000000ull}, +/* EM_LDFD_C_CLR_LDHINT2_F1_R3: ldfd.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c8e0000000ull}, +/* EM_LDF8_C_CLR_LDHINT2_F1_R3: ldf8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c860000000ull}, +/* EM_LDFE_C_CLR_LDHINT2_F1_R3: ldfe.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c820000000ull}, +/* EM_LDFS_C_NC_LDHINT2_F1_R3: ldfs.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c9a0000000ull}, +/* EM_LDFD_C_NC_LDHINT2_F1_R3: ldfd.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c9e0000000ull}, +/* EM_LDF8_C_NC_LDHINT2_F1_R3: ldf8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c960000000ull}, +/* EM_LDFE_C_NC_LDHINT2_F1_R3: ldfe.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M6, 0x0c920000000ull}, +/* EM_LDFS_LDHINT2_F1_R3_R2: ldfs.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d0a0000000ull}, +/* EM_LDFD_LDHINT2_F1_R3_R2: ldfd.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d0e0000000ull}, +/* EM_LDF8_LDHINT2_F1_R3_R2: ldf8.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d060000000ull}, +/* EM_LDFE_LDHINT2_F1_R3_R2: ldfe.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d020000000ull}, +/* EM_LDFS_S_LDHINT2_F1_R3_R2: ldfs.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d1a0000000ull}, +/* EM_LDFD_S_LDHINT2_F1_R3_R2: ldfd.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d1e0000000ull}, +/* EM_LDF8_S_LDHINT2_F1_R3_R2: ldf8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d160000000ull}, +/* EM_LDFE_S_LDHINT2_F1_R3_R2: ldfe.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d120000000ull}, +/* EM_LDFS_A_LDHINT2_F1_R3_R2: ldfs.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d2a0000000ull}, +/* EM_LDFD_A_LDHINT2_F1_R3_R2: ldfd.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d2e0000000ull}, +/* EM_LDF8_A_LDHINT2_F1_R3_R2: ldf8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d260000000ull}, +/* EM_LDFE_A_LDHINT2_F1_R3_R2: ldfe.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d220000000ull}, +/* EM_LDFS_SA_LDHINT2_F1_R3_R2: ldfs.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d3a0000000ull}, +/* EM_LDFD_SA_LDHINT2_F1_R3_R2: ldfd.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d3e0000000ull}, +/* EM_LDF8_SA_LDHINT2_F1_R3_R2: ldf8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d360000000ull}, +/* EM_LDFE_SA_LDHINT2_F1_R3_R2: ldfe.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d320000000ull}, +/* EM_LDF_FILL_LDHINT2_F1_R3_R2: ldf.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d6e0000000ull}, +/* EM_LDFS_C_CLR_LDHINT2_F1_R3_R2: ldfs.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d8a0000000ull}, +/* EM_LDFD_C_CLR_LDHINT2_F1_R3_R2: ldfd.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d8e0000000ull}, +/* EM_LDF8_C_CLR_LDHINT2_F1_R3_R2: ldf8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d860000000ull}, +/* EM_LDFE_C_CLR_LDHINT2_F1_R3_R2: ldfe.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d820000000ull}, +/* EM_LDFS_C_NC_LDHINT2_F1_R3_R2: ldfs.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d9a0000000ull}, +/* EM_LDFD_C_NC_LDHINT2_F1_R3_R2: ldfd.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d9e0000000ull}, +/* EM_LDF8_C_NC_LDHINT2_F1_R3_R2: ldf8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d960000000ull}, +/* EM_LDFE_C_NC_LDHINT2_F1_R3_R2: ldfe.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M7, 0x0d920000000ull}, +/* EM_LDFS_LDHINT2_F1_R3_IMM9: ldfs.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e0a0000000ull}, +/* EM_LDFD_LDHINT2_F1_R3_IMM9: ldfd.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e0e0000000ull}, +/* EM_LDF8_LDHINT2_F1_R3_IMM9: ldf8.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e060000000ull}, +/* EM_LDFE_LDHINT2_F1_R3_IMM9: ldfe.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e020000000ull}, +/* EM_LDFS_S_LDHINT2_F1_R3_IMM9: ldfs.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e1a0000000ull}, +/* EM_LDFD_S_LDHINT2_F1_R3_IMM9: ldfd.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e1e0000000ull}, +/* EM_LDF8_S_LDHINT2_F1_R3_IMM9: ldf8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e160000000ull}, +/* EM_LDFE_S_LDHINT2_F1_R3_IMM9: ldfe.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e120000000ull}, +/* EM_LDFS_A_LDHINT2_F1_R3_IMM9: ldfs.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e2a0000000ull}, +/* EM_LDFD_A_LDHINT2_F1_R3_IMM9: ldfd.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e2e0000000ull}, +/* EM_LDF8_A_LDHINT2_F1_R3_IMM9: ldf8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e260000000ull}, +/* EM_LDFE_A_LDHINT2_F1_R3_IMM9: ldfe.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e220000000ull}, +/* EM_LDFS_SA_LDHINT2_F1_R3_IMM9: ldfs.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e3a0000000ull}, +/* EM_LDFD_SA_LDHINT2_F1_R3_IMM9: ldfd.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e3e0000000ull}, +/* EM_LDF8_SA_LDHINT2_F1_R3_IMM9: ldf8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e360000000ull}, +/* EM_LDFE_SA_LDHINT2_F1_R3_IMM9: ldfe.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e320000000ull}, +/* EM_LDF_FILL_LDHINT2_F1_R3_IMM9: ldf.fill.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e6e0000000ull}, +/* EM_LDFS_C_CLR_LDHINT2_F1_R3_IMM9: ldfs.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e8a0000000ull}, +/* EM_LDFD_C_CLR_LDHINT2_F1_R3_IMM9: ldfd.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e8e0000000ull}, +/* EM_LDF8_C_CLR_LDHINT2_F1_R3_IMM9: ldf8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e860000000ull}, +/* EM_LDFE_C_CLR_LDHINT2_F1_R3_IMM9: ldfe.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e820000000ull}, +/* EM_LDFS_C_NC_LDHINT2_F1_R3_IMM9: ldfs.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e9a0000000ull}, +/* EM_LDFD_C_NC_LDHINT2_F1_R3_IMM9: ldfd.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e9e0000000ull}, +/* EM_LDF8_C_NC_LDHINT2_F1_R3_IMM9: ldf8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e960000000ull}, +/* EM_LDFE_C_NC_LDHINT2_F1_R3_IMM9: ldfe.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2005, ArchRev0, EM_FORMAT_M8, 0x0e920000000ull}, +/* EM_STFS_STHINT1_R3_F2: stfs.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cc90000000ull}, +/* EM_STFS_STHINT2_R3_F2: stfs.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cca0000000ull}, +/* EM_STFD_STHINT1_R3_F2: stfd.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0ccd0000000ull}, +/* EM_STFD_STHINT2_R3_F2: stfd.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cce0000000ull}, +/* EM_STF8_STHINT1_R3_F2: stf8.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cc50000000ull}, +/* EM_STF8_STHINT2_R3_F2: stf8.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cc60000000ull}, +/* EM_STFE_STHINT1_R3_F2: stfe.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cc10000000ull}, +/* EM_STFE_STHINT2_R3_F2: stfe.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cc20000000ull}, +/* EM_STF_SPILL_STHINT1_R3_F2: stf.spill.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0ced0000000ull}, +/* EM_STF_SPILL_STHINT2_R3_F2: stf.spill.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M9, 0x0cee0000000ull}, +/* EM_STFS_STHINT1_R3_F2_IMM9: stfs.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ec90000000ull}, +/* EM_STFS_STHINT2_R3_F2_IMM9: stfs.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0eca0000000ull}, +/* EM_STFD_STHINT1_R3_F2_IMM9: stfd.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ecd0000000ull}, +/* EM_STFD_STHINT2_R3_F2_IMM9: stfd.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ece0000000ull}, +/* EM_STF8_STHINT1_R3_F2_IMM9: stf8.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ec50000000ull}, +/* EM_STF8_STHINT2_R3_F2_IMM9: stf8.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ec60000000ull}, +/* EM_STFE_STHINT1_R3_F2_IMM9: stfe.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ec10000000ull}, +/* EM_STFE_STHINT2_R3_F2_IMM9: stfe.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0ec20000000ull}, +/* EM_STF_SPILL_STHINT1_R3_F2_IMM9: stf.spill.sthint1 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0eed0000000ull}, +/* EM_STF_SPILL_STHINT2_R3_F2_IMM9: stf.spill.sthint2 */ + {M_Unit, {EM_OPTYPE_MEM, EM_OPTYPE_FREG, EM_OPTYPE_SIMM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x2009, ArchRev0, EM_FORMAT_M10, 0x0eee0000000ull}, +/* EM_LDFPS_LDHINT2_F1_F2_R3: ldfps.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c0a8000000ull}, +/* EM_LDFPD_LDHINT2_F1_F2_R3: ldfpd.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c0e8000000ull}, +/* EM_LDFP8_LDHINT2_F1_F2_R3: ldfp8.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c068000000ull}, +/* EM_LDFPS_S_LDHINT2_F1_F2_R3: ldfps.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c1a8000000ull}, +/* EM_LDFPD_S_LDHINT2_F1_F2_R3: ldfpd.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c1e8000000ull}, +/* EM_LDFP8_S_LDHINT2_F1_F2_R3: ldfp8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c168000000ull}, +/* EM_LDFPS_A_LDHINT2_F1_F2_R3: ldfps.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c2a8000000ull}, +/* EM_LDFPD_A_LDHINT2_F1_F2_R3: ldfpd.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c2e8000000ull}, +/* EM_LDFP8_A_LDHINT2_F1_F2_R3: ldfp8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c268000000ull}, +/* EM_LDFPS_SA_LDHINT2_F1_F2_R3: ldfps.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c3a8000000ull}, +/* EM_LDFPD_SA_LDHINT2_F1_F2_R3: ldfpd.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c3e8000000ull}, +/* EM_LDFP8_SA_LDHINT2_F1_F2_R3: ldfp8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c368000000ull}, +/* EM_LDFPS_C_CLR_LDHINT2_F1_F2_R3: ldfps.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c8a8000000ull}, +/* EM_LDFPD_C_CLR_LDHINT2_F1_F2_R3: ldfpd.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c8e8000000ull}, +/* EM_LDFP8_C_CLR_LDHINT2_F1_F2_R3: ldfp8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c868000000ull}, +/* EM_LDFPS_C_NC_LDHINT2_F1_F2_R3: ldfps.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c9a8000000ull}, +/* EM_LDFPD_C_NC_LDHINT2_F1_F2_R3: ldfpd.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c9e8000000ull}, +/* EM_LDFP8_C_NC_LDHINT2_F1_F2_R3: ldfp8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M11, 0x0c968000000ull}, +/* EM_LDFPS_LDHINT2_F1_F2_R3_8: ldfps.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d0a8000000ull}, +/* EM_LDFPD_LDHINT2_F1_F2_R3_16: ldfpd.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d0e8000000ull}, +/* EM_LDFP8_LDHINT2_F1_F2_R3_16: ldfp8.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d068000000ull}, +/* EM_LDFPS_S_LDHINT2_F1_F2_R3_8: ldfps.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d1a8000000ull}, +/* EM_LDFPD_S_LDHINT2_F1_F2_R3_16: ldfpd.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d1e8000000ull}, +/* EM_LDFP8_S_LDHINT2_F1_F2_R3_16: ldfp8.s.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d168000000ull}, +/* EM_LDFPS_A_LDHINT2_F1_F2_R3_8: ldfps.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d2a8000000ull}, +/* EM_LDFPD_A_LDHINT2_F1_F2_R3_16: ldfpd.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d2e8000000ull}, +/* EM_LDFP8_A_LDHINT2_F1_F2_R3_16: ldfp8.a.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d268000000ull}, +/* EM_LDFPS_SA_LDHINT2_F1_F2_R3_8: ldfps.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d3a8000000ull}, +/* EM_LDFPD_SA_LDHINT2_F1_F2_R3_16: ldfpd.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d3e8000000ull}, +/* EM_LDFP8_SA_LDHINT2_F1_F2_R3_16: ldfp8.sa.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d368000000ull}, +/* EM_LDFPS_C_CLR_LDHINT2_F1_F2_R3_8: ldfps.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d8a8000000ull}, +/* EM_LDFPD_C_CLR_LDHINT2_F1_F2_R3_16: ldfpd.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d8e8000000ull}, +/* EM_LDFP8_C_CLR_LDHINT2_F1_F2_R3_16: ldfp8.c.clr.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d868000000ull}, +/* EM_LDFPS_C_NC_LDHINT2_F1_F2_R3_8: ldfps.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_EIGHT, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d9a8000000ull}, +/* EM_LDFPD_C_NC_LDHINT2_F1_F2_R3_16: ldfpd.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d9e8000000ull}, +/* EM_LDFP8_C_NC_LDHINT2_F1_F2_R3_16: ldfp8.c.nc.ldhint2 */ + {M_Unit, {EM_OPTYPE_FREG_F2_127, EM_OPTYPE_FREG_F2_127, EM_OPTYPE_MEM, EM_OPTYPE_SIXTEEN, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 2, 0x2805, ArchRev0, EM_FORMAT_M12, 0x0d968000000ull}, +/* EM_CMPXCHG1_ACQ_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg1.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08028000000ull}, +/* EM_CMPXCHG2_ACQ_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg2.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08068000000ull}, +/* EM_CMPXCHG4_ACQ_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg4.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x080a8000000ull}, +/* EM_CMPXCHG8_ACQ_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg8.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x080e8000000ull}, +/* EM_CMPXCHG1_REL_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg1.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08128000000ull}, +/* EM_CMPXCHG2_REL_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg2.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08168000000ull}, +/* EM_CMPXCHG4_REL_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg4.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x081a8000000ull}, +/* EM_CMPXCHG8_REL_LDHINT2_R1_R3_R2_AR_CCV: cmpxchg8.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x081e8000000ull}, +/* EM_CMP8XCHG16_ACQ_LDHINT2_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0x200d, Impl_AtomicOps, EM_FORMAT_M16, 0x08828000000ull}, +/* EM_CMP8XCHG16_REL_LDHINT2_R1_R3_R2_AR_CSD_AR_CCV: cmp8xchg16.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_APP_CSD, EM_OPTYPE_APP_CCV, EM_OPTYPE_NONE}, + 1, 0x200d, Impl_AtomicOps, EM_FORMAT_M16, 0x08928000000ull}, +/* EM_XCHG1_LDHINT2_R1_R3_R2: xchg1.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08228000000ull}, +/* EM_XCHG2_LDHINT2_R1_R3_R2: xchg2.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x08268000000ull}, +/* EM_XCHG4_LDHINT2_R1_R3_R2: xchg4.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x082a8000000ull}, +/* EM_XCHG8_LDHINT2_R1_R3_R2: xchg8.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_IREG, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M16, 0x082e8000000ull}, +/* EM_FETCHADD4_ACQ_LDHINT2_R1_R3_INC3: fetchadd4.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M17, 0x084a8000000ull}, +/* EM_FETCHADD8_ACQ_LDHINT2_R1_R3_INC3: fetchadd8.acq.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M17, 0x084e8000000ull}, +/* EM_FETCHADD4_REL_LDHINT2_R1_R3_INC3: fetchadd4.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M17, 0x085a8000000ull}, +/* EM_FETCHADD8_REL_LDHINT2_R1_R3_INC3: fetchadd8.rel.ldhint2 */ + {M_Unit, {EM_OPTYPE_IREG_R1_127, EM_OPTYPE_MEM, EM_OPTYPE_SEMAPHORE_INC, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x200d, ArchRev0, EM_FORMAT_M17, 0x085e8000000ull}, +/* EM_BR_CALL_BWH0_FEW_B1_B2: br.call.bwh0.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02000000000ull}, +/* EM_BR_CALL_BWH0_MANY_B1_B2: br.call.bwh0.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02000001000ull}, +/* EM_BR_CALL_BWH2_FEW_B1_B2: br.call.bwh2.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02200000000ull}, +/* EM_BR_CALL_BWH2_MANY_B1_B2: br.call.bwh2.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02200001000ull}, +/* EM_BR_CALL_BWH4_FEW_B1_B2: br.call.bwh4.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02400000000ull}, +/* EM_BR_CALL_BWH4_MANY_B1_B2: br.call.bwh4.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02400001000ull}, +/* EM_BR_CALL_BWH6_FEW_B1_B2: br.call.bwh6.few */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02600000000ull}, +/* EM_BR_CALL_BWH6_MANY_B1_B2: br.call.bwh6.many */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02600001000ull}, +/* EM_BR_CALL_BWH0_FEW_CLR_B1_B2: br.call.bwh0.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02800000000ull}, +/* EM_BR_CALL_BWH0_MANY_CLR_B1_B2: br.call.bwh0.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02800001000ull}, +/* EM_BR_CALL_BWH2_FEW_CLR_B1_B2: br.call.bwh2.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02a00000000ull}, +/* EM_BR_CALL_BWH2_MANY_CLR_B1_B2: br.call.bwh2.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02a00001000ull}, +/* EM_BR_CALL_BWH4_FEW_CLR_B1_B2: br.call.bwh4.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02c00000000ull}, +/* EM_BR_CALL_BWH4_MANY_CLR_B1_B2: br.call.bwh4.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02c00001000ull}, +/* EM_BR_CALL_BWH6_FEW_CLR_B1_B2: br.call.bwh6.few.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02e00000000ull}, +/* EM_BR_CALL_BWH6_MANY_CLR_B1_B2: br.call.bwh6.many.clr */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_BR, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 1, 0x12001, ArchRev0, EM_FORMAT_B5, 0x02e00001000ull}, +/* EM_BRP_INDWH1_B2_TAG13: brp.indwh1 */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04080000008ull}, +/* EM_BRP_INDWH1_IMP_B2_TAG13: brp.indwh1.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04880000008ull}, +/* EM_BRP_INDWH3_B2_TAG13: brp.indwh3 */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04080000018ull}, +/* EM_BRP_INDWH3_IMP_B2_TAG13: brp.indwh3.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04880000018ull}, +/* EM_BRP_RET_INDWH1_B2_TAG13: brp.ret.indwh1 */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04088000008ull}, +/* EM_BRP_RET_INDWH1_IMP_B2_TAG13: brp.ret.indwh1.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04888000008ull}, +/* EM_BRP_RET_INDWH3_B2_TAG13: brp.ret.indwh3 */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04088000018ull}, +/* EM_BRP_RET_INDWH3_IMP_B2_TAG13: brp.ret.indwh3.imp */ + {B_Unit, {EM_OPTYPE_BR, EM_OPTYPE_SSHIFT_REL, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE, EM_OPTYPE_NONE}, + 0, 0x2000, ArchRev0, EM_FORMAT_B7, 0x04888000018ull} +}; + + + +EMDB_encode EncodingTable[] = { +/* field formats: +** If the operand is in contiguous bits, it is specified as +** starting bit position, and its length. +** Operands which span noncontiguous bits, the format is specified +** as a string. For example, 13.6+36.1 means first six bits of +** the operand are in bits 13-18 of the instruction. The seventh +** bit is in the 36th bit. +** The format string for multiple multi-field operands is as above +** with the sections separated by ";". +** We use the macro MF (standing for multiple fields) to indicate +** that the operand spans over multiple fields. +******************************************************************* +op_format[MAX_OPERANDS] genFormatStr formatptr +*******************************************************************/ + { /* Format name : EM_FORMAT_NONE */ + {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A1 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A2 */ + {{6,7},{13,7},{27,2},{20,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A3 */ + {{6,7},{MF,8},{20,7},{0,0},{0,0},{0,0}}, "13.7+36.1", formatptr[0]}, + { /* Format name : EM_FORMAT_A4 */ + {{6,7},{MF,14},{20,7},{0,0},{0,0},{0,0}}, "13.7+27.6+36.1", formatptr[1]}, + { /* Format name : EM_FORMAT_A5 */ + {{6,7},{MF,22},{20,2},{0,0},{0,0},{0,0}}, "13.7+27.9+22.5+36.1", formatptr[2]}, + { /* Format name : EM_FORMAT_A6 */ + {{6,6},{27,6},{13,7},{20,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A7 */ + {{6,6},{27,6},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A8 */ + {{6,6},{27,6},{MF,8},{20,7},{0,0},{0,0}}, "13.7+36.1", formatptr[0]}, + { /* Format name : EM_FORMAT_A9 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_A10 */ + {{6,7},{13,7},{27,2},{20,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I1 */ + {{6,7},{13,7},{20,7},{30,2},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I2 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I3 */ + {{6,7},{13,7},{20,4},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I4 */ + {{6,7},{13,7},{20,8},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I5 */ + {{6,7},{20,7},{13,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I6 */ + {{6,7},{20,7},{14,5},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I7 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I8 */ + {{6,7},{13,7},{20,5},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I9 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I10 */ + {{6,7},{13,7},{20,7},{27,6},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I11 */ + {{6,7},{20,7},{14,6},{27,6},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I12 */ + {{6,7},{13,7},{20,6},{27,6},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I13 */ + {{6,7},{MF,8},{20,6},{27,6},{0,0},{0,0}}, "13.7+36.1", formatptr[0]}, + { /* Format name : EM_FORMAT_I14 */ + {{6,7},{36,1},{20,7},{14,6},{27,6},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I15 */ + {{6,7},{13,7},{20,7},{31,6},{27,4},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I16 */ + {{6,6},{27,6},{20,7},{14,6},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I17 */ + {{6,6},{27,6},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I18 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_I19 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_I20 */ + {{13,7},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "6.7+20.13+36.1", formatptr[4]}, + { /* Format name : EM_FORMAT_I21 */ + {{6,3},{13,7},{24,9},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I22 */ + {{6,7},{13,3},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I23 */ + {{13,7},{MF,16},{0,0},{0,0},{0,0},{0,0}}, "6.7+24.8+36.1", formatptr[5]}, + { /* Format name : EM_FORMAT_I24 */ + {{MF,28},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.27+36.1", formatptr[6]}, + { /* Format name : EM_FORMAT_I25 */ + {{6,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I26 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I27 */ + {{20,7},{MF,8},{0,0},{0,0},{0,0},{0,0}}, "13.7+36.1", formatptr[0]}, + { /* Format name : EM_FORMAT_I28 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_I29 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M1 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M2 */ + {{6,7},{20,7},{13,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M3 */ + {{6,7},{20,7},{MF,9},{0,0},{0,0},{0,0}}, "13.7+27.1+36.1", formatptr[7]}, + { /* Format name : EM_FORMAT_M4 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M5 */ + {{20,7},{13,7},{MF,9},{0,0},{0,0},{0,0}}, "6.7+27.1+36.1", formatptr[8]}, + { /* Format name : EM_FORMAT_M6 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M7 */ + {{6,7},{20,7},{13,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M8 */ + {{6,7},{20,7},{MF,9},{0,0},{0,0},{0,0}}, "13.7+27.1+36.1", formatptr[7]}, + { /* Format name : EM_FORMAT_M9 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M10 */ + {{20,7},{13,7},{MF,9},{0,0},{0,0},{0,0}}, "6.7+27.1+36.1", formatptr[8]}, + { /* Format name : EM_FORMAT_M11 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M12 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M13 */ + {{20,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M14 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M15 */ + {{20,7},{MF,9},{0,0},{0,0},{0,0},{0,0}}, "13.7+27.1+36.1", formatptr[7]}, + { /* Format name : EM_FORMAT_M16 */ + {{6,7},{20,7},{13,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M17 */ + {{6,7},{20,7},{MF,3},{0,0},{0,0},{0,0}}, "13.2+15.1", formatptr[9]}, + { /* Format name : EM_FORMAT_M18 */ + {{6,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M19 */ + {{6,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M20 */ + {{13,7},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "6.7+20.13+36.1", formatptr[4]}, + { /* Format name : EM_FORMAT_M21 */ + {{13,7},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "6.7+20.13+36.1", formatptr[4]}, + { /* Format name : EM_FORMAT_M22 */ + {{6,7},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1", formatptr[10]}, + { /* Format name : EM_FORMAT_M23 */ + {{6,7},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1", formatptr[10]}, + { /* Format name : EM_FORMAT_M24 */ + {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M25 */ + {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M26 */ + {{6,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M27 */ + {{6,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M28 */ + {{20,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M29 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M30 */ + {{20,7},{MF,8},{0,0},{0,0},{0,0},{0,0}}, "13.7+36.1", formatptr[0]}, + { /* Format name : EM_FORMAT_M31 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M32 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M33 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M34 */ + {{6,7},{20,7},{13,7},{27,4},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M35 */ + {{13,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M36 */ + {{6,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M37 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_M38 */ + {{6,7},{20,7},{13,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M39 */ + {{6,7},{20,7},{13,2},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M40 */ + {{20,7},{13,2},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M41 */ + {{13,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M42 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M43 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M44 */ + {{MF,24},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.21+31.2+36.1", formatptr[11]}, + { /* Format name : EM_FORMAT_M45 */ + {{20,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M46 */ + {{6,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M47 */ + {{20,7},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_M48 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_B1 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1", formatptr[10]}, + { /* Format name : EM_FORMAT_B2 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1", formatptr[10]}, + { /* Format name : EM_FORMAT_B3 */ + {{6,3},{MF,21},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1", formatptr[10]}, + { /* Format name : EM_FORMAT_B4 */ + {{13,3},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_B5 */ + {{6,3},{13,3},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_B6 */ + {{MF,21},{MF,9},{0,0},{0,0},{0,0},{0,0}}, "13.20+36.1;6.7+33.2", formatptr[12]}, + { /* Format name : EM_FORMAT_B7 */ + {{13,3},{MF,9},{0,0},{0,0},{0,0},{0,0}}, "6.7+33.2", formatptr[13]}, + { /* Format name : EM_FORMAT_B8 */ + {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_B9 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_F1 */ + {{6,7},{20,7},{27,7},{13,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F2 */ + {{6,7},{20,7},{27,7},{13,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F3 */ + {{6,7},{20,7},{27,7},{13,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F4 */ + {{6,6},{27,6},{13,7},{20,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F5 */ + {{6,6},{27,6},{13,7},{MF,9},{0,0},{0,0}}, "33.2+20.7", formatptr[14]}, + { /* Format name : EM_FORMAT_F6 */ + {{6,7},{27,6},{13,7},{20,7},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F7 */ + {{6,7},{27,6},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F8 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F9 */ + {{6,7},{13,7},{20,7},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F10 */ + {{6,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F11 */ + {{6,7},{13,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F12 */ + {{13,7},{20,7},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F13 */ + {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0}, + { /* Format name : EM_FORMAT_F14 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_F15 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_F16 */ + {{MF,21},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1", formatptr[3]}, + { /* Format name : EM_FORMAT_X1 */ + {{MF,62},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1+0.41", formatptr[15]}, + { /* Format name : EM_FORMAT_X2 */ + {{6,7},{MF,64},{0,0},{0,0},{0,0},{0,0}}, "13.7+27.9+22.5+21.1+0.41+36.1", formatptr[16]}, + { /* Format name : EM_FORMAT_X3 */ + {{MF,60},{0,0},{0,0},{0,0},{0,0},{0,0}}, "13.20+2.39+36.1", formatptr[17]}, + { /* Format name : EM_FORMAT_X4 */ + {{6,3},{MF,60},{0,0},{0,0},{0,0},{0,0}}, "13.20+2.39+36.1", formatptr[17]}, + { /* Format name : EM_FORMAT_X5 */ + {{MF,62},{0,0},{0,0},{0,0},{0,0},{0,0}}, "6.20+36.1+0.41", formatptr[15]}, + { /* Format name : EM_FORMAT_X41 */ + {{0,41},{0,0},{0,0},{0,0},{0,0},{0,0}}, 0, 0} +}; + + + +/**************************formatptr array******************/ +/* formatptr[][] holds the layout format as an array of */ +/* characters. A format 13.7+20.1 is represented as */ +/* {7,13,1,20,0}. In this representation, length field */ +/* precedes the start bit field. A 0 value for the length */ +/* is the termination of the layout format. */ +/***********************************************************/ + + +char formatptr[][FORMAT_SIZE] = { +{ 7,13,1,36,0 }, /* 13.7+36.1 */ +{ 7,13,6,27,1,36,0 }, /* 13.7+27.6+36.1 */ +{ 7,13,9,27,5,22,1,36,0 }, /* 13.7+27.9+22.5+36.1 */ +{ 20,6,1,36,0 }, /* 6.20+36.1 */ +{ 7,6,13,20,1,36,0 }, /* 6.7+20.13+36.1 */ +{ 7,6,8,24,1,36,0 }, /* 6.7+24.8+36.1 */ +{ 27,6,1,36,0 }, /* 6.27+36.1 */ +{ 7,13,1,27,1,36,0 }, /* 13.7+27.1+36.1 */ +{ 7,6,1,27,1,36,0 }, /* 6.7+27.1+36.1 */ +{ 2,13,1,15,0 }, /* 13.2+15.1 */ +{ 20,13,1,36,0 }, /* 13.20+36.1 */ +{ 21,6,2,31,1,36,0 }, /* 6.21+31.2+36.1 */ +{ 20,13,1,36,0 }, /* 13.20+36.1 */ +{ 7,6,2,33,0 }, /* 6.7+33.2 */ +{ 2,33,7,20,0 }, /* 33.2+20.7 */ +{ 20,6,1,36,41,0,0 }, /* 6.20+36.1+0.41 */ +{ 7,13,9,27,5,22,1,21,41,0,1,36,0 }, /* 13.7+27.9+22.5+21.1+0.41+36.1 */ +{ 20,13,39,2,1,36,0 } /* 13.20+2.39+36.1 */ +}; diff --git a/src/encodings/encoding.format b/src/encodings/encoding.format new file mode 100644 index 0000000..cd6dc25 --- /dev/null +++ b/src/encodings/encoding.format @@ -0,0 +1,1174 @@ +# Instruction Formats +# Generated from Itanium SDM Rev. 2.1 (15 Jan 03) +# Generated 15 Jan 2003, 12:13:50 PM +# Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +A1 + 8{40:37} (A Inst) + {36} (Ignored) + x2a{35:34} (Op Extension) + ve{33} (Op Extension) + x4{32:29} (Op Extension) + x2b{28:27} (Op Extension) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A2 + 8{40:37} (A Inst) + {36} (Ignored) + x2a{35:34} (Op Extension) + ve{33} (Op Extension) + x4{32:29} (Op Extension) + ct2d{28:27} (Shift Imm) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A3 + 8{40:37} (A Inst) + s{36} (Immediate) + x2a{35:34} (Op Extension) + ve{33} (Op Extension) + x4{32:29} (Op Extension) + x2b{28:27} (Op Extension) + r3{26:20} (Int Source) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A4 + 8{40:37} (A Inst) + s{36} (Immediate) + x2a{35:34} (Op Extension) + ve{33} (Op Extension) + imm6d{32:27} (Immediate) + r3{26:20} (Int Source) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A5 + 9{40:37} (A Inst) + s{36} (Immediate) + imm9d{35:27} (Immediate) + imm5c{26:22} (Immediate) + r3{21:20} (Int Source) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A6 + C - E{40:37} (A Inst) + tb{36} (Op Extension) + x2{35:34} (Op Extension) + ta{33} (Op Extension) + p2{32:27} (Pred Dest) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + c{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +A7 + C - E{40:37} (A Inst) + tb{36} (Op Extension) + x2{35:34} (Op Extension) + ta{33} (Op Extension) + p2{32:27} (Pred Dest) + r3{26:20} (Int Source) + 0{19:13} (Int Source) + c{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +A8 + C - E{40:37} (A Inst) + s{36} (Immediate) + x2{35:34} (Op Extension) + ta{33} (Op Extension) + p2{32:27} (Pred Dest) + r3{26:20} (Int Source) + imm7b{19:13} (Immediate) + c{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +A9 + 8{40:37} (A Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + x4{32:29} (Op Extension) + x2b{28:27} (Op Extension) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +A10 + 8{40:37} (A Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + x4{32:29} (Op Extension) + ct2d{28:27} (Shift Imm) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I1 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + ct2d{31:30} (Shift Imm) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I2 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Int Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I3 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27:24} (Ignored) + mbt4c{23:20} (Shift Imm) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I4 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + mht8c{27:20} (Shift Imm) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I5 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Shift Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I6 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Shift Source) + {19} (Ignored) + count5b{18:14} (Shift Imm) + {13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I7 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Int Source) + r2{19:13} (Shift Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I8 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27:25} (Ignored) + ccount5c{24:20} (Shift Imm) + r2{19:13} (Shift Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I9 + 7{40:37} (I Inst) + za{36} (Op Extension) + x2a{35:34} (Op Extension) + zb{33} (Op Extension) + ve{32} (Op Extension) + x2c{31:30} (Op Extension) + x2b{29:28} (Op Extension) + {27} (Ignored) + r3{26:20} (Int Source) + 0{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I10 + 5{40:37} (I Inst) + {36} (Ignored) + x2{35:34} (Op Extension) + x{33} (Op Extension) + count6d{32:27} (Shift Imm) + r3{26:20} (Shift Source) + r2{19:13} (Shift Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I11 + 5{40:37} (I Inst) + {36} (Ignored) + x2{35:34} (Op Extension) + x{33} (Op Extension) + len6d{32:27} (Shift Imm) + r3{26:20} (Shift Source) + pos6b{19:14} (Shift Imm) + y{13} (Op Extension) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I12 + 5{40:37} (I Inst) + {36} (Ignored) + x2{35:34} (Op Extension) + x{33} (Op Extension) + len6d{32:27} (Shift Imm) + y{26} (Op Extension) + cpos6c{25:20} (Shift Imm) + r2{19:13} (Shift Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I13 + 5{40:37} (I Inst) + s{36} (Immediate) + x2{35:34} (Op Extension) + x{33} (Op Extension) + len6d{32:27} (Shift Imm) + y{26} (Op Extension) + cpos6c{25:20} (Shift Imm) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I14 + 5{40:37} (I Inst) + s{36} (Immediate) + x2{35:34} (Op Extension) + x{33} (Op Extension) + len6d{32:27} (Shift Imm) + r3{26:20} (Int Source) + cpos6b{19:14} (Shift Imm) + {13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I15 + 4{40:37} (I Inst) + cpos6d{36:31} (Shift Imm) + len4d{30:27} (Shift Imm) + r3{26:20} (Int Source) + r2{19:13} (Shift Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I16 + 5{40:37} (I Inst) + tb{36} (Op Extension) + x2{35:34} (Op Extension) + ta{33} (Op Extension) + p2{32:27} (Pred Dest) + r3{26:20} (Int Source) + pos6b{19:14} (Shift Imm) + y{13} (Op Extension) + c{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +I17 + 5{40:37} (I Inst) + tb{36} (Op Extension) + x2{35:34} (Op Extension) + ta{33} (Op Extension) + p2{32:27} (Pred Dest) + r3{26:20} (Int Source) + {19:14} (Ignored) + y{13} (Op Extension) + c{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +I18 + 0{40:37} (I Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + y{26} (Op Extension) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +I19 + 0{40:37} (I Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +I20 + 0{40:37} (I Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm13c{32:20} (Immediate) + r2{19:13} (Int Source) + imm7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +I21 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + timm9c{32:24} (Branch Tag) + ih{23} (Op Hint) + x{22} (Op Extension) + wh{21:20} (Op Hint) + r2{19:13} (Int Source) + {12:9} (Ignored) + b1{8:6} (Branch Dest) + qp{5:0} (Qual Pred) +I22 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26:16} (Ignored) + b2{15:13} (Branch Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I23 + 0{40:37} (I Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + {32} (Ignored) + mask8c{31:24} (Immediate) + {23:20} (Ignored) + r2{19:13} (Int Source) + mask7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +I24 + 0{40:37} (I Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm27a{32:6} (Immediate) + qp{5:0} (Qual Pred) +I25 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I26 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + ar3{26:20} (Special Dest) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +I27 + 0{40:37} (I Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + ar3{26:20} (Special Dest) + imm7b{19:13} (Immediate) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +I28 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + ar3{26:20} (Special Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +I29 + 0{40:37} (I Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Int Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M1 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M2 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source & Dest) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M3 + 5{40:37} (M Inst) + s{36} (Immediate) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + i{27} (Immediate) + r3{26:20} (Mem Source & Dest) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M4 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M5 + 5{40:37} (M Inst) + s{36} (Immediate) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + i{27} (Immediate) + r3{26:20} (Mem Source & Dest) + r2{19:13} (Int Source) + imm7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +M6 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + {19:13} (Ignored) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M7 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source & Dest) + r2{19:13} (Int Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M8 + 7{40:37} (M Inst) + s{36} (Immediate) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + i{27} (Immediate) + r3{26:20} (Mem Source & Dest) + imm7b{19:13} (Immediate) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M9 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + f2{19:13} (FP Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M10 + 7{40:37} (M Inst) + s{36} (Immediate) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + i{27} (Immediate) + r3{26:20} (Mem Source & Dest) + f2{19:13} (FP Source) + imm7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +M11 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + f2{19:13} (FP Dest) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M12 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source & Dest) + f2{19:13} (FP Dest) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M13 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + {19:6} (Ignored) + qp{5:0} (Qual Pred) +M14 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source & Dest) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M15 + 7{40:37} (M Inst) + s{36} (Immediate) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + i{27} (Immediate) + r3{26:20} (Mem Source & Dest) + imm7b{19:13} (Immediate) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M16 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M17 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + hint{29:28} (Op Hint) + x{27} (Op Extension) + r3{26:20} (Mem Source) + {19:16} (Ignored) + s{15} (Immediate) + i2b{14:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M18 + 6{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + {29:28} (Ignored) + x{27} (Op Extension) + {26:20} (Ignored) + r2{19:13} (Int Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +M19 + 4{40:37} (M Inst) + m{36} (Op Extension) + x6{35:30} (Op Extension) + {29:28} (Ignored) + x{27} (Op Extension) + {26:20} (Ignored) + f2{19:13} (FP Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M20 + 1{40:37} (M Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm13c{32:20} (Immediate) + r2{19:13} (Int Source) + imm7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +M21 + 1{40:37} (M Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm13c{32:20} (Immediate) + f2{19:13} (FP Source) + imm7a{12:6} (Immediate) + qp{5:0} (Qual Pred) +M22 + 0{40:37} (M Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm20b{32:13} (Immediate) + r1{12:6} (Special Source) + qp{5:0} (Qual Pred) +M23 + 0{40:37} (M Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + imm20b{32:13} (Immediate) + f1{12:6} (Special Source) + qp{5:0} (Qual Pred) +M24 + 0{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + {26:6} (Ignored) + qp{5:0} (Qual Pred) +M25 + 0{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + {26:6} (Ignored) + 0{5:0} (Qual Pred) +M26 + 0{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + {26:13} (Ignored) + r1{12:6} (Special Source) + qp{5:0} (Qual Pred) +M27 + 0{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + {26:13} (Ignored) + f1{12:6} (Special Source) + qp{5:0} (Qual Pred) +M28 + 1{40:37} (M Inst) + x{36} (Op Extension) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + {19:6} (Ignored) + qp{5:0} (Qual Pred) +M29 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + ar3{26:20} (Special Dest) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M30 + 0{40:37} (M Inst) + s{36} (Immediate) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + ar3{26:20} (Special Dest) + imm7b{19:13} (Immediate) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M31 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + ar3{26:20} (Special Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M32 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + cr3{26:20} (Special Dest) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M33 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + cr3{26:20} (Special Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M34 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + {32:31} (Ignored) + sor{30:27} (Immediate) + sol{26:20} (Immediate) + sof{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M35 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26:20} (Ignored) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M36 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M37 + 0{40:37} (M Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +M38 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + r2{19:13} (Int Source) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M39 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + {19:15} (Ignored) + i2b{14:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M40 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + {19:15} (Ignored) + i2b{14:13} (Immediate) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M41 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26:20} (Ignored) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M42 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Indirect Source) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M43 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Indirect Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M44 + 0{40:37} (M Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + i2d{32:31} (Immediate) + x4{30:27} (Op Extension) + imm21a{26:6} (Immediate) + qp{5:0} (Qual Pred) +M45 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + r2{19:13} (Int Source) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +M46 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + {19:13} (Ignored) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) +M47 + 1{40:37} (M Inst) + {36} (Ignored) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + r3{26:20} (Address Source) + {19:6} (Ignored) + qp{5:0} (Qual Pred) +M48 + 0{40:37} (M Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x2{32:31} (Op Extension) + x4{30:27} (Op Extension) + y{26} (Op Extension) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +B1 + 4{40:37} (B Inst) + s{36} (Immediate) + d{35} (Op Hint) + wh{34:33} (Op Hint) + imm20b{32:13} (Immediate) + p{12} (Op Hint) + {11:9} (Ignored) + btype{8:6} (Op Extension) + qp{5:0} (Qual Pred) +B2 + 4{40:37} (B Inst) + s{36} (Immediate) + d{35} (Op Hint) + wh{34:33} (Op Hint) + imm20b{32:13} (Immediate) + p{12} (Op Hint) + {11:9} (Ignored) + btype{8:6} (Op Extension) + 0{5:0} (Qual Pred) +B3 + 5{40:37} (B Inst) + s{36} (Immediate) + d{35} (Op Hint) + wh{34:33} (Op Hint) + imm20b{32:13} (Immediate) + p{12} (Op Hint) + {11:9} (Ignored) + b1{8:6} (Branch Dest) + qp{5:0} (Qual Pred) +B4 + 0{40:37} (B Inst) + {36} (Ignored) + d{35} (Op Hint) + wh{34:33} (Op Hint) + x6{32:27} (Op Extension) + {26:16} (Ignored) + b2{15:13} (Branch Source) + p{12} (Op Hint) + {11:9} (Ignored) + btype{8:6} (Op Extension) + qp{5:0} (Qual Pred) +B5 + 1{40:37} (B Inst) + {36} (Ignored) + d{35} (Op Hint) + wh{34:32} (Op Hint) + {31:16} (Ignored) + b2{15:13} (Branch Source) + p{12} (Op Hint) + {11:9} (Ignored) + b1{8:6} (Branch Dest) + qp{5:0} (Qual Pred) +B6 + 7{40:37} (B Inst) + s{36} (Immediate) + ih{35} (Op Hint) + t2e{34:33} (Branch Tag) + imm20b{32:13} (Immediate) + timm7a{12:6} (Branch Tag) + {5} (Ignored) + wh{4:3} (Op Hint) + {2:0} (Ignored) +B7 + 2{40:37} (B Inst) + {36} (Ignored) + ih{35} (Op Hint) + t2e{34:33} (Branch Tag) + x6{32:27} (Op Extension) + {26:16} (Ignored) + b2{15:13} (Branch Source) + timm7a{12:6} (Branch Tag) + {5} (Ignored) + wh{4:3} (Op Hint) + {2:0} (Ignored) +B8 + 0{40:37} (B Inst) + {36:33} (Ignored) + x6{32:27} (Op Extension) + {26:6} (Ignored) + 0{5:0} (Qual Pred) +B9 + 0/2{40:37} (B Inst) + i{36} (Immediate) + {35:33} (Ignored) + x6{32:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +F1 + 8 - D{40:37} (F Inst) + x{36} (Op Extension) + sf{35:34} (Op Extension) + f4{33:27} (FP Source) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F2 + E{40:37} (F Inst) + x{36} (Op Extension) + x2{35:34} (Op Extension) + f4{33:27} (FP Source) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F3 + E{40:37} (F Inst) + x{36} (Op Extension) + {35:34} (Ignored) + f4{33:27} (FP Source) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F4 + 4{40:37} (F Inst) + rb{36} (Op Extension) + sf{35:34} (Op Extension) + ra{33} (Op Extension) + p2{32:27} (Pred Dest) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + ta{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +F5 + 5{40:37} (F Inst) + {36:35} (Ignored) + fc2{34:33} (Immediate) + p2{32:27} (Pred Dest) + fclass7c{26:20} (Immediate) + f2{19:13} (FP Source) + ta{12} (Op Extension) + p1{11:6} (Pred Dest) + qp{5:0} (Qual Pred) +F6 + 0 - 1{40:37} (F Inst) + q{36} (Op Extension) + sf{35:34} (Op Extension) + x{33} (Op Extension) + p2{32:27} (Pred Dest) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F7 + 0 - 1{40:37} (F Inst) + q{36} (Op Extension) + sf{35:34} (Op Extension) + x{33} (Op Extension) + p2{32:27} (Pred Dest) + f3{26:20} (FP Source) + {19:13} (Ignored) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F8 + 0 - 1{40:37} (F Inst) + {36} (Ignored) + sf{35:34} (Op Extension) + x{33} (Op Extension) + x6{32:27} (Op Extension) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F9 + 0 - 1{40:37} (F Inst) + {36:34} (Ignored) + x{33} (Op Extension) + x6{32:27} (Op Extension) + f3{26:20} (FP Source) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F10 + 0 - 1{40:37} (F Inst) + {36} (Ignored) + sf{35:34} (Op Extension) + x{33} (Op Extension) + x6{32:27} (Op Extension) + {26:20} (Ignored) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F11 + 0{40:37} (F Inst) + {36:34} (Ignored) + x{33} (Op Extension) + x6{32:27} (Op Extension) + {26:20} (Ignored) + f2{19:13} (FP Source) + f1{12:6} (FP Dest) + qp{5:0} (Qual Pred) +F12 + 0{40:37} (F Inst) + {36} (Ignored) + sf{35:34} (Op Extension) + x{33} (Op Extension) + x6{32:27} (Op Extension) + omask7c{26:20} (Immediate) + amask7b{19:13} (Immediate) + {12:6} (Ignored) + qp{5:0} (Qual Pred) +F13 + 0{40:37} (F Inst) + {36} (Ignored) + sf{35:34} (Op Extension) + x{33} (Op Extension) + x6{32:27} (Op Extension) + {26:6} (Ignored) + qp{5:0} (Qual Pred) +F14 + 0{40:37} (F Inst) + s{36} (Immediate) + sf{35:34} (Op Extension) + x{33} (Op Extension) + x6{32:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +F15 + 0{40:37} (F Inst) + i{36} (Immediate) + {35:34} (Ignored) + x{33} (Op Extension) + x6{32:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +F16 + 0{40:37} (F Inst) + i{36} (Immediate) + {35:34} (Ignored) + x{33} (Op Extension) + x6{32:27} (Op Extension) + y{26} (Op Extension) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) +X1 + 0{40:37} (I Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + {26} (Ignored) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) + imm41{40:0} (Immediate) +X2 + 6{40:37} (I Inst) + i{36} (Immediate) + imm9d{35:27} (Immediate) + imm5c{26:22} (Immediate) + ic{21} (Immediate) + vc{20} (Op Extension) + imm7b{19:13} (Immediate) + r1{12:6} (Int Dest) + qp{5:0} (Qual Pred) + imm41{40:0} (Immediate) +X3 + C{40:37} (B Inst) + i{36} (Immediate) + d{35} (Op Hint) + wh{34:33} (Op Hint) + imm20b{32:13} (Immediate) + p{12} (Op Hint) + {11:9} (Ignored) + btype{8:6} (Op Extension) + qp{5:0} (Qual Pred) + imm39{40:2} (Immediate) + {1:0} (Ignored) +X4 + D{40:37} (B Inst) + i{36} (Immediate) + d{35} (Op Hint) + wh{34:33} (Op Hint) + imm20b{32:13} (Immediate) + p{12} (Op Hint) + {11:9} (Ignored) + b1{8:6} (Branch Dest) + qp{5:0} (Qual Pred) + imm39{40:2} (Immediate) + {1:0} (Ignored) +X5 + 0{40:37} (I Inst) + i{36} (Immediate) + x3{35:33} (Op Extension) + x6{32:27} (Op Extension) + y{26} (Op Extension) + imm20a{25:6} (Immediate) + qp{5:0} (Qual Pred) + imm41{40:0} (Immediate) diff --git a/src/encodings/encoding.imm b/src/encodings/encoding.imm new file mode 100644 index 0000000..9aeef2e --- /dev/null +++ b/src/encodings/encoding.imm @@ -0,0 +1,90 @@ +# Immediate Formation +# Generated from Itanium SDM Rev. 2.1 (15 Jan 03) +# Generated 15 Jan 2003, 12:13:51 PM +# Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +A2 count2 = ct2d + 1 +A3 imm8 = sign_ext(s << 7 | imm7b, 8) +A8 imm8 = sign_ext(s << 7 | imm7b, 8) +I27 imm8 = sign_ext(s << 7 | imm7b, 8) +M30 imm8 = sign_ext(s << 7 | imm7b, 8) +A4 imm14 = sign_ext(s << 13 | imm6d << 7 | imm7b, 14) +A5 imm22 = sign_ext(s << 21 | imm5c << 16 | imm9d << 7 | imm7b, 22) +A10 count2 = (ct2d > 2) ? reservedQP : ct2d + 1 +I1 count2 = (ct2d == 0) ? 0 : (ct2d == 1) ? 7 : (ct2d == 2) ? 15 : 16 +I3 mbtype4 = (mbt4c == 0) ? @brcst : (mbt4c == 8) ? @mix : (mbt4c == 9) ? @shuf : (mbt4c == 0xA) ? @alt : (mbt4c == 0xB) ? @rev : reservedQP +I4 mhtype8 = mht8c +I6 count5 = count5b +I8 count5 = 31 - ccount5c +I10 count6 = count6d +I11 len6 = len6d + 1 +I11 pos6 = pos6b +I12 len6 = len6d + 1 +I12 pos6 = 63 - cpos6c +I13 len6 = len6d + 1 +I13 pos6 = 63 - cpos6c +I13 imm8 = sign_ext(s << 7 | imm7b, 8) +I14 len6 = len6d + 1 +I14 pos6 = 63 - cpos6b +I14 imm1 = sign_ext(s, 1) +I15 len4 = len4d + 1 +I15 pos6 = 63 - cpos6d +I16 pos6 = pos6b +I18 imm21 = i << 20 | imm20a +I19 imm21 = i << 20 | imm20a +M37 imm21 = i << 20 | imm20a +M48 imm21 = i << 20 | imm20a +I21 tag13 = IP + (sign_ext(timm9c, 9) << 4) +I23 mask17 = sign_ext(s << 16 | mask8c << 8 | mask7a << 1, 17) +I24 imm44 = sign_ext(s << 43 | imm27a << 16, 44) +M3 imm9 = sign_ext(s << 8 | i << 7 | imm7b, 9) +M8 imm9 = sign_ext(s << 8 | i << 7 | imm7b, 9) +M15 imm9 = sign_ext(s << 8 | i << 7 | imm7b, 9) +M5 imm9 = sign_ext(s << 8 | i << 7 | imm7a, 9) +M10 imm9 = sign_ext(s << 8 | i << 7 | imm7a, 9) +M17 inc3 = sign_ext(((s) ? -1 : 1) * ((i2b == 3) ? 1 : 1 << (4 - i2b)), 6) +I20 target25 = IP + (sign_ext(s << 20 | imm13c << 7 | imm7a, 21) << 4) +M20 target25 = IP + (sign_ext(s << 20 | imm13c << 7 | imm7a, 21) << 4) +M21 target25 = IP + (sign_ext(s << 20 | imm13c << 7 | imm7a, 21) << 4) +M22 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +M23 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +M34 il = sol +M34 o = sof - sol +M34 r = sor << 3 +M39 imm2 = i2b +M40 imm2 = i2b +M44 imm24 = i << 23 | i2d << 21 | imm21a +B1 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +B2 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +B3 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +B6 target25 = IP + (sign_ext(s << 20 | imm20b, 21) << 4) +B6 tag13 = IP + (sign_ext(t2e << 7 | timm7a, 9) << 4) +B7 tag13 = IP + (sign_ext(t2e << 7 | timm7a, 9) << 4) +B9 imm21 = i << 20 | imm20a +F5 fclass9 = fclass7c << 2 | fc2 +F12 amask7 = amask7b +F12 omask7 = omask7c +F14 target25 = IP + (sign_ext(s << 20 | imm20a, 21) << 4) +F15 imm21 = i << 20 | imm20a +F16 imm21 = i << 20 | imm20a +X1 imm62 = imm41 << 21 | i << 20 | imm20a +X5 imm62 = imm41 << 21 | i << 20 | imm20a +X2 imm64 = i << 63 | imm41 << 22 | ic << 21 | imm5c << 16 | imm9d << 7 | imm7b +X3 target64 = IP + ((i << 59 | imm39 << 20 | imm20b) << 4) +X4 target64 = IP + ((i << 59 | imm39 << 20 | imm20b) << 4) diff --git a/src/encodings/encoding.opcode b/src/encodings/encoding.opcode new file mode 100644 index 0000000..f102044 --- /dev/null +++ b/src/encodings/encoding.opcode @@ -0,0 +1,1626 @@ +# Opcode Encodings +# Generated from Itanium SDM Rev. 2.1 (15 Jan 03) +# Generated 15 Jan 2003, 12:13:50 PM +# Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +A1 add r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=0 x2b{28:27}=0; 0x1 / ArchRev0 +A1 add r1 = r2, r3, 1 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=0 x2b{28:27}=1; 0x1 / ArchRev0 +A1 sub r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=1 x2b{28:27}=1; 0x1 / ArchRev0 +A1 sub r1 = r2, r3, 1 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=1 x2b{28:27}=0; 0x1 / ArchRev0 +A1 addp4 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=2 x2b{28:27}=0; 0x1 / ArchRev0 +A1 and r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=3 x2b{28:27}=0; 0x1 / ArchRev0 +A1 andcm r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=3 x2b{28:27}=1; 0x1 / ArchRev0 +A1 or r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=3 x2b{28:27}=2; 0x1 / ArchRev0 +A1 xor r1 = r2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=3 x2b{28:27}=3; 0x1 / ArchRev0 +A2 shladd r1 = r2, count2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=4; 0x1 / ArchRev0 +A2 shladdp4 r1 = r2, count2, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=6; 0x1 / ArchRev0 +A3 sub r1 = imm8, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=9 x2b{28:27}=1; 0x1 / ArchRev0 +A3 and r1 = imm8, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=B x2b{28:27}=0; 0x1 / ArchRev0 +A3 andcm r1 = imm8, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=B x2b{28:27}=1; 0x1 / ArchRev0 +A3 or r1 = imm8, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=B x2b{28:27}=2; 0x1 / ArchRev0 +A3 xor r1 = imm8, r3 : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=B x2b{28:27}=3; 0x1 / ArchRev0 +A4 adds r1 = imm14, r3 : op{40:37}=8 x2a{35:34}=2 ve{33}=0; 0x1 / ArchRev0 +A4 addp4 r1 = imm14, r3 : op{40:37}=8 x2a{35:34}=3 ve{33}=0; 0x1 / ArchRev0 +A5 addl r1 = imm22, r3 : op{40:37}=9; 0x1 / ArchRev0 +A6 cmp.lt p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp.ltu p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp.eq p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp.lt.unc p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp.ltu.unc p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp.eq.unc p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=0 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp.eq.and p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp.eq.or p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp.eq.or.andcm p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp.ne.and p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A6 cmp.ne.or p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A6 cmp.ne.or.andcm p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=0 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A6 cmp4.lt p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.ltu p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.eq p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.lt.unc p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp4.ltu.unc p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp4.eq.unc p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=1 tb{36}=0 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A6 cmp4.eq.and p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.eq.or p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.eq.or.andcm p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A6 cmp4.ne.and p1, p2 = r2, r3 : op{40:37}=C x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A6 cmp4.ne.or p1, p2 = r2, r3 : op{40:37}=D x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A6 cmp4.ne.or.andcm p1, p2 = r2, r3 : op{40:37}=E x2{35:34}=1 tb{36}=0 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp.gt.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp.gt.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp.gt.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp.le.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp.le.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp.le.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=0 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp.ge.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp.ge.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp.ge.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp.lt.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp.lt.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp.lt.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=0 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.gt.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.gt.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.gt.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.le.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.le.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.le.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=1 tb{36}=1 ta{33}=0 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.ge.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.ge.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.ge.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A7 cmp4.lt.and p1, p2 = r0, r3 : op{40:37}=C x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.lt.or p1, p2 = r0, r3 : op{40:37}=D x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A7 cmp4.lt.or.andcm p1, p2 = r0, r3 : op{40:37}=E x2{35:34}=1 tb{36}=1 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp.lt p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=2 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp.ltu p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=2 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp.eq p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=2 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp.lt.unc p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=2 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp.ltu.unc p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=2 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp.eq.unc p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=2 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp.eq.and p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=2 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp.eq.or p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=2 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp.eq.or.andcm p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=2 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp.ne.and p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=2 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp.ne.or p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=2 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp.ne.or.andcm p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=2 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp4.lt p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=3 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.ltu p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=3 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.eq p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=3 ta{33}=0 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.lt.unc p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=3 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp4.ltu.unc p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=3 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp4.eq.unc p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=3 ta{33}=0 c{12}=1; 0x1081 / ArchRev0 +A8 cmp4.eq.and p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=3 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.eq.or p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=3 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.eq.or.andcm p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=3 ta{33}=1 c{12}=0; 0x81 / ArchRev0 +A8 cmp4.ne.and p1, p2 = imm8, r3 : op{40:37}=C x2{35:34}=3 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp4.ne.or p1, p2 = imm8, r3 : op{40:37}=D x2{35:34}=3 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A8 cmp4.ne.or.andcm p1, p2 = imm8, r3 : op{40:37}=E x2{35:34}=3 ta{33}=1 c{12}=1; 0x81 / ArchRev0 +A9 padd1 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=0 x2b{28:27}=0; 0x1 / ArchRev0 +A9 padd2 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=0 x2b{28:27}=0; 0x1 / ArchRev0 +A9 padd4 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=0 x2b{28:27}=0; 0x1 / ArchRev0 +A9 padd1.sss r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=0 x2b{28:27}=1; 0x1 / ArchRev0 +A9 padd2.sss r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=0 x2b{28:27}=1; 0x1 / ArchRev0 +A9 padd1.uuu r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=0 x2b{28:27}=2; 0x1 / ArchRev0 +A9 padd2.uuu r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=0 x2b{28:27}=2; 0x1 / ArchRev0 +A9 padd1.uus r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=0 x2b{28:27}=3; 0x1 / ArchRev0 +A9 padd2.uus r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=0 x2b{28:27}=3; 0x1 / ArchRev0 +A9 psub1 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=1 x2b{28:27}=0; 0x1 / ArchRev0 +A9 psub2 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=1 x2b{28:27}=0; 0x1 / ArchRev0 +A9 psub4 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=1 x2b{28:27}=0; 0x1 / ArchRev0 +A9 psub1.sss r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=1 x2b{28:27}=1; 0x1 / ArchRev0 +A9 psub2.sss r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=1 x2b{28:27}=1; 0x1 / ArchRev0 +A9 psub1.uuu r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=1 x2b{28:27}=2; 0x1 / ArchRev0 +A9 psub2.uuu r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=1 x2b{28:27}=2; 0x1 / ArchRev0 +A9 psub1.uus r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=1 x2b{28:27}=3; 0x1 / ArchRev0 +A9 psub2.uus r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=1 x2b{28:27}=3; 0x1 / ArchRev0 +A9 pavg1 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=2 x2b{28:27}=2; 0x1 / ArchRev0 +A9 pavg2 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=2 x2b{28:27}=2; 0x1 / ArchRev0 +A9 pavg1.raz r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=2 x2b{28:27}=3; 0x1 / ArchRev0 +A9 pavg2.raz r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=2 x2b{28:27}=3; 0x1 / ArchRev0 +A9 pavgsub1 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=3 x2b{28:27}=2; 0x1 / ArchRev0 +A9 pavgsub2 r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=3 x2b{28:27}=2; 0x1 / ArchRev0 +A9 pcmp1.eq r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=9 x2b{28:27}=0; 0x1 / ArchRev0 +A9 pcmp2.eq r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=9 x2b{28:27}=0; 0x1 / ArchRev0 +A9 pcmp4.eq r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=9 x2b{28:27}=0; 0x1 / ArchRev0 +A9 pcmp1.gt r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=9 x2b{28:27}=1; 0x1 / ArchRev0 +A9 pcmp2.gt r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=9 x2b{28:27}=1; 0x1 / ArchRev0 +A9 pcmp4.gt r1 = r2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=9 x2b{28:27}=1; 0x1 / ArchRev0 +A10 pshladd2 r1 = r2, count2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=4; 0x1 / ArchRev0 +A10 pshradd2 r1 = r2, count2, r3 : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=6; 0x1 / ArchRev0 +I1 pmpyshr2 r1 = r2, r3, count2 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3; 0x1 / ArchRev0 +I1 pmpyshr2.u r1 = r2, r3, count2 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1; 0x1 / ArchRev0 +I2 pmpy2.r r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=3; 0x1 / ArchRev0 +I2 pmpy2.l r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=3; 0x1 / ArchRev0 +I2 mix1.r r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=2; 0x1 / ArchRev0 +I2 mix2.r r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=2; 0x1 / ArchRev0 +I2 mix4.r r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=2; 0x1 / ArchRev0 +I2 mix1.l r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=2; 0x1 / ArchRev0 +I2 mix2.l r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=2; 0x1 / ArchRev0 +I2 mix4.l r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=2; 0x1 / ArchRev0 +I2 pack2.uss r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=0; 0x1 / ArchRev0 +I2 pack2.sss r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=0; 0x1 / ArchRev0 +I2 pack4.sss r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=0; 0x1 / ArchRev0 +I2 unpack1.h r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I2 unpack2.h r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I2 unpack4.h r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I2 unpack1.l r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=1; 0x1 / ArchRev0 +I2 unpack2.l r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=1; 0x1 / ArchRev0 +I2 unpack4.l r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=1; 0x1 / ArchRev0 +I2 pmin1.u r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=0; 0x1 / ArchRev0 +I2 pmax1.u r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=1; 0x1 / ArchRev0 +I2 pmin2 r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=0; 0x1 / ArchRev0 +I2 pmax2 r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=1; 0x1 / ArchRev0 +I2 psad1 r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=2; 0x1 / ArchRev0 +I3 mux1 r1 = r2, mbtype4 : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=2; 0x1 / ArchRev0 +I4 mux2 r1 = r2, mhtype8 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=2; 0x1 / ArchRev0 +I5 pshr2 r1 = r3, r2 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=0; 0x1 / ArchRev0 +I5 pshr4 r1 = r3, r2 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=0; 0x1 / ArchRev0 +I5 shr r1 = r3, r2 : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=0; 0x1 / ArchRev0 +I5 pshr2.u r1 = r3, r2 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=0; 0x1 / ArchRev0 +I5 pshr4.u r1 = r3, r2 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=0; 0x1 / ArchRev0 +I5 shr.u r1 = r3, r2 : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=0; 0x1 / ArchRev0 +I6 pshr2 r1 = r3, count5 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=0; 0x1 / ArchRev0 +I6 pshr4 r1 = r3, count5 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=0; 0x1 / ArchRev0 +I6 pshr2.u r1 = r3, count5 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=0; 0x1 / ArchRev0 +I6 pshr4.u r1 = r3, count5 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=0; 0x1 / ArchRev0 +I7 pshl2 r1 = r2, r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I7 pshl4 r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I7 shl r1 = r2, r3 : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=1; 0x1 / ArchRev0 +I8 pshl2 r1 = r2, count5 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=1; 0x1 / ArchRev0 +I8 pshl4 r1 = r2, count5 : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=1; 0x1 / ArchRev0 +I9 popcnt r1 = r3 : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=2; 0x1 / ArchRev0 +I10 shrp r1 = r2, r3, count6 : op{40:37}=5 x2{35:34}=3 x{33}=0; 0x1 / ArchRev0 +I11 extr.u r1 = r3, pos6, len6 : op{40:37}=5 x2{35:34}=1 x{33}=0 y{13}=0; 0x1 / ArchRev0 +I11 extr r1 = r3, pos6, len6 : op{40:37}=5 x2{35:34}=1 x{33}=0 y{13}=1; 0x1 / ArchRev0 +I12 dep.z r1 = r2, pos6, len6 : op{40:37}=5 x2{35:34}=1 x{33}=1 y{26}=0; 0x1 / ArchRev0 +I13 dep.z r1 = imm8, pos6, len6 : op{40:37}=5 x2{35:34}=1 x{33}=1 y{26}=1; 0x1 / ArchRev0 +I14 dep r1 = imm1, r3, pos6, len6 : op{40:37}=5 x2{35:34}=3 x{33}=1; 0x1 / ArchRev0 +I15 dep r1 = r2, r3, pos6, len4 : op{40:37}=4; 0x1 / ArchRev0 +I16 tbit.z p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=0 y{13}=0 c{12}=0; 0x81 / ArchRev0 +I16 tbit.z.unc p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=0 y{13}=0 c{12}=1; 0x1081 / ArchRev0 +I16 tbit.z.and p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=1 y{13}=0 c{12}=0; 0x81 / ArchRev0 +I16 tbit.nz.and p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=1 y{13}=0 c{12}=1; 0x81 / ArchRev0 +I16 tbit.z.or p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=0 y{13}=0 c{12}=0; 0x81 / ArchRev0 +I16 tbit.nz.or p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=0 y{13}=0 c{12}=1; 0x81 / ArchRev0 +I16 tbit.z.or.andcm p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=1 y{13}=0 c{12}=0; 0x81 / ArchRev0 +I16 tbit.nz.or.andcm p1, p2 = r3, pos6 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=1 y{13}=0 c{12}=1; 0x81 / ArchRev0 +I17 tnat.z p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=0 y{13}=1 c{12}=0; 0x81 / ArchRev0 +I17 tnat.z.unc p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=0 y{13}=1 c{12}=1; 0x1081 / ArchRev0 +I17 tnat.z.and p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=1 y{13}=1 c{12}=0; 0x81 / ArchRev0 +I17 tnat.nz.and p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=0 tb{36}=1 y{13}=1 c{12}=1; 0x81 / ArchRev0 +I17 tnat.z.or p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=0 y{13}=1 c{12}=0; 0x81 / ArchRev0 +I17 tnat.nz.or p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=0 y{13}=1 c{12}=1; 0x81 / ArchRev0 +I17 tnat.z.or.andcm p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=1 y{13}=1 c{12}=0; 0x81 / ArchRev0 +I17 tnat.nz.or.andcm p1, p2 = r3 : op{40:37}=5 x2{35:34}=0 ta{33}=1 tb{36}=1 y{13}=1 c{12}=1; 0x81 / ArchRev0 +I18 nop.i imm21 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1 y{26}=0; 0x401 / ArchRev0 +I18 hint.i imm21 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1 y{26}=1; 0x1 / ArchRev0 +I19 break.i imm21 : op{40:37}=0 x3{35:33}=0 x6{32:27}=0; 0x401 / ArchRev0 +I20 chk.s.i r2, target25 : op{40:37}=0 x3{35:33}=1; 0x1 / ArchRev0 +I21 mov.sptk b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=0 wh{21:20}=0; 0x1 / ArchRev0 +I21 mov.sptk.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=1 wh{21:20}=0; 0x1 / ArchRev0 +I21 mov b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=0 wh{21:20}=1; 0x1 / ArchRev0 +I21 mov.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=1 wh{21:20}=1; 0x1 / ArchRev0 +I21 mov.dptk b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=0 wh{21:20}=2; 0x1 / ArchRev0 +I21 mov.dptk.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=1 wh{21:20}=2; 0x1 / ArchRev0 +I21 mov.ret.sptk b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=0 wh{21:20}=0; 0x1 / ArchRev0 +I21 mov.ret.sptk.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=1 wh{21:20}=0; 0x1 / ArchRev0 +I21 mov.ret b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=0 wh{21:20}=1; 0x1 / ArchRev0 +I21 mov.ret.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=1 wh{21:20}=1; 0x1 / ArchRev0 +I21 mov.ret.dptk b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=0 wh{21:20}=2; 0x1 / ArchRev0 +I21 mov.ret.dptk.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=1 wh{21:20}=2; 0x1 / ArchRev0 +I22 mov r1 = b2 : op{40:37}=0 x3{35:33}=0 x6{32:27}=31; 0x1 / ArchRev0 +I23 mov pr = r2, mask17 : op{40:37}=0 x3{35:33}=3; 0x1 / ArchRev0 +I24 mov pr.rot = imm44 : op{40:37}=0 x3{35:33}=2; 0x1 / ArchRev0 +I25 mov r1 = ip : op{40:37}=0 x3{35:33}=0 x6{32:27}=30; 0x1 / ArchRev0 +I25 mov r1 = pr : op{40:37}=0 x3{35:33}=0 x6{32:27}=33; 0x1 / ArchRev0 +I26 mov.i ar3 = r2 : op{40:37}=0 x3{35:33}=0 x6{32:27}=2A; 0x1 / ArchRev0 +I27 mov.i ar3 = imm8 : op{40:37}=0 x3{35:33}=0 x6{32:27}=A; 0x1 / ArchRev0 +I28 mov.i r1 = ar3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=32; 0x1 / ArchRev0 +I29 zxt1 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=10; 0x1 / ArchRev0 +I29 zxt2 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=11; 0x1 / ArchRev0 +I29 zxt4 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=12; 0x1 / ArchRev0 +I29 sxt1 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=14; 0x1 / ArchRev0 +I29 sxt2 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=15; 0x1 / ArchRev0 +I29 sxt4 r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=16; 0x1 / ArchRev0 +I29 czx1.l r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=18; 0x1 / ArchRev0 +I29 czx2.l r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=19; 0x1 / ArchRev0 +I29 czx1.r r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1C; 0x1 / ArchRev0 +I29 czx2.r r1 = r3 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1D; 0x1 / ArchRev0 +M1 ld1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.s r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.s.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.s.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.s r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.s.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.s.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.s r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.s.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.s.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.s r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.s.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.s.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.a r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.a.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.a.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.a r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.a.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.a.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.a r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.a.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.a.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.a r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.a.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.a.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.sa r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.sa.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.sa.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.sa r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.sa.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.sa.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.sa r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.sa.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.sa.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.sa r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.sa.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.sa.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.bias r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=10 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.bias.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=10 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.bias.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=10 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.bias r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=11 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.bias.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=11 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.bias.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=11 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.bias r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=12 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.bias.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=12 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.bias.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=12 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.bias r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=13 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.bias.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=13 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.bias.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=13 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=14 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=14 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=14 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=15 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=15 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=15 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=16 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=16 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=16 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=17 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=17 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=17 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.fill r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.fill.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.fill.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.c.clr r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.c.clr.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.c.clr.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.c.clr r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.c.clr.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.c.clr.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.c.clr r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.c.clr.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.c.clr.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.c.clr r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.c.clr.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.c.clr.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.c.nc r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.c.nc.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.c.nc.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.c.nc r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.c.nc.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.c.nc.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.c.nc r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.c.nc.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.c.nc.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.c.nc r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.c.nc.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.c.nc.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld1.c.clr.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=28 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld1.c.clr.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=28 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld1.c.clr.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=28 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld2.c.clr.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=29 hint{29:28}=0; 0x5 / ArchRev0 +M1 ld2.c.clr.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=29 hint{29:28}=1; 0x5 / ArchRev0 +M1 ld2.c.clr.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=29 hint{29:28}=3; 0x5 / ArchRev0 +M1 ld4.c.clr.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2A hint{29:28}=0; 0x5 / ArchRev0 +M1 ld4.c.clr.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2A hint{29:28}=1; 0x5 / ArchRev0 +M1 ld4.c.clr.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2A hint{29:28}=3; 0x5 / ArchRev0 +M1 ld8.c.clr.acq r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2B hint{29:28}=0; 0x5 / ArchRev0 +M1 ld8.c.clr.acq.nt1 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2B hint{29:28}=1; 0x5 / ArchRev0 +M1 ld8.c.clr.acq.nta r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2B hint{29:28}=3; 0x5 / ArchRev0 +M1 ld16 r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=28 hint{29:28}=0; 0x5 / Impl_AtomicOps +M1 ld16.nt1 r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=28 hint{29:28}=1; 0x5 / Impl_AtomicOps +M1 ld16.nta r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=28 hint{29:28}=3; 0x5 / Impl_AtomicOps +M1 ld16.acq r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2C hint{29:28}=0; 0x5 / Impl_AtomicOps +M1 ld16.acq.nt1 r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2C hint{29:28}=1; 0x5 / Impl_AtomicOps +M1 ld16.acq.nta r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2C hint{29:28}=3; 0x5 / Impl_AtomicOps +M2 ld1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.s r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.s.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.s.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.s r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.s.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.s.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.s r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.s.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.s.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.s r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.s.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.s.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.a r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.a.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.a.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.a r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.a.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.a.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.a r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.a.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.a.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.a r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.a.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.a.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.sa r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.sa.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.sa.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.sa r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.sa.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.sa.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.sa r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.sa.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.sa.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.sa r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.sa.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.sa.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.bias r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=10 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.bias.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=10 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.bias.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=10 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.bias r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=11 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.bias.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=11 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.bias.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=11 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.bias r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=12 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.bias.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=12 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.bias.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=12 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.bias r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=13 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.bias.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=13 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.bias.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=13 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=14 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=14 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=14 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=15 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=15 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=15 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=16 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=16 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=16 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=17 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=17 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=17 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.fill r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.fill.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.fill.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.c.clr r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.c.clr.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.c.clr.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.c.clr r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.c.clr.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.c.clr.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.c.clr r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.c.clr.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.c.clr.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.c.clr r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.c.clr.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.c.clr.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.c.nc r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.c.nc.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.c.nc.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.c.nc r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.c.nc.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.c.nc.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.c.nc r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.c.nc.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.c.nc.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.c.nc r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.c.nc.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.c.nc.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld1.c.clr.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=28 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld1.c.clr.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=28 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld1.c.clr.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=28 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld2.c.clr.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=29 hint{29:28}=0; 0x15 / ArchRev0 +M2 ld2.c.clr.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=29 hint{29:28}=1; 0x15 / ArchRev0 +M2 ld2.c.clr.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=29 hint{29:28}=3; 0x15 / ArchRev0 +M2 ld4.c.clr.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2A hint{29:28}=0; 0x15 / ArchRev0 +M2 ld4.c.clr.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2A hint{29:28}=1; 0x15 / ArchRev0 +M2 ld4.c.clr.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2A hint{29:28}=3; 0x15 / ArchRev0 +M2 ld8.c.clr.acq r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2B hint{29:28}=0; 0x15 / ArchRev0 +M2 ld8.c.clr.acq.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2B hint{29:28}=1; 0x15 / ArchRev0 +M2 ld8.c.clr.acq.nta r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2B hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=0 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=0 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=0 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=3 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=3 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=3 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.s r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=4 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.s.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=4 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.s.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=4 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.s r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=5 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.s.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=5 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.s.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=5 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.s r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=6 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.s.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=6 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.s.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=6 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.s r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=7 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.s.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=7 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.s.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=7 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.a r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=8 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.a.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=8 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.a.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=8 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.a r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=9 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.a.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=9 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.a.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=9 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.a r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=A hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.a.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=A hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.a.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=A hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.a r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=B hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.a.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=B hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.a.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=B hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.sa r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=C hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.sa.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=C hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.sa.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=C hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.sa r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=D hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.sa.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=D hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.sa.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=D hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.sa r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=E hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.sa.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=E hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.sa.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=E hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.sa r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=F hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.sa.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=F hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.sa.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=F hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.bias r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=10 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.bias.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=10 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.bias.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=10 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.bias r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=11 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.bias.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=11 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.bias.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=11 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.bias r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=12 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.bias.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=12 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.bias.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=12 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.bias r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=13 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.bias.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=13 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.bias.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=13 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=14 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=14 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=14 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=15 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=15 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=15 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=16 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=16 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=16 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=17 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=17 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=17 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.fill r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1B hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.fill.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1B hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.fill.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1B hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.c.clr r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=20 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.c.clr.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=20 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.c.clr.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=20 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.c.clr r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=21 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.c.clr.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=21 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.c.clr.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=21 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.c.clr r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=22 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.c.clr.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=22 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.c.clr.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=22 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.c.clr r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=23 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.c.clr.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=23 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.c.clr.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=23 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.c.nc r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=24 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.c.nc.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=24 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.c.nc.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=24 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.c.nc r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=25 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.c.nc.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=25 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.c.nc.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=25 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.c.nc r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=26 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.c.nc.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=26 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.c.nc.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=26 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.c.nc r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=27 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.c.nc.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=27 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.c.nc.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=27 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld1.c.clr.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=28 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld1.c.clr.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=28 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld1.c.clr.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=28 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld2.c.clr.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=29 hint{29:28}=0; 0x15 / ArchRev0 +M3 ld2.c.clr.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=29 hint{29:28}=1; 0x15 / ArchRev0 +M3 ld2.c.clr.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=29 hint{29:28}=3; 0x15 / ArchRev0 +M3 ld4.c.clr.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2A hint{29:28}=0; 0x15 / ArchRev0 +M3 ld4.c.clr.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2A hint{29:28}=1; 0x15 / ArchRev0 +M3 ld4.c.clr.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2A hint{29:28}=3; 0x15 / ArchRev0 +M3 ld8.c.clr.acq r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2B hint{29:28}=0; 0x15 / ArchRev0 +M3 ld8.c.clr.acq.nt1 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2B hint{29:28}=1; 0x15 / ArchRev0 +M3 ld8.c.clr.acq.nta r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2B hint{29:28}=3; 0x15 / ArchRev0 +M4 st1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=0; 0x9 / ArchRev0 +M4 st1.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=3; 0x9 / ArchRev0 +M4 st2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=0; 0x9 / ArchRev0 +M4 st2.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=3; 0x9 / ArchRev0 +M4 st4 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=0; 0x9 / ArchRev0 +M4 st4.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=3; 0x9 / ArchRev0 +M4 st8 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=0; 0x9 / ArchRev0 +M4 st8.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=3; 0x9 / ArchRev0 +M4 st1.rel [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=34 hint{29:28}=0; 0x9 / ArchRev0 +M4 st1.rel.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=34 hint{29:28}=3; 0x9 / ArchRev0 +M4 st2.rel [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=35 hint{29:28}=0; 0x9 / ArchRev0 +M4 st2.rel.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=35 hint{29:28}=3; 0x9 / ArchRev0 +M4 st4.rel [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=36 hint{29:28}=0; 0x9 / ArchRev0 +M4 st4.rel.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=36 hint{29:28}=3; 0x9 / ArchRev0 +M4 st8.rel [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=37 hint{29:28}=0; 0x9 / ArchRev0 +M4 st8.rel.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=37 hint{29:28}=3; 0x9 / ArchRev0 +M4 st8.spill [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=0; 0x9 / ArchRev0 +M4 st8.spill.nta [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=3; 0x9 / ArchRev0 +M4 st16 [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=30 hint{29:28}=0; 0x9 / Impl_AtomicOps +M4 st16.nta [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=30 hint{29:28}=3; 0x9 / Impl_AtomicOps +M4 st16.rel [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=34 hint{29:28}=0; 0x9 / Impl_AtomicOps +M4 st16.rel.nta [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=34 hint{29:28}=3; 0x9 / Impl_AtomicOps +M5 st1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=30 hint{29:28}=0; 0x9 / ArchRev0 +M5 st1.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=30 hint{29:28}=3; 0x9 / ArchRev0 +M5 st2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=31 hint{29:28}=0; 0x9 / ArchRev0 +M5 st2.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=31 hint{29:28}=3; 0x9 / ArchRev0 +M5 st4 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=32 hint{29:28}=0; 0x9 / ArchRev0 +M5 st4.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=32 hint{29:28}=3; 0x9 / ArchRev0 +M5 st8 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=33 hint{29:28}=0; 0x9 / ArchRev0 +M5 st8.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=33 hint{29:28}=3; 0x9 / ArchRev0 +M5 st1.rel [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=34 hint{29:28}=0; 0x9 / ArchRev0 +M5 st1.rel.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=34 hint{29:28}=3; 0x9 / ArchRev0 +M5 st2.rel [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=35 hint{29:28}=0; 0x9 / ArchRev0 +M5 st2.rel.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=35 hint{29:28}=3; 0x9 / ArchRev0 +M5 st4.rel [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=36 hint{29:28}=0; 0x9 / ArchRev0 +M5 st4.rel.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=36 hint{29:28}=3; 0x9 / ArchRev0 +M5 st8.rel [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=37 hint{29:28}=0; 0x9 / ArchRev0 +M5 st8.rel.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=37 hint{29:28}=3; 0x9 / ArchRev0 +M5 st8.spill [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=3B hint{29:28}=0; 0x9 / ArchRev0 +M5 st8.spill.nta [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=3B hint{29:28}=3; 0x9 / ArchRev0 +M6 ldfs f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfs.s f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.s.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.s.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd.s f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.s.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.s.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8.s f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.s.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.s.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe.s f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.s.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.s.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfs.a f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.a.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.a.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd.a f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.a.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.a.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8.a f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.a.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.a.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe.a f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.a.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.a.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfs.sa f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.sa.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.sa.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd.sa f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.sa.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.sa.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8.sa f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.sa.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.sa.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe.sa f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.sa.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.sa.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf.fill f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf.fill.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf.fill.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfs.c.clr f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.c.clr.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.c.clr.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd.c.clr f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.c.clr.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.c.clr.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8.c.clr f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.c.clr.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.c.clr.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe.c.clr f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.c.clr.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.c.clr.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfs.c.nc f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfs.c.nc.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfs.c.nc.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfd.c.nc f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfd.c.nc.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfd.c.nc.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldf8.c.nc f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldf8.c.nc.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldf8.c.nc.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=3; 0x5 / ArchRev0 +M6 ldfe.c.nc f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=0; 0x5 / ArchRev0 +M6 ldfe.c.nc.nt1 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=1; 0x5 / ArchRev0 +M6 ldfe.c.nc.nta f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs.s f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.s.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.s.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd.s f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.s.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.s.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8.s f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.s.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.s.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe.s f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.s.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.s.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs.a f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.a.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.a.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd.a f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.a.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.a.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8.a f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.a.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.a.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe.a f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.a.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.a.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs.sa f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.sa.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.sa.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd.sa f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.sa.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.sa.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8.sa f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.sa.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.sa.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe.sa f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.sa.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.sa.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf.fill f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf.fill.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf.fill.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs.c.clr f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.c.clr.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.c.clr.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd.c.clr f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.c.clr.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.c.clr.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8.c.clr f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.c.clr.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.c.clr.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe.c.clr f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.c.clr.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.c.clr.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfs.c.nc f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfs.c.nc.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfs.c.nc.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfd.c.nc f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfd.c.nc.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfd.c.nc.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldf8.c.nc f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldf8.c.nc.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldf8.c.nc.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=3; 0x5 / ArchRev0 +M7 ldfe.c.nc f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=0; 0x5 / ArchRev0 +M7 ldfe.c.nc.nt1 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=1; 0x5 / ArchRev0 +M7 ldfe.c.nc.nta f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=2 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=2 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=2 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=3 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=3 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=3 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=0 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=0 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=0 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs.s f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=6 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.s.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=6 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.s.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=6 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd.s f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=7 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.s.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=7 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.s.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=7 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8.s f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=5 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.s.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=5 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.s.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=5 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe.s f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=4 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.s.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=4 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.s.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=4 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs.a f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=A hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.a.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=A hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.a.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=A hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd.a f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=B hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.a.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=B hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.a.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=B hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8.a f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=9 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.a.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=9 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.a.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=9 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe.a f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=8 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.a.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=8 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.a.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=8 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs.sa f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=E hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.sa.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=E hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.sa.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=E hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd.sa f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=F hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.sa.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=F hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.sa.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=F hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8.sa f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=D hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.sa.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=D hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.sa.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=D hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe.sa f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=C hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.sa.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=C hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.sa.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=C hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf.fill f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1B hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf.fill.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1B hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf.fill.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1B hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs.c.clr f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=22 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.c.clr.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=22 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.c.clr.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=22 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd.c.clr f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=23 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.c.clr.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=23 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.c.clr.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=23 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8.c.clr f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=21 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.c.clr.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=21 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.c.clr.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=21 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe.c.clr f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=20 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.c.clr.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=20 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.c.clr.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=20 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfs.c.nc f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=26 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfs.c.nc.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=26 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfs.c.nc.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=26 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfd.c.nc f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=27 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfd.c.nc.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=27 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfd.c.nc.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=27 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldf8.c.nc f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=25 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldf8.c.nc.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=25 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldf8.c.nc.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=25 hint{29:28}=3; 0x5 / ArchRev0 +M8 ldfe.c.nc f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=24 hint{29:28}=0; 0x5 / ArchRev0 +M8 ldfe.c.nc.nt1 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=24 hint{29:28}=1; 0x5 / ArchRev0 +M8 ldfe.c.nc.nta f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=24 hint{29:28}=3; 0x5 / ArchRev0 +M9 stfs [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=0; 0x9 / ArchRev0 +M9 stfs.nta [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=3; 0x9 / ArchRev0 +M9 stfd [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=0; 0x9 / ArchRev0 +M9 stfd.nta [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=3; 0x9 / ArchRev0 +M9 stf8 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=0; 0x9 / ArchRev0 +M9 stf8.nta [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=3; 0x9 / ArchRev0 +M9 stfe [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=0; 0x9 / ArchRev0 +M9 stfe.nta [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=3; 0x9 / ArchRev0 +M9 stf.spill [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=0; 0x9 / ArchRev0 +M9 stf.spill.nta [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=3; 0x9 / ArchRev0 +M10 stfs [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=32 hint{29:28}=0; 0x9 / ArchRev0 +M10 stfs.nta [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=32 hint{29:28}=3; 0x9 / ArchRev0 +M10 stfd [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=33 hint{29:28}=0; 0x9 / ArchRev0 +M10 stfd.nta [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=33 hint{29:28}=3; 0x9 / ArchRev0 +M10 stf8 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=31 hint{29:28}=0; 0x9 / ArchRev0 +M10 stf8.nta [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=31 hint{29:28}=3; 0x9 / ArchRev0 +M10 stfe [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=30 hint{29:28}=0; 0x9 / ArchRev0 +M10 stfe.nta [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=30 hint{29:28}=3; 0x9 / ArchRev0 +M10 stf.spill [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=3B hint{29:28}=0; 0x9 / ArchRev0 +M10 stf.spill.nta [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=3B hint{29:28}=3; 0x9 / ArchRev0 +M11 ldfps f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfps.s f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.s.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.s.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd.s f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.s.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.s.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8.s f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.s.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.s.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfps.a f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.a.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.a.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd.a f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.a.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.a.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8.a f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.a.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.a.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfps.sa f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=E hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.sa.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=E hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.sa.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=E hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd.sa f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=F hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.sa.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=F hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.sa.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=F hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8.sa f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=D hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.sa.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=D hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.sa.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=D hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfps.c.clr f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=22 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.c.clr.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=22 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.c.clr.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=22 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd.c.clr f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=23 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.c.clr.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=23 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.c.clr.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=23 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8.c.clr f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=21 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.c.clr.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=21 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.c.clr.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=21 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfps.c.nc f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=26 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfps.c.nc.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=26 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfps.c.nc.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=26 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfpd.c.nc f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=27 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfpd.c.nc.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=27 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfpd.c.nc.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=27 hint{29:28}=3; 0x805 / ArchRev0 +M11 ldfp8.c.nc f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=25 hint{29:28}=0; 0x805 / ArchRev0 +M11 ldfp8.c.nc.nt1 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=25 hint{29:28}=1; 0x805 / ArchRev0 +M11 ldfp8.c.nc.nta f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=25 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps.s f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=6 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.s.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=6 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.s.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=6 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd.s f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=7 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.s.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=7 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.s.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=7 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8.s f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=5 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.s.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=5 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.s.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=5 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps.a f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=A hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.a.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=A hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.a.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=A hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd.a f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=B hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.a.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=B hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.a.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=B hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8.a f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=9 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.a.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=9 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.a.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=9 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps.sa f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=E hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.sa.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=E hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.sa.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=E hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd.sa f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=F hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.sa.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=F hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.sa.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=F hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8.sa f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=D hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.sa.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=D hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.sa.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=D hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps.c.clr f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=22 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.c.clr.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=22 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.c.clr.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=22 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd.c.clr f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=23 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.c.clr.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=23 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.c.clr.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=23 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8.c.clr f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=21 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.c.clr.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=21 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.c.clr.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=21 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfps.c.nc f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=26 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfps.c.nc.nt1 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=26 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfps.c.nc.nta f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=26 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfpd.c.nc f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=27 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfpd.c.nc.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=27 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfpd.c.nc.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=27 hint{29:28}=3; 0x805 / ArchRev0 +M12 ldfp8.c.nc f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=25 hint{29:28}=0; 0x805 / ArchRev0 +M12 ldfp8.c.nc.nt1 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=25 hint{29:28}=1; 0x805 / ArchRev0 +M12 ldfp8.c.nc.nta f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=25 hint{29:28}=3; 0x805 / ArchRev0 +M13 lfetch [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2C hint{29:28}=0; 0x5 / ArchRev0 +M13 lfetch.nt1 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2C hint{29:28}=1; 0x5 / ArchRev0 +M13 lfetch.nt2 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2C hint{29:28}=2; 0x5 / ArchRev0 +M13 lfetch.nta [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2C hint{29:28}=3; 0x5 / ArchRev0 +M13 lfetch.excl [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2D hint{29:28}=0; 0x5 / ArchRev0 +M13 lfetch.excl.nt1 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2D hint{29:28}=1; 0x5 / ArchRev0 +M13 lfetch.excl.nt2 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2D hint{29:28}=2; 0x5 / ArchRev0 +M13 lfetch.excl.nta [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2D hint{29:28}=3; 0x5 / ArchRev0 +M13 lfetch.fault [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2E hint{29:28}=0; 0x5 / ArchRev0 +M13 lfetch.fault.nt1 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2E hint{29:28}=1; 0x5 / ArchRev0 +M13 lfetch.fault.nt2 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2E hint{29:28}=2; 0x5 / ArchRev0 +M13 lfetch.fault.nta [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2E hint{29:28}=3; 0x5 / ArchRev0 +M13 lfetch.fault.excl [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2F hint{29:28}=0; 0x5 / ArchRev0 +M13 lfetch.fault.excl.nt1 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2F hint{29:28}=1; 0x5 / ArchRev0 +M13 lfetch.fault.excl.nt2 [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2F hint{29:28}=2; 0x5 / ArchRev0 +M13 lfetch.fault.excl.nta [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2F hint{29:28}=3; 0x5 / ArchRev0 +M14 lfetch [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2C hint{29:28}=0; 0x5 / ArchRev0 +M14 lfetch.nt1 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2C hint{29:28}=1; 0x5 / ArchRev0 +M14 lfetch.nt2 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2C hint{29:28}=2; 0x5 / ArchRev0 +M14 lfetch.nta [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2C hint{29:28}=3; 0x5 / ArchRev0 +M14 lfetch.excl [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2D hint{29:28}=0; 0x5 / ArchRev0 +M14 lfetch.excl.nt1 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2D hint{29:28}=1; 0x5 / ArchRev0 +M14 lfetch.excl.nt2 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2D hint{29:28}=2; 0x5 / ArchRev0 +M14 lfetch.excl.nta [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2D hint{29:28}=3; 0x5 / ArchRev0 +M14 lfetch.fault [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2E hint{29:28}=0; 0x5 / ArchRev0 +M14 lfetch.fault.nt1 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2E hint{29:28}=1; 0x5 / ArchRev0 +M14 lfetch.fault.nt2 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2E hint{29:28}=2; 0x5 / ArchRev0 +M14 lfetch.fault.nta [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2E hint{29:28}=3; 0x5 / ArchRev0 +M14 lfetch.fault.excl [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2F hint{29:28}=0; 0x5 / ArchRev0 +M14 lfetch.fault.excl.nt1 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2F hint{29:28}=1; 0x5 / ArchRev0 +M14 lfetch.fault.excl.nt2 [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2F hint{29:28}=2; 0x5 / ArchRev0 +M14 lfetch.fault.excl.nta [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2F hint{29:28}=3; 0x5 / ArchRev0 +M15 lfetch [r3], imm9 : op{40:37}=7 x6{35:30}=2C hint{29:28}=0; 0x5 / ArchRev0 +M15 lfetch.nt1 [r3], imm9 : op{40:37}=7 x6{35:30}=2C hint{29:28}=1; 0x5 / ArchRev0 +M15 lfetch.nt2 [r3], imm9 : op{40:37}=7 x6{35:30}=2C hint{29:28}=2; 0x5 / ArchRev0 +M15 lfetch.nta [r3], imm9 : op{40:37}=7 x6{35:30}=2C hint{29:28}=3; 0x5 / ArchRev0 +M15 lfetch.excl [r3], imm9 : op{40:37}=7 x6{35:30}=2D hint{29:28}=0; 0x5 / ArchRev0 +M15 lfetch.excl.nt1 [r3], imm9 : op{40:37}=7 x6{35:30}=2D hint{29:28}=1; 0x5 / ArchRev0 +M15 lfetch.excl.nt2 [r3], imm9 : op{40:37}=7 x6{35:30}=2D hint{29:28}=2; 0x5 / ArchRev0 +M15 lfetch.excl.nta [r3], imm9 : op{40:37}=7 x6{35:30}=2D hint{29:28}=3; 0x5 / ArchRev0 +M15 lfetch.fault [r3], imm9 : op{40:37}=7 x6{35:30}=2E hint{29:28}=0; 0x5 / ArchRev0 +M15 lfetch.fault.nt1 [r3], imm9 : op{40:37}=7 x6{35:30}=2E hint{29:28}=1; 0x5 / ArchRev0 +M15 lfetch.fault.nt2 [r3], imm9 : op{40:37}=7 x6{35:30}=2E hint{29:28}=2; 0x5 / ArchRev0 +M15 lfetch.fault.nta [r3], imm9 : op{40:37}=7 x6{35:30}=2E hint{29:28}=3; 0x5 / ArchRev0 +M15 lfetch.fault.excl [r3], imm9 : op{40:37}=7 x6{35:30}=2F hint{29:28}=0; 0x5 / ArchRev0 +M15 lfetch.fault.excl.nt1 [r3], imm9 : op{40:37}=7 x6{35:30}=2F hint{29:28}=1; 0x5 / ArchRev0 +M15 lfetch.fault.excl.nt2 [r3], imm9 : op{40:37}=7 x6{35:30}=2F hint{29:28}=2; 0x5 / ArchRev0 +M15 lfetch.fault.excl.nta [r3], imm9 : op{40:37}=7 x6{35:30}=2F hint{29:28}=3; 0x5 / ArchRev0 +M16 cmpxchg1.acq r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=0 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg1.acq.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=0 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg1.acq.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=0 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg2.acq r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg2.acq.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg2.acq.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg4.acq r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg4.acq.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg4.acq.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg8.acq r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg8.acq.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg8.acq.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg1.rel r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=4 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg1.rel.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=4 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg1.rel.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=4 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg2.rel r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg2.rel.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg2.rel.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg4.rel r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg4.rel.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg4.rel.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=3; 0xd / ArchRev0 +M16 cmpxchg8.rel r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=0; 0xd / ArchRev0 +M16 cmpxchg8.rel.nt1 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=1; 0xd / ArchRev0 +M16 cmpxchg8.rel.nta r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=3; 0xd / ArchRev0 +M16 cmp8xchg16.acq r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=20 hint{29:28}=0; 0xd / Impl_AtomicOps +M16 cmp8xchg16.acq.nt1 r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=20 hint{29:28}=1; 0xd / Impl_AtomicOps +M16 cmp8xchg16.acq.nta r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=20 hint{29:28}=3; 0xd / Impl_AtomicOps +M16 cmp8xchg16.rel r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=24 hint{29:28}=0; 0xd / Impl_AtomicOps +M16 cmp8xchg16.rel.nt1 r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=24 hint{29:28}=1; 0xd / Impl_AtomicOps +M16 cmp8xchg16.rel.nta r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=24 hint{29:28}=3; 0xd / Impl_AtomicOps +M16 xchg1 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=8 hint{29:28}=0; 0xd / ArchRev0 +M16 xchg1.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=8 hint{29:28}=1; 0xd / ArchRev0 +M16 xchg1.nta r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=8 hint{29:28}=3; 0xd / ArchRev0 +M16 xchg2 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=0; 0xd / ArchRev0 +M16 xchg2.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=1; 0xd / ArchRev0 +M16 xchg2.nta r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=3; 0xd / ArchRev0 +M16 xchg4 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=0; 0xd / ArchRev0 +M16 xchg4.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=1; 0xd / ArchRev0 +M16 xchg4.nta r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=3; 0xd / ArchRev0 +M16 xchg8 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=0; 0xd / ArchRev0 +M16 xchg8.nt1 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=1; 0xd / ArchRev0 +M16 xchg8.nta r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=3; 0xd / ArchRev0 +M17 fetchadd4.acq r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=12 hint{29:28}=0; 0xd / ArchRev0 +M17 fetchadd4.acq.nt1 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=12 hint{29:28}=1; 0xd / ArchRev0 +M17 fetchadd4.acq.nta r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=12 hint{29:28}=3; 0xd / ArchRev0 +M17 fetchadd8.acq r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=13 hint{29:28}=0; 0xd / ArchRev0 +M17 fetchadd8.acq.nt1 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=13 hint{29:28}=1; 0xd / ArchRev0 +M17 fetchadd8.acq.nta r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=13 hint{29:28}=3; 0xd / ArchRev0 +M17 fetchadd4.rel r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=16 hint{29:28}=0; 0xd / ArchRev0 +M17 fetchadd4.rel.nt1 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=16 hint{29:28}=1; 0xd / ArchRev0 +M17 fetchadd4.rel.nta r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=16 hint{29:28}=3; 0xd / ArchRev0 +M17 fetchadd8.rel r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=17 hint{29:28}=0; 0xd / ArchRev0 +M17 fetchadd8.rel.nt1 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=17 hint{29:28}=1; 0xd / ArchRev0 +M17 fetchadd8.rel.nta r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=17 hint{29:28}=3; 0xd / ArchRev0 +M18 setf.sig f1 = r2 : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1C; 0x1 / ArchRev0 +M18 setf.exp f1 = r2 : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1D; 0x1 / ArchRev0 +M18 setf.s f1 = r2 : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1E; 0x1 / ArchRev0 +M18 setf.d f1 = r2 : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1F; 0x1 / ArchRev0 +M19 getf.sig r1 = f2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1C; 0x1 / ArchRev0 +M19 getf.exp r1 = f2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1D; 0x1 / ArchRev0 +M19 getf.s r1 = f2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1E; 0x1 / ArchRev0 +M19 getf.d r1 = f2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1F; 0x1 / ArchRev0 +M20 chk.s.m r2, target25 : op{40:37}=1 x3{35:33}=1; 0x1 / ArchRev0 +M21 chk.s f2, target25 : op{40:37}=1 x3{35:33}=3; 0x1 / ArchRev0 +M22 chk.a.nc r1, target25 : op{40:37}=0 x3{35:33}=4; 0x1 / ArchRev0 +M22 chk.a.clr r1, target25 : op{40:37}=0 x3{35:33}=5; 0x1 / ArchRev0 +M23 chk.a.nc f1, target25 : op{40:37}=0 x3{35:33}=6; 0x1 / ArchRev0 +M23 chk.a.clr f1, target25 : op{40:37}=0 x3{35:33}=7; 0x1 / ArchRev0 +M24 invala : op{40:37}=0 x3{35:33}=0 x4{30:27}=0 x2{32:31}=1; 0x1 / ArchRev0 +M24 fwb : op{40:37}=0 x3{35:33}=0 x4{30:27}=0 x2{32:31}=2; 0x1 / ArchRev0 +M24 mf : op{40:37}=0 x3{35:33}=0 x4{30:27}=2 x2{32:31}=2; 0x1 / ArchRev0 +M24 mf.a : op{40:37}=0 x3{35:33}=0 x4{30:27}=3 x2{32:31}=2; 0x1 / ArchRev0 +M24 srlz.d : op{40:37}=0 x3{35:33}=0 x4{30:27}=0 x2{32:31}=3; 0x1 / ArchRev0 +M24 srlz.i : op{40:37}=0 x3{35:33}=0 x4{30:27}=1 x2{32:31}=3; 0x1 / ArchRev0 +M24 sync.i : op{40:37}=0 x3{35:33}=0 x4{30:27}=3 x2{32:31}=3; 0x1 / ArchRev0 +M25 flushrs : op{40:37}=0 x3{35:33}=0 x4{30:27}=C x2{32:31}=0; 0x28 / ArchRev0 +M25 loadrs : op{40:37}=0 x3{35:33}=0 x4{30:27}=A x2{32:31}=0; 0x24 / ArchRev0 +M26 invala.e r1 : op{40:37}=0 x3{35:33}=0 x4{30:27}=2 x2{32:31}=1; 0x1 / ArchRev0 +M27 invala.e f1 : op{40:37}=0 x3{35:33}=0 x4{30:27}=3 x2{32:31}=1; 0x1 / ArchRev0 +M28 fc r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=30 x{36}=0; 0x1 / ArchRev0 +M28 fc.i r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=30 x{36}=1; 0x1 / ArchRev0 +M29 mov.m ar3 = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2A; 0x1 / ArchRev0 +M30 mov.m ar3 = imm8 : op{40:37}=0 x3{35:33}=0 x4{30:27}=8 x2{32:31}=2; 0x1 / ArchRev0 +M31 mov.m r1 = ar3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=22; 0x1 / ArchRev0 +M32 mov cr3 = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2C; 0x3 / ArchRev0 +M33 mov r1 = cr3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=24; 0x3 / ArchRev0 +M34 alloc r1 = ar.pfs, i, l, o, r : op{40:37}=1 x3{35:33}=6; 0x21 / ArchRev0 +M35 mov psr.l = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2D; 0x3 / ArchRev0 +M35 mov psr.um = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=29; 0x1 / ArchRev0 +M36 mov r1 = psr : op{40:37}=1 x3{35:33}=0 x6{32:27}=25; 0x3 / ArchRev0 +M36 mov r1 = psr.um : op{40:37}=1 x3{35:33}=0 x6{32:27}=21; 0x1 / ArchRev0 +M37 break.m imm21 : op{40:37}=0 x3{35:33}=0 x4{30:27}=0 x2{32:31}=0; 0x1 / ArchRev0 +M38 probe.r r1 = r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=38; 0x1 / ArchRev0 +M38 probe.w r1 = r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=39; 0x1 / ArchRev0 +M39 probe.r r1 = r3, imm2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=18; 0x1 / ArchRev0 +M39 probe.w r1 = r3, imm2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=19; 0x1 / ArchRev0 +M40 probe.rw.fault r3, imm2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=31; 0x1 / ArchRev0 +M40 probe.r.fault r3, imm2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=32; 0x1 / ArchRev0 +M40 probe.w.fault r3, imm2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=33; 0x1 / ArchRev0 +M41 itc.d r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2E; 0x43 / ArchRev0 +M41 itc.i r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2F; 0x43 / ArchRev0 +M42 mov rr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=0; 0x3 / ArchRev0 +M42 mov dbr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=1; 0x3 / ArchRev0 +M42 mov ibr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=2; 0x3 / ArchRev0 +M42 mov pkr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=3; 0x3 / ArchRev0 +M42 mov pmc[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=4; 0x3 / ArchRev0 +M42 mov pmd[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=5; 0x3 / ArchRev0 +M42 itr.d dtr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=E; 0x3 / ArchRev0 +M42 itr.i itr[r3] = r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=F; 0x3 / ArchRev0 +M43 mov r1 = rr[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=10; 0x3 / ArchRev0 +M43 mov r1 = dbr[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=11; 0x3 / ArchRev0 +M43 mov r1 = ibr[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=12; 0x3 / ArchRev0 +M43 mov r1 = pkr[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=13; 0x3 / ArchRev0 +M43 mov r1 = pmc[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=14; 0x3 / ArchRev0 +M43 mov r1 = pmd[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=15; 0x1 / ArchRev0 +M43 mov r1 = cpuid[r3] : op{40:37}=1 x3{35:33}=0 x6{32:27}=17; 0x1 / ArchRev0 +M44 sum imm24 : op{40:37}=0 x3{35:33}=0 x4{30:27}=4; 0x1 / ArchRev0 +M44 rum imm24 : op{40:37}=0 x3{35:33}=0 x4{30:27}=5; 0x1 / ArchRev0 +M44 ssm imm24 : op{40:37}=0 x3{35:33}=0 x4{30:27}=6; 0x3 / ArchRev0 +M44 rsm imm24 : op{40:37}=0 x3{35:33}=0 x4{30:27}=7; 0x3 / ArchRev0 +M45 ptc.l r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=9; 0x3 / ArchRev0 +M45 ptc.g r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=A; 0x43 / ArchRev0 +M45 ptc.ga r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=B; 0x43 / ArchRev0 +M45 ptr.d r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=C; 0x3 / ArchRev0 +M45 ptr.i r3, r2 : op{40:37}=1 x3{35:33}=0 x6{32:27}=D; 0x3 / ArchRev0 +M46 thash r1 = r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=1A; 0x1 / ArchRev0 +M46 ttag r1 = r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=1B; 0x1 / ArchRev0 +M46 tpa r1 = r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=1E; 0x3 / ArchRev0 +M46 tak r1 = r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=1F; 0x3 / ArchRev0 +M47 ptc.e r3 : op{40:37}=1 x3{35:33}=0 x6{32:27}=34; 0x3 / ArchRev0 +M48 nop.m imm21 : op{40:37}=0 x3{35:33}=0 x4{30:27}=1 x2{32:31}=0 y{26}=0; 0x1 / ArchRev0 +M48 hint.m imm21 : op{40:37}=0 x3{35:33}=0 x4{30:27}=1 x2{32:31}=0 y{26}=1; 0x1 / ArchRev0 +B1 br.cond.sptk.few target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.sptk.many target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.spnt.few target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.spnt.many target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.dptk.few target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.dptk.many target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.dpnt.few target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.dpnt.many target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B1 br.cond.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B1 br.cond.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B1 br.wexit.sptk.few target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=0 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.sptk.many target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=0 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.spnt.few target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=1 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.spnt.many target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=1 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.dptk.few target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=2 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.dptk.many target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=2 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.dpnt.few target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=3 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.dpnt.many target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=3 d{35}=0; 0x10101 / ArchRev0 +B1 br.wexit.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=0 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=0 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=1 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=1 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=2 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=2 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=0 wh{34:33}=3 d{35}=1; 0x10101 / ArchRev0 +B1 br.wexit.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=2 p{12}=1 wh{34:33}=3 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.sptk.few target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=0 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.sptk.many target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=0 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.spnt.few target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=1 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.spnt.many target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=1 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.dptk.few target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=2 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.dptk.many target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=2 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.dpnt.few target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=3 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.dpnt.many target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=3 d{35}=0; 0x10101 / ArchRev0 +B1 br.wtop.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=0 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=0 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=1 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=1 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=2 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=2 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=0 wh{34:33}=3 d{35}=1; 0x10101 / ArchRev0 +B1 br.wtop.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=3 p{12}=1 wh{34:33}=3 d{35}=1; 0x10101 / ArchRev0 +B2 br.cloop.sptk.few target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.sptk.many target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.spnt.few target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.spnt.many target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.dptk.few target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.dptk.many target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.dpnt.few target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.dpnt.many target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.cloop.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=0 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B2 br.cloop.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=5 p{12}=1 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.sptk.few target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.sptk.many target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.spnt.few target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.spnt.many target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.dptk.few target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.dptk.many target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.dpnt.few target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.dpnt.many target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.cexit.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=0 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B2 br.cexit.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=6 p{12}=1 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.sptk.few target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.sptk.many target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=0 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.spnt.few target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.spnt.many target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=1 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.dptk.few target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.dptk.many target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=2 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.dpnt.few target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.dpnt.many target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=3 d{35}=0; 0x10100 / ArchRev0 +B2 br.ctop.sptk.few.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.sptk.many.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=0 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.spnt.few.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.spnt.many.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=1 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.dptk.few.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.dptk.many.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=2 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.dpnt.few.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=0 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B2 br.ctop.dpnt.many.clr target25 : op{40:37}=4 btype{8:6}=7 p{12}=1 wh{34:33}=3 d{35}=1; 0x10100 / ArchRev0 +B3 br.call.sptk.few b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.sptk.many b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.spnt.few b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.spnt.many b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.dptk.few b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.dptk.many b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.dpnt.few b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.dpnt.many b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B3 br.call.sptk.few.clr b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.sptk.many.clr b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.spnt.few.clr b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.spnt.many.clr b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.dptk.few.clr b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.dptk.many.clr b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.dpnt.few.clr b1 = target25 : op{40:37}=5 p{12}=0 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B3 br.call.dpnt.many.clr b1 = target25 : op{40:37}=5 p{12}=1 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.sptk.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.sptk.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.spnt.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.spnt.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.dptk.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.dptk.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.dpnt.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.dpnt.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.cond.sptk.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.sptk.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.spnt.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.spnt.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.dptk.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.dptk.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.dpnt.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.cond.dpnt.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.sptk.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.sptk.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.spnt.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.spnt.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.dptk.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.dptk.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.dpnt.few b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.dpnt.many b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.ia.sptk.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.sptk.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.spnt.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.spnt.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.dptk.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.dptk.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.dpnt.few.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=0 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.ia.dpnt.many.clr b2 : op{40:37}=0 x6{32:27}=20 btype{8:6}=1 p{12}=1 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.sptk.few b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.sptk.many b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=0 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.spnt.few b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.spnt.many b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=1 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.dptk.few b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.dptk.many b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=2 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.dpnt.few b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.dpnt.many b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=3 d{35}=0; 0x10001 / ArchRev0 +B4 br.ret.sptk.few.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.sptk.many.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=0 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.spnt.few.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.spnt.many.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=1 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.dptk.few.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.dptk.many.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=2 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.dpnt.few.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=0 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B4 br.ret.dpnt.many.clr b2 : op{40:37}=0 x6{32:27}=21 btype{8:6}=4 p{12}=1 wh{34:33}=3 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.sptk.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=1 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.sptk.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=1 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.spnt.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=3 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.spnt.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=3 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.dptk.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=5 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.dptk.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=5 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.dpnt.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=7 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.dpnt.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=7 d{35}=0; 0x10001 / ArchRev0 +B5 br.call.sptk.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=1 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.sptk.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=1 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.spnt.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=3 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.spnt.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=3 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.dptk.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=5 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.dptk.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=5 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.dpnt.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=7 d{35}=1; 0x10001 / ArchRev0 +B5 br.call.dpnt.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=7 d{35}=1; 0x10001 / ArchRev0 +B6 brp.sptk target25, tag13 : op{40:37}=7 ih{35}=0 wh{4:3}=0; 0x0 / ArchRev0 +B6 brp.sptk.imp target25, tag13 : op{40:37}=7 ih{35}=1 wh{4:3}=0; 0x0 / ArchRev0 +B6 brp.loop target25, tag13 : op{40:37}=7 ih{35}=0 wh{4:3}=1; 0x0 / ArchRev0 +B6 brp.loop.imp target25, tag13 : op{40:37}=7 ih{35}=1 wh{4:3}=1; 0x0 / ArchRev0 +B6 brp.dptk target25, tag13 : op{40:37}=7 ih{35}=0 wh{4:3}=2; 0x0 / ArchRev0 +B6 brp.dptk.imp target25, tag13 : op{40:37}=7 ih{35}=1 wh{4:3}=2; 0x0 / ArchRev0 +B6 brp.exit target25, tag13 : op{40:37}=7 ih{35}=0 wh{4:3}=3; 0x0 / ArchRev0 +B6 brp.exit.imp target25, tag13 : op{40:37}=7 ih{35}=1 wh{4:3}=3; 0x0 / ArchRev0 +B7 brp.sptk b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=0 wh{4:3}=0; 0x0 / ArchRev0 +B7 brp.sptk.imp b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=1 wh{4:3}=0; 0x0 / ArchRev0 +B7 brp.dptk b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=0 wh{4:3}=2; 0x0 / ArchRev0 +B7 brp.dptk.imp b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=1 wh{4:3}=2; 0x0 / ArchRev0 +B7 brp.ret.sptk b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=0 wh{4:3}=0; 0x0 / ArchRev0 +B7 brp.ret.sptk.imp b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=1 wh{4:3}=0; 0x0 / ArchRev0 +B7 brp.ret.dptk b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=0 wh{4:3}=2; 0x0 / ArchRev0 +B7 brp.ret.dptk.imp b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=1 wh{4:3}=2; 0x0 / ArchRev0 +B8 cover : op{40:37}=0 x6{32:27}=2; 0x40 / ArchRev0 +B8 clrrrb : op{40:37}=0 x6{32:27}=4; 0x40 / ArchRev0 +B8 clrrrb.pr : op{40:37}=0 x6{32:27}=5; 0x40 / ArchRev0 +B8 rfi : op{40:37}=0 x6{32:27}=8; 0x10042 / ArchRev0 +B8 bsw.0 : op{40:37}=0 x6{32:27}=C; 0x42 / ArchRev0 +B8 bsw.1 : op{40:37}=0 x6{32:27}=D; 0x42 / ArchRev0 +B8 epc : op{40:37}=0 x6{32:27}=10; 0x0 / ArchRev0 +B9 break.b imm21 : op{40:37}=0 x6{32:27}=0; 0x10001 / ArchRev0 +B9 nop.b imm21 : op{40:37}=2 x6{32:27}=0; 0x1 / ArchRev0 +B9 hint.b imm21 : op{40:37}=2 x6{32:27}=1; 0x1 / ArchRev0 +F1 fma.s0 f1 = f3, f4, f2 : op{40:37}=8 x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fma.s1 f1 = f3, f4, f2 : op{40:37}=8 x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fma.s2 f1 = f3, f4, f2 : op{40:37}=8 x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fma.s3 f1 = f3, f4, f2 : op{40:37}=8 x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fma.s.s0 f1 = f3, f4, f2 : op{40:37}=8 x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fma.s.s1 f1 = f3, f4, f2 : op{40:37}=8 x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fma.s.s2 f1 = f3, f4, f2 : op{40:37}=8 x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fma.s.s3 f1 = f3, f4, f2 : op{40:37}=8 x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F1 fma.d.s0 f1 = f3, f4, f2 : op{40:37}=9 x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fma.d.s1 f1 = f3, f4, f2 : op{40:37}=9 x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fma.d.s2 f1 = f3, f4, f2 : op{40:37}=9 x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fma.d.s3 f1 = f3, f4, f2 : op{40:37}=9 x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fpma.s0 f1 = f3, f4, f2 : op{40:37}=9 x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fpma.s1 f1 = f3, f4, f2 : op{40:37}=9 x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fpma.s2 f1 = f3, f4, f2 : op{40:37}=9 x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fpma.s3 f1 = f3, f4, f2 : op{40:37}=9 x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F1 fms.s0 f1 = f3, f4, f2 : op{40:37}=A x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fms.s1 f1 = f3, f4, f2 : op{40:37}=A x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fms.s2 f1 = f3, f4, f2 : op{40:37}=A x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fms.s3 f1 = f3, f4, f2 : op{40:37}=A x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fms.s.s0 f1 = f3, f4, f2 : op{40:37}=A x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fms.s.s1 f1 = f3, f4, f2 : op{40:37}=A x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fms.s.s2 f1 = f3, f4, f2 : op{40:37}=A x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fms.s.s3 f1 = f3, f4, f2 : op{40:37}=A x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F1 fms.d.s0 f1 = f3, f4, f2 : op{40:37}=B x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fms.d.s1 f1 = f3, f4, f2 : op{40:37}=B x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fms.d.s2 f1 = f3, f4, f2 : op{40:37}=B x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fms.d.s3 f1 = f3, f4, f2 : op{40:37}=B x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fpms.s0 f1 = f3, f4, f2 : op{40:37}=B x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fpms.s1 f1 = f3, f4, f2 : op{40:37}=B x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fpms.s2 f1 = f3, f4, f2 : op{40:37}=B x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fpms.s3 f1 = f3, f4, f2 : op{40:37}=B x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F1 fnma.s0 f1 = f3, f4, f2 : op{40:37}=C x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fnma.s1 f1 = f3, f4, f2 : op{40:37}=C x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fnma.s2 f1 = f3, f4, f2 : op{40:37}=C x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fnma.s3 f1 = f3, f4, f2 : op{40:37}=C x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fnma.s.s0 f1 = f3, f4, f2 : op{40:37}=C x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fnma.s.s1 f1 = f3, f4, f2 : op{40:37}=C x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fnma.s.s2 f1 = f3, f4, f2 : op{40:37}=C x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fnma.s.s3 f1 = f3, f4, f2 : op{40:37}=C x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F1 fnma.d.s0 f1 = f3, f4, f2 : op{40:37}=D x{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F1 fnma.d.s1 f1 = f3, f4, f2 : op{40:37}=D x{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F1 fnma.d.s2 f1 = f3, f4, f2 : op{40:37}=D x{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F1 fnma.d.s3 f1 = f3, f4, f2 : op{40:37}=D x{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F1 fpnma.s0 f1 = f3, f4, f2 : op{40:37}=D x{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F1 fpnma.s1 f1 = f3, f4, f2 : op{40:37}=D x{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F1 fpnma.s2 f1 = f3, f4, f2 : op{40:37}=D x{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F1 fpnma.s3 f1 = f3, f4, f2 : op{40:37}=D x{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F2 xma.l f1 = f3, f4, f2 : op{40:37}=E x{36}=1 x2{35:34}=0; 0x1 / ArchRev0 +F2 xma.h f1 = f3, f4, f2 : op{40:37}=E x{36}=1 x2{35:34}=3; 0x1 / ArchRev0 +F2 xma.hu f1 = f3, f4, f2 : op{40:37}=E x{36}=1 x2{35:34}=2; 0x1 / ArchRev0 +F3 fselect f1 = f3, f4, f2 : op{40:37}=E x{36}=0; 0x1 / ArchRev0 +F4 fcmp.eq.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=0 sf{35:34}=0; 0x81 / ArchRev0 +F4 fcmp.eq.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=0 sf{35:34}=1; 0x81 / ArchRev0 +F4 fcmp.eq.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=0 sf{35:34}=2; 0x81 / ArchRev0 +F4 fcmp.eq.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=0 sf{35:34}=3; 0x81 / ArchRev0 +F4 fcmp.lt.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=0 sf{35:34}=0; 0x81 / ArchRev0 +F4 fcmp.lt.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=0 sf{35:34}=1; 0x81 / ArchRev0 +F4 fcmp.lt.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=0 sf{35:34}=2; 0x81 / ArchRev0 +F4 fcmp.lt.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=0 sf{35:34}=3; 0x81 / ArchRev0 +F4 fcmp.le.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=0 sf{35:34}=0; 0x81 / ArchRev0 +F4 fcmp.le.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=0 sf{35:34}=1; 0x81 / ArchRev0 +F4 fcmp.le.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=0 sf{35:34}=2; 0x81 / ArchRev0 +F4 fcmp.le.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=0 sf{35:34}=3; 0x81 / ArchRev0 +F4 fcmp.unord.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=0 sf{35:34}=0; 0x81 / ArchRev0 +F4 fcmp.unord.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=0 sf{35:34}=1; 0x81 / ArchRev0 +F4 fcmp.unord.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=0 sf{35:34}=2; 0x81 / ArchRev0 +F4 fcmp.unord.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=0 sf{35:34}=3; 0x81 / ArchRev0 +F4 fcmp.eq.unc.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=1 sf{35:34}=0; 0x1081 / ArchRev0 +F4 fcmp.eq.unc.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=1 sf{35:34}=1; 0x1081 / ArchRev0 +F4 fcmp.eq.unc.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=1 sf{35:34}=2; 0x1081 / ArchRev0 +F4 fcmp.eq.unc.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=0 ta{12}=1 sf{35:34}=3; 0x1081 / ArchRev0 +F4 fcmp.lt.unc.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=1 sf{35:34}=0; 0x1081 / ArchRev0 +F4 fcmp.lt.unc.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=1 sf{35:34}=1; 0x1081 / ArchRev0 +F4 fcmp.lt.unc.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=1 sf{35:34}=2; 0x1081 / ArchRev0 +F4 fcmp.lt.unc.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=0 rb{36}=1 ta{12}=1 sf{35:34}=3; 0x1081 / ArchRev0 +F4 fcmp.le.unc.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=1 sf{35:34}=0; 0x1081 / ArchRev0 +F4 fcmp.le.unc.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=1 sf{35:34}=1; 0x1081 / ArchRev0 +F4 fcmp.le.unc.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=1 sf{35:34}=2; 0x1081 / ArchRev0 +F4 fcmp.le.unc.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=0 ta{12}=1 sf{35:34}=3; 0x1081 / ArchRev0 +F4 fcmp.unord.unc.s0 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=1 sf{35:34}=0; 0x1081 / ArchRev0 +F4 fcmp.unord.unc.s1 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=1 sf{35:34}=1; 0x1081 / ArchRev0 +F4 fcmp.unord.unc.s2 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=1 sf{35:34}=2; 0x1081 / ArchRev0 +F4 fcmp.unord.unc.s3 p1, p2 = f2, f3 : op{40:37}=4 ra{33}=1 rb{36}=1 ta{12}=1 sf{35:34}=3; 0x1081 / ArchRev0 +F5 fclass.m p1, p2 = f2, fclass9 : op{40:37}=5 ta{12}=0; 0x81 / ArchRev0 +F5 fclass.m.unc p1, p2 = f2, fclass9 : op{40:37}=5 ta{12}=1; 0x1081 / ArchRev0 +F6 frcpa.s0 f1, p2 = f2, f3 : op{40:37}=0 x{33}=1 q{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F6 frcpa.s1 f1, p2 = f2, f3 : op{40:37}=0 x{33}=1 q{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F6 frcpa.s2 f1, p2 = f2, f3 : op{40:37}=0 x{33}=1 q{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F6 frcpa.s3 f1, p2 = f2, f3 : op{40:37}=0 x{33}=1 q{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F6 fprcpa.s0 f1, p2 = f2, f3 : op{40:37}=1 x{33}=1 q{36}=0 sf{35:34}=0; 0x1 / ArchRev0 +F6 fprcpa.s1 f1, p2 = f2, f3 : op{40:37}=1 x{33}=1 q{36}=0 sf{35:34}=1; 0x1 / ArchRev0 +F6 fprcpa.s2 f1, p2 = f2, f3 : op{40:37}=1 x{33}=1 q{36}=0 sf{35:34}=2; 0x1 / ArchRev0 +F6 fprcpa.s3 f1, p2 = f2, f3 : op{40:37}=1 x{33}=1 q{36}=0 sf{35:34}=3; 0x1 / ArchRev0 +F7 frsqrta.s0 f1, p2 = f3 : op{40:37}=0 x{33}=1 q{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F7 frsqrta.s1 f1, p2 = f3 : op{40:37}=0 x{33}=1 q{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F7 frsqrta.s2 f1, p2 = f3 : op{40:37}=0 x{33}=1 q{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F7 frsqrta.s3 f1, p2 = f3 : op{40:37}=0 x{33}=1 q{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F7 fprsqrta.s0 f1, p2 = f3 : op{40:37}=1 x{33}=1 q{36}=1 sf{35:34}=0; 0x1 / ArchRev0 +F7 fprsqrta.s1 f1, p2 = f3 : op{40:37}=1 x{33}=1 q{36}=1 sf{35:34}=1; 0x1 / ArchRev0 +F7 fprsqrta.s2 f1, p2 = f3 : op{40:37}=1 x{33}=1 q{36}=1 sf{35:34}=2; 0x1 / ArchRev0 +F7 fprsqrta.s3 f1, p2 = f3 : op{40:37}=1 x{33}=1 q{36}=1 sf{35:34}=3; 0x1 / ArchRev0 +F8 fmin.s0 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=14 sf{35:34}=0; 0x1 / ArchRev0 +F8 fmin.s1 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=14 sf{35:34}=1; 0x1 / ArchRev0 +F8 fmin.s2 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=14 sf{35:34}=2; 0x1 / ArchRev0 +F8 fmin.s3 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=14 sf{35:34}=3; 0x1 / ArchRev0 +F8 fmax.s0 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=15 sf{35:34}=0; 0x1 / ArchRev0 +F8 fmax.s1 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=15 sf{35:34}=1; 0x1 / ArchRev0 +F8 fmax.s2 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=15 sf{35:34}=2; 0x1 / ArchRev0 +F8 fmax.s3 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=15 sf{35:34}=3; 0x1 / ArchRev0 +F8 famin.s0 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=16 sf{35:34}=0; 0x1 / ArchRev0 +F8 famin.s1 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=16 sf{35:34}=1; 0x1 / ArchRev0 +F8 famin.s2 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=16 sf{35:34}=2; 0x1 / ArchRev0 +F8 famin.s3 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=16 sf{35:34}=3; 0x1 / ArchRev0 +F8 famax.s0 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=17 sf{35:34}=0; 0x1 / ArchRev0 +F8 famax.s1 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=17 sf{35:34}=1; 0x1 / ArchRev0 +F8 famax.s2 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=17 sf{35:34}=2; 0x1 / ArchRev0 +F8 famax.s3 f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=17 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpmin.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=14 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpmin.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=14 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpmin.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=14 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpmin.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=14 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpmax.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=15 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpmax.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=15 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpmax.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=15 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpmax.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=15 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpamin.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=16 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpamin.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=16 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpamin.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=16 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpamin.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=16 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpamax.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=17 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpamax.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=17 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpamax.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=17 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpamax.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=17 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.eq.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=30 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.eq.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=30 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.eq.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=30 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.eq.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=30 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.lt.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=31 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.lt.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=31 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.lt.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=31 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.lt.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=31 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.le.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=32 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.le.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=32 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.le.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=32 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.le.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=32 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.unord.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=33 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.unord.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=33 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.unord.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=33 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.unord.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=33 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.neq.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=34 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.neq.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=34 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.neq.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=34 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.neq.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=34 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.nlt.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=35 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.nlt.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=35 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.nlt.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=35 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.nlt.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=35 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.nle.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=36 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.nle.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=36 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.nle.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=36 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.nle.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=36 sf{35:34}=3; 0x1 / ArchRev0 +F8 fpcmp.ord.s0 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=37 sf{35:34}=0; 0x1 / ArchRev0 +F8 fpcmp.ord.s1 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=37 sf{35:34}=1; 0x1 / ArchRev0 +F8 fpcmp.ord.s2 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=37 sf{35:34}=2; 0x1 / ArchRev0 +F8 fpcmp.ord.s3 f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=37 sf{35:34}=3; 0x1 / ArchRev0 +F9 fmerge.s f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=10; 0x1 / ArchRev0 +F9 fmerge.ns f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=11; 0x1 / ArchRev0 +F9 fmerge.se f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=12; 0x1 / ArchRev0 +F9 fmix.lr f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=39; 0x1 / ArchRev0 +F9 fmix.r f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=3A; 0x1 / ArchRev0 +F9 fmix.l f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=3B; 0x1 / ArchRev0 +F9 fsxt.r f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=3C; 0x1 / ArchRev0 +F9 fsxt.l f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=3D; 0x1 / ArchRev0 +F9 fpack f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=28; 0x1 / ArchRev0 +F9 fswap f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=34; 0x1 / ArchRev0 +F9 fswap.nl f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=35; 0x1 / ArchRev0 +F9 fswap.nr f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=36; 0x1 / ArchRev0 +F9 fand f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=2C; 0x1 / ArchRev0 +F9 fandcm f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=2D; 0x1 / ArchRev0 +F9 for f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=2E; 0x1 / ArchRev0 +F9 fxor f1 = f2, f3 : op{40:37}=0 x{33}=0 x6{32:27}=2F; 0x1 / ArchRev0 +F9 fpmerge.s f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=10; 0x1 / ArchRev0 +F9 fpmerge.ns f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=11; 0x1 / ArchRev0 +F9 fpmerge.se f1 = f2, f3 : op{40:37}=1 x{33}=0 x6{32:27}=12; 0x1 / ArchRev0 +F10 fcvt.fx.s0 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=18 sf{35:34}=0; 0x1 / ArchRev0 +F10 fcvt.fx.s1 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=18 sf{35:34}=1; 0x1 / ArchRev0 +F10 fcvt.fx.s2 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=18 sf{35:34}=2; 0x1 / ArchRev0 +F10 fcvt.fx.s3 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=18 sf{35:34}=3; 0x1 / ArchRev0 +F10 fcvt.fxu.s0 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=19 sf{35:34}=0; 0x1 / ArchRev0 +F10 fcvt.fxu.s1 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=19 sf{35:34}=1; 0x1 / ArchRev0 +F10 fcvt.fxu.s2 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=19 sf{35:34}=2; 0x1 / ArchRev0 +F10 fcvt.fxu.s3 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=19 sf{35:34}=3; 0x1 / ArchRev0 +F10 fcvt.fx.trunc.s0 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1A sf{35:34}=0; 0x1 / ArchRev0 +F10 fcvt.fx.trunc.s1 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1A sf{35:34}=1; 0x1 / ArchRev0 +F10 fcvt.fx.trunc.s2 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1A sf{35:34}=2; 0x1 / ArchRev0 +F10 fcvt.fx.trunc.s3 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1A sf{35:34}=3; 0x1 / ArchRev0 +F10 fcvt.fxu.trunc.s0 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1B sf{35:34}=0; 0x1 / ArchRev0 +F10 fcvt.fxu.trunc.s1 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1B sf{35:34}=1; 0x1 / ArchRev0 +F10 fcvt.fxu.trunc.s2 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1B sf{35:34}=2; 0x1 / ArchRev0 +F10 fcvt.fxu.trunc.s3 f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1B sf{35:34}=3; 0x1 / ArchRev0 +F10 fpcvt.fx.s0 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=18 sf{35:34}=0; 0x1 / ArchRev0 +F10 fpcvt.fx.s1 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=18 sf{35:34}=1; 0x1 / ArchRev0 +F10 fpcvt.fx.s2 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=18 sf{35:34}=2; 0x1 / ArchRev0 +F10 fpcvt.fx.s3 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=18 sf{35:34}=3; 0x1 / ArchRev0 +F10 fpcvt.fxu.s0 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=19 sf{35:34}=0; 0x1 / ArchRev0 +F10 fpcvt.fxu.s1 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=19 sf{35:34}=1; 0x1 / ArchRev0 +F10 fpcvt.fxu.s2 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=19 sf{35:34}=2; 0x1 / ArchRev0 +F10 fpcvt.fxu.s3 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=19 sf{35:34}=3; 0x1 / ArchRev0 +F10 fpcvt.fx.trunc.s0 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1A sf{35:34}=0; 0x1 / ArchRev0 +F10 fpcvt.fx.trunc.s1 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1A sf{35:34}=1; 0x1 / ArchRev0 +F10 fpcvt.fx.trunc.s2 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1A sf{35:34}=2; 0x1 / ArchRev0 +F10 fpcvt.fx.trunc.s3 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1A sf{35:34}=3; 0x1 / ArchRev0 +F10 fpcvt.fxu.trunc.s0 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1B sf{35:34}=0; 0x1 / ArchRev0 +F10 fpcvt.fxu.trunc.s1 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1B sf{35:34}=1; 0x1 / ArchRev0 +F10 fpcvt.fxu.trunc.s2 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1B sf{35:34}=2; 0x1 / ArchRev0 +F10 fpcvt.fxu.trunc.s3 f1 = f2 : op{40:37}=1 x{33}=0 x6{32:27}=1B sf{35:34}=3; 0x1 / ArchRev0 +F11 fcvt.xf f1 = f2 : op{40:37}=0 x{33}=0 x6{32:27}=1C; 0x1 / ArchRev0 +F12 fsetc.s0 amask7, omask7 : op{40:37}=0 x{33}=0 x6{32:27}=4 sf{35:34}=0; 0x1 / ArchRev0 +F12 fsetc.s1 amask7, omask7 : op{40:37}=0 x{33}=0 x6{32:27}=4 sf{35:34}=1; 0x1 / ArchRev0 +F12 fsetc.s2 amask7, omask7 : op{40:37}=0 x{33}=0 x6{32:27}=4 sf{35:34}=2; 0x1 / ArchRev0 +F12 fsetc.s3 amask7, omask7 : op{40:37}=0 x{33}=0 x6{32:27}=4 sf{35:34}=3; 0x1 / ArchRev0 +F13 fclrf.s0 : op{40:37}=0 x{33}=0 x6{32:27}=5 sf{35:34}=0; 0x1 / ArchRev0 +F13 fclrf.s1 : op{40:37}=0 x{33}=0 x6{32:27}=5 sf{35:34}=1; 0x1 / ArchRev0 +F13 fclrf.s2 : op{40:37}=0 x{33}=0 x6{32:27}=5 sf{35:34}=2; 0x1 / ArchRev0 +F13 fclrf.s3 : op{40:37}=0 x{33}=0 x6{32:27}=5 sf{35:34}=3; 0x1 / ArchRev0 +F14 fchkf.s0 target25 : op{40:37}=0 x{33}=0 x6{32:27}=8 sf{35:34}=0; 0x1 / ArchRev0 +F14 fchkf.s1 target25 : op{40:37}=0 x{33}=0 x6{32:27}=8 sf{35:34}=1; 0x1 / ArchRev0 +F14 fchkf.s2 target25 : op{40:37}=0 x{33}=0 x6{32:27}=8 sf{35:34}=2; 0x1 / ArchRev0 +F14 fchkf.s3 target25 : op{40:37}=0 x{33}=0 x6{32:27}=8 sf{35:34}=3; 0x1 / ArchRev0 +F15 break.f imm21 : op{40:37}=0 x{33}=0 x6{32:27}=0; 0x1 / ArchRev0 +F16 nop.f imm21 : op{40:37}=0 x{33}=0 x6{32:27}=1 y{26}=0; 0x1 / ArchRev0 +F16 hint.f imm21 : op{40:37}=0 x{33}=0 x6{32:27}=1 y{26}=1; 0x1 / ArchRev0 +X1 break.x imm62 : op{40:37}=0 x3{35:33}=0 x6{32:27}=0; 0x201 / ArchRev0 +X2 movl r1 = imm64 : op{40:37}=6 vc{20}=0; 0x601 / ArchRev0 +X3 brl.cond.sptk.few target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.sptk.many target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.spnt.few target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.spnt.many target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.dptk.few target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.dptk.many target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.dpnt.few target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.dpnt.many target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=0; 0x10241 / Impl_Brl +X3 brl.cond.sptk.few.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=0 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.sptk.many.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=0 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.spnt.few.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=1 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.spnt.many.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=1 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.dptk.few.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=2 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.dptk.many.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=2 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.dpnt.few.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=0 wh{34:33}=3 d{35}=1; 0x10241 / Impl_Brl +X3 brl.cond.dpnt.many.clr target64 : op{40:37}=C btype{8:6}=0 p{12}=1 wh{34:33}=3 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.sptk.few b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=0 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.sptk.many b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=0 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.spnt.few b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=1 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.spnt.many b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=1 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.dptk.few b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=2 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.dptk.many b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=2 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.dpnt.few b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=3 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.dpnt.many b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=3 d{35}=0; 0x10241 / Impl_Brl +X4 brl.call.sptk.few.clr b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=0 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.sptk.many.clr b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=0 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.spnt.few.clr b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=1 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.spnt.many.clr b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=1 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.dptk.few.clr b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=2 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.dptk.many.clr b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=2 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.dpnt.few.clr b1 = target64 : op{40:37}=D p{12}=0 wh{34:33}=3 d{35}=1; 0x10241 / Impl_Brl +X4 brl.call.dpnt.many.clr b1 = target64 : op{40:37}=D p{12}=1 wh{34:33}=3 d{35}=1; 0x10241 / Impl_Brl +X5 nop.x imm62 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1 y{26}=0; 0x201 / ArchRev0 +X5 hint.x imm62 : op{40:37}=0 x3{35:33}=0 x6{32:27}=1 y{26}=1; 0x201 / ArchRev0 diff --git a/src/encodings/encoding.unusedop b/src/encodings/encoding.unusedop new file mode 100644 index 0000000..0af02a7 --- /dev/null +++ b/src/encodings/encoding.unusedop @@ -0,0 +1,1488 @@ +# Unused Opcode Encodings +# Generated from Itanium SDM Rev. 2.1 (15 Jan 03) +# Generated 15 Jan 2003, 12:13:50 PM +# Enabled Conditions: Arch_Ipref, Hide_VM, Impl_AtomicOps, Impl_Brl, Impl_MT +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +I21 mov.mwh3 b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=0 wh{21:20}=3; 0x2001 # .mwh3 = .sptk / ArchRev0 +I21 mov.mwh3.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=0 ih{23}=1 wh{21:20}=3; 0x2001 # .mwh3 = .sptk / ArchRev0 +I21 mov.ret.mwh3 b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=0 wh{21:20}=3; 0x2001 # .mwh3 = .sptk / ArchRev0 +I21 mov.ret.mwh3.imp b1 = r2, tag13 : op{40:37}=0 x3{35:33}=7 x{22}=1 ih{23}=1 wh{21:20}=3; 0x2001 # .mwh3 = .sptk / ArchRev0 +M1 ld1.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.s.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.s.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.s.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.s.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.a.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.a.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.a.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.a.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.sa.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.sa.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.sa.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.sa.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.bias.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=10 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.bias.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=11 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.bias.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=12 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.bias.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=13 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=14 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=15 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=16 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=17 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.fill.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.c.clr.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.c.clr.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.c.clr.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.c.clr.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.c.nc.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.c.nc.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.c.nc.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.c.nc.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld1.c.clr.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=28 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld2.c.clr.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=29 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld4.c.clr.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2A hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld8.c.clr.acq.ldhint2 r1 = [r3] : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M1 ld16.ldhint2 r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=28 hint{29:28}=2; 0x2005 # .ldhint2 = none / Impl_AtomicOps +M1 ld16.acq.ldhint2 r1, ar.csd = [r3] : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2C hint{29:28}=2; 0x2005 # .ldhint2 = none / Impl_AtomicOps +M2 ld1.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.s.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.s.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.s.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.s.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.a.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.a.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.a.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.a.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.sa.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.sa.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.sa.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.sa.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.bias.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=10 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.bias.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=11 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.bias.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=12 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.bias.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=13 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=14 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=15 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=16 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=17 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.fill.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.c.clr.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.c.clr.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.c.clr.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.c.clr.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.c.nc.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.c.nc.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.c.nc.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.c.nc.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld1.c.clr.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=28 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld2.c.clr.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=29 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld4.c.clr.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2A hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M2 ld8.c.clr.acq.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=0 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=3 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.s.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=4 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.s.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=5 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.s.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=6 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.s.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=7 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.a.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=8 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.a.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=9 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.a.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=A hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.a.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.sa.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=C hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.sa.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=D hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.sa.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=E hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.sa.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=F hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.bias.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=10 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.bias.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=11 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.bias.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=12 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.bias.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=13 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=14 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=15 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=16 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=17 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.fill.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=1B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.c.clr.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=20 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.c.clr.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=21 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.c.clr.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=22 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.c.clr.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=23 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.c.nc.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=24 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.c.nc.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=25 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.c.nc.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=26 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.c.nc.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=27 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld1.c.clr.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=28 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld2.c.clr.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=29 hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld4.c.clr.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2A hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M3 ld8.c.clr.acq.ldhint2 r1 = [r3], imm9 : op{40:37}=5 x6{35:30}=2B hint{29:28}=2; 0x2015 # .ldhint2 = none / ArchRev0 +M4 st1.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st1.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st2.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st2.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st4.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st4.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st8.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st8.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st1.rel.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=34 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st1.rel.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=34 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st2.rel.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=35 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st2.rel.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=35 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st4.rel.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=36 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st4.rel.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=36 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st8.rel.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=37 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st8.rel.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=37 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st8.spill.sthint1 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M4 st8.spill.sthint2 [r3] = r2 : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M4 st16.sthint1 [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=30 hint{29:28}=1; 0x2009 # .sthint1 = none / Impl_AtomicOps +M4 st16.sthint2 [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=30 hint{29:28}=2; 0x2009 # .sthint2 = none / Impl_AtomicOps +M4 st16.rel.sthint1 [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=34 hint{29:28}=1; 0x2009 # .sthint1 = none / Impl_AtomicOps +M4 st16.rel.sthint2 [r3] = r2, ar.csd : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=34 hint{29:28}=2; 0x2009 # .sthint2 = none / Impl_AtomicOps +M5 st1.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=30 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st1.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=30 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st2.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=31 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st2.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=31 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st4.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=32 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st4.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=32 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st8.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=33 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st8.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=33 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st1.rel.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=34 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st1.rel.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=34 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st2.rel.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=35 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st2.rel.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=35 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st4.rel.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=36 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st4.rel.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=36 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st8.rel.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=37 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st8.rel.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=37 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M5 st8.spill.sthint1 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=3B hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M5 st8.spill.sthint2 [r3] = r2, imm9 : op{40:37}=5 x6{35:30}=3B hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M6 ldfs.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=0 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfs.s.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=6 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.s.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=7 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.s.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=5 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.s.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=4 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfs.a.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=A hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.a.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.a.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=9 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.a.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=8 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfs.sa.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=E hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.sa.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=F hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.sa.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=D hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.sa.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=C hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf.fill.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfs.c.clr.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=22 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.c.clr.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=23 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.c.clr.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=21 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.c.clr.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=20 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfs.c.nc.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=26 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfd.c.nc.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=27 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldf8.c.nc.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=25 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M6 ldfe.c.nc.ldhint2 f1 = [r3] : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=24 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=0 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.s.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=6 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.s.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=7 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.s.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=5 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.s.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=4 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.a.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=A hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.a.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.a.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=9 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.a.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=8 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.sa.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=E hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.sa.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=F hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.sa.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=D hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.sa.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=C hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf.fill.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.c.clr.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=22 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.c.clr.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=23 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.c.clr.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=21 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.c.clr.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=20 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfs.c.nc.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=26 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfd.c.nc.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=27 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldf8.c.nc.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=25 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M7 ldfe.c.nc.ldhint2 f1 = [r3], r2 : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=24 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=2 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=3 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=0 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.s.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=6 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.s.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=7 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.s.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=5 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.s.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=4 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.a.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=A hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.a.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.a.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=9 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.a.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=8 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.sa.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=E hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.sa.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=F hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.sa.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=D hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.sa.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=C hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf.fill.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=1B hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.c.clr.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=22 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.c.clr.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=23 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.c.clr.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=21 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.c.clr.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=20 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfs.c.nc.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=26 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfd.c.nc.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=27 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldf8.c.nc.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=25 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M8 ldfe.c.nc.ldhint2 f1 = [r3], imm9 : op{40:37}=7 x6{35:30}=24 hint{29:28}=2; 0x2005 # .ldhint2 = none / ArchRev0 +M9 stfs.sthint1 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M9 stfs.sthint2 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=32 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M9 stfd.sthint1 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M9 stfd.sthint2 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=33 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M9 stf8.sthint1 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M9 stf8.sthint2 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=31 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M9 stfe.sthint1 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M9 stfe.sthint2 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=30 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M9 stf.spill.sthint1 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M9 stf.spill.sthint2 [r3] = f2 : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3B hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M10 stfs.sthint1 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=32 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M10 stfs.sthint2 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=32 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M10 stfd.sthint1 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=33 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M10 stfd.sthint2 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=33 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M10 stf8.sthint1 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=31 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M10 stf8.sthint2 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=31 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M10 stfe.sthint1 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=30 hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M10 stfe.sthint2 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=30 hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M10 stf.spill.sthint1 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=3B hint{29:28}=1; 0x2009 # .sthint1 = none / ArchRev0 +M10 stf.spill.sthint2 [r3] = f2, imm9 : op{40:37}=7 x6{35:30}=3B hint{29:28}=2; 0x2009 # .sthint2 = none / ArchRev0 +M11 ldfps.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfps.s.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.s.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.s.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfps.a.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.a.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.a.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfps.sa.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=E hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.sa.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=F hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.sa.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=D hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfps.c.clr.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=22 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.c.clr.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=23 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.c.clr.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=21 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfps.c.nc.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=26 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfpd.c.nc.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=27 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M11 ldfp8.c.nc.ldhint2 f1, f2 = [r3] : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=25 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.s.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=6 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.s.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=7 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.s.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=5 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.a.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=A hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.a.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=B hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.a.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=9 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.sa.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=E hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.sa.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=F hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.sa.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=D hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.c.clr.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=22 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.c.clr.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=23 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.c.clr.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=21 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfps.c.nc.ldhint2 f1, f2 = [r3], 8 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=26 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfpd.c.nc.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=27 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M12 ldfp8.c.nc.ldhint2 f1, f2 = [r3], 16 : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=25 hint{29:28}=2; 0x2805 # .ldhint2 = none / ArchRev0 +M16 cmpxchg1.acq.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=0 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg2.acq.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg4.acq.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg8.acq.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg1.rel.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=4 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg2.rel.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=5 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg4.rel.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=6 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmpxchg8.rel.ldhint2 r1 = [r3], r2, ar.ccv : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=7 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 cmp8xchg16.acq.ldhint2 r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=20 hint{29:28}=2; 0x200d # .ldhint2 = none / Impl_AtomicOps +M16 cmp8xchg16.rel.ldhint2 r1 = [r3], r2, ar.csd, ar.ccv: op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=24 hint{29:28}=2; 0x200d # .ldhint2 = none / Impl_AtomicOps +M16 xchg1.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=8 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 xchg2.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=9 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 xchg4.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=A hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M16 xchg8.ldhint2 r1 = [r3], r2 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=B hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M17 fetchadd4.acq.ldhint2 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=12 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M17 fetchadd8.acq.ldhint2 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=13 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M17 fetchadd4.rel.ldhint2 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=16 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +M17 fetchadd8.rel.ldhint2 r1 = [r3], inc3 : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=17 hint{29:28}=2; 0x200d # .ldhint2 = none / ArchRev0 +B5 br.call.bwh0.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=0 d{35}=0; 0x12001 # .bwh0 = .sptk / ArchRev0 +B5 br.call.bwh0.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=0 d{35}=0; 0x12001 # .bwh0 = .sptk / ArchRev0 +B5 br.call.bwh2.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=2 d{35}=0; 0x12001 # .bwh2 = .sptk / ArchRev0 +B5 br.call.bwh2.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=2 d{35}=0; 0x12001 # .bwh2 = .sptk / ArchRev0 +B5 br.call.bwh4.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=4 d{35}=0; 0x12001 # .bwh4 = .sptk / ArchRev0 +B5 br.call.bwh4.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=4 d{35}=0; 0x12001 # .bwh4 = .sptk / ArchRev0 +B5 br.call.bwh6.few b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=6 d{35}=0; 0x12001 # .bwh6 = .sptk / ArchRev0 +B5 br.call.bwh6.many b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=6 d{35}=0; 0x12001 # .bwh6 = .sptk / ArchRev0 +B5 br.call.bwh0.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=0 d{35}=1; 0x12001 # .bwh0 = .sptk / ArchRev0 +B5 br.call.bwh0.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=0 d{35}=1; 0x12001 # .bwh0 = .sptk / ArchRev0 +B5 br.call.bwh2.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=2 d{35}=1; 0x12001 # .bwh2 = .sptk / ArchRev0 +B5 br.call.bwh2.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=2 d{35}=1; 0x12001 # .bwh2 = .sptk / ArchRev0 +B5 br.call.bwh4.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=4 d{35}=1; 0x12001 # .bwh4 = .sptk / ArchRev0 +B5 br.call.bwh4.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=4 d{35}=1; 0x12001 # .bwh4 = .sptk / ArchRev0 +B5 br.call.bwh6.few.clr b1 = b2 : op{40:37}=1 p{12}=0 wh{34:32}=6 d{35}=1; 0x12001 # .bwh6 = .sptk / ArchRev0 +B5 br.call.bwh6.many.clr b1 = b2 : op{40:37}=1 p{12}=1 wh{34:32}=6 d{35}=1; 0x12001 # .bwh6 = .sptk / ArchRev0 +B7 brp.indwh1 b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=0 wh{4:3}=1; 0x2000 # .indwh1 = .sptk / ArchRev0 +B7 brp.indwh1.imp b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=1 wh{4:3}=1; 0x2000 # .indwh1 = .sptk / ArchRev0 +B7 brp.indwh3 b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=0 wh{4:3}=3; 0x2000 # .indwh3 = .sptk / ArchRev0 +B7 brp.indwh3.imp b2, tag13 : op{40:37}=2 x6{32:27}=10 ih{35}=1 wh{4:3}=3; 0x2000 # .indwh3 = .sptk / ArchRev0 +B7 brp.ret.indwh1 b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=0 wh{4:3}=1; 0x2000 # .indwh1 = .sptk / ArchRev0 +B7 brp.ret.indwh1.imp b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=1 wh{4:3}=1; 0x2000 # .indwh1 = .sptk / ArchRev0 +B7 brp.ret.indwh3 b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=0 wh{4:3}=3; 0x2000 # .indwh3 = .sptk / ArchRev0 +B7 brp.ret.indwh3.imp b2, tag13 : op{40:37}=2 x6{32:27}=11 ih{35}=1 wh{4:3}=3; 0x2000 # .indwh3 = .sptk / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=20; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=21; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=22; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=13; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=23; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=4; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=24; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=34; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=5; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=25; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=35; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=6; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=26; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=36; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=7; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=17; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=27; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=37; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=8; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=28; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=38; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=9; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=29; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=39; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1A; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3A; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=B; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1B; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2B; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3B; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=C; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2C; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3C; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=D; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2D; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3D; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=E; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1E; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2E; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3E; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=F; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1F; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2F; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3F; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=4; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=5; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=0 x3{35:33}=6; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=5 x2{35:34}=2 x{33}=0 y{13}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=5 x2{35:34}=2 x{33}=0 y{13}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=5 x2{35:34}=2 x{33}=1 y{26}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=5 x2{35:34}=2 x{33}=1 y{26}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=6; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=0 ve{32}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=0 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=1 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=0 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=1 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=2 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=0 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=1 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=2 x2c{31:30}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=0; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=1; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=2; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=7 za{36}=1 zb{33}=0 ve{32}=0 x2a{35:34}=3 x2b{29:28}=3 x2c{31:30}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=0 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=0 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=1 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=1 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=2 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=2 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=2 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=5 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=5 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=5 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=5 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=7 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=7 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=7 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=7 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=8 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=8 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=8 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=8 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=9 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=9 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=9 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=A x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=A x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=A x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=A x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=C x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=C x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=C x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=C x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=D x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=D x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=D x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=D x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=E x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=E x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=E x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=E x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=F x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=F x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=F x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=0 x4{32:29}=F x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=0 ve{33}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=2 ve{33}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=3 ve{33}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=2 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=2 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=3 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=3 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=3 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=4 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=4 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=4 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=4 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=5 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=5 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=5 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=5 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=6 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=6 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=6 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=6 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=7 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=7 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=7 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=7 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=8 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=8 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=8 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=8 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=9 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=9 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=A x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=A x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=A x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=A x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=B x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=B x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=B x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=B x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=C x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=C x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=C x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=C x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=D x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=D x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=D x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=D x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=E x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=E x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=E x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=E x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=F x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=F x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=F x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=0 x4{32:29}=F x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=2 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=2 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=3 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=3 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=3 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=5 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=5 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=5 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=5 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=7 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=7 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=7 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=7 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=8 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=8 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=8 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=8 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=9 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=9 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=A x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=A x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=A x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=A x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=B x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=B x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=B x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=B x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=C x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=C x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=C x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=C x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=D x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=D x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=D x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=D x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=E x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=E x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=E x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=E x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=F x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=F x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=F x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=0 zb{33}=1 x4{32:29}=F x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=0 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=0 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=0 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=1 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=1 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=1 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=2 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=2 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=2 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=2 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=3 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=3 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=3 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=3 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=4 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=4 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=4 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=4 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=5 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=5 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=5 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=5 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=6 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=6 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=6 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=6 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=7 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=7 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=7 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=7 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=8 x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=8 x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=8 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=8 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=9 x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=9 x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=A x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=A x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=A x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=A x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=B x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=B x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=B x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=B x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=C x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=C x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=C x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=C x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=D x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=D x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=D x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=D x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=E x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=E x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=E x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=E x2b{28:27}=3; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=F x2b{28:27}=0; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=F x2b{28:27}=1; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=F x2b{28:27}=2; 0x4001 / ArchRev0 +A0 illegalOpQP : op{40:37}=8 x2a{35:34}=1 za{36}=1 zb{33}=0 x4{32:29}=F x2b{28:27}=3; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=A; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=B; 0x4001 / ArchRev0 +I0 illegalOpQP : op{40:37}=F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=1 x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=1 x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=2 x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=2 x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=3 x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=8 x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=8 x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=8 x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=9 x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=9 x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=9 x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=9 x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=A x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=A x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=A x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=B x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=B x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=B x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=B x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=C x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=C x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=C x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=D x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=D x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=D x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=D x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=E x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=E x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=E x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=E x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=F x2{32:31}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=F x2{32:31}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=F x2{32:31}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x4{30:27}=F x2{32:31}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=0 x3{35:33}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=20; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=23; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=6; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=26; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=7; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=27; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=8; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=0 x6{32:27}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=4; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=5; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=1 x3{35:33}=7; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=2; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=3; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=1B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=21; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=22; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=23; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=25; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=26; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=27; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=31; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=32; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=33; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=1 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=0 x{27}=0 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=1; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=30; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=31; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=32; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=33; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=4 m{36}=1 x{27}=0 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=2C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=5 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=12; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=13; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=17; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=0 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=4; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=8; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=12; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=13; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=17; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=1B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=20; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=24; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=30; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=31; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=32; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=33; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=0 x{27}=1 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=12; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=13; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=17; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=30; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=31; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=32; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=33; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=0 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=0; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=4; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=8; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=12; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=13; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=17; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=20; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=24; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=2F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=30; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=31; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=32; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=33; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=6 m{36}=1 x{27}=1 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=10; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=11; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=12; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=13; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=14; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=15; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=16; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=17; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=18; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=19; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=1A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=1C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=1D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=1E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=1F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=28; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=29; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=2A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=2B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=34; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=35; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=36; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=37; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=38; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=39; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=3A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=3C; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=3D; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=3E; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=7 x6{35:30}=3F; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=A; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=B; 0x4001 / ArchRev0 +M0 illegalOpQP : op{40:37}=F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=20; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=30; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=21; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=31; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=2; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=22; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=32; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=3; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=13; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=23; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=33; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=24; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=25; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=6; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=26; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=7; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=27; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=37; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=38; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=9; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=29; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=A; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=2A; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=B; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=2B; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=C; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=1D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=1E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=3E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=1F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=0 x{33}=0 x6{32:27}=3F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=0; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=20; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=1; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=21; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=22; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=13; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=23; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=4; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=24; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=5; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=25; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=6; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=26; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=7; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=27; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=8; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=28; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=38; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=9; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=29; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=39; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=A; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2A; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3A; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=B; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2B; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3B; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=C; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=1C; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2C; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3C; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=1D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3D; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=1E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3E; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=1F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=2F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=1 x{33}=0 x6{32:27}=3F; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=2; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=3; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=6; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=7; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=E x{36}=1 x2{35:34}=1; 0x4001 / ArchRev0 +F0 illegalOpQP : op{40:37}=F; 0x4001 / ArchRev0 +B0 ignoredOp : op{40:37}=0 x6{32:27}=1; 0x8000 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=11; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=12; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=3; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=13; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=14; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=15; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=6; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=16; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=7; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=17; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=18; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=9; 0x4001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=19; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=A; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1A; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=B; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1B; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1C; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1D; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=E; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1E; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=F; 0x14001 / ArchRev0 +B0 illegalOpBQP : op{40:37}=0 x6{32:27}=1F; 0x14001 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=30; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=31; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=22; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=32; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=23; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=33; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=24; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=34; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=25; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=35; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=26; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=36; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=27; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=37; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=28; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=38; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=29; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=39; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2A; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3A; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2B; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3B; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2C; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3C; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2D; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3D; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2E; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3E; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=2F; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=3F; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=2; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=3; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=4; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=5; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=6; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=20 btype{8:6}=7; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=0; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=1; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=2; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=3; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=5; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=6; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=0 x6{32:27}=21 btype{8:6}=7; 0x14000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=20; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=30; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=21; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=31; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=12; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=22; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=32; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=13; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=23; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=33; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=4; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=14; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=24; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=34; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=5; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=15; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=25; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=35; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=6; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=16; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=26; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=36; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=7; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=17; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=27; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=37; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=8; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=18; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=28; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=38; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=9; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=19; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=29; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=39; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=A; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1A; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2A; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3A; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=B; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1B; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2B; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3B; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=C; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1C; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2C; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3C; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=D; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1D; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2D; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3D; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=E; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1E; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2E; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3E; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=F; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=1F; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=2F; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=2 x6{32:27}=3F; 0x8000 / ArchRev0 +B0 ignoredOp : op{40:37}=3; 0x8000 / ArchRev0 +B0 illegalOp : op{40:37}=4 btype{8:6}=1; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=4 btype{8:6}=4; 0x14000 / ArchRev0 +B0 ignoredOp : op{40:37}=6; 0x8000 / ArchRev0 +B0 illegalOp : op{40:37}=8; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=9; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=A; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=B; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=C; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=D; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=E; 0x14000 / ArchRev0 +B0 illegalOp : op{40:37}=F; 0x14000 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=10; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=20; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=30; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=11; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=21; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=31; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=12; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=22; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=32; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=13; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=23; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=33; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=4; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=14; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=24; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=34; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=5; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=15; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=25; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=35; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=6; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=16; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=26; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=36; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=7; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=17; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=27; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=37; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=8; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=18; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=28; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=38; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=9; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=19; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=29; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=39; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=A; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1A; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2A; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3A; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=B; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1B; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2B; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3B; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=C; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1C; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2C; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3C; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=D; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1D; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2D; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3D; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=E; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1E; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2E; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3E; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=F; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=1F; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=2F; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=0 x6{32:27}=3F; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=1; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=2; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=3; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=4; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=5; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=6; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=0 x3{35:33}=7; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=1; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=2; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=3; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=4; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=5; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=6 vc{20}=1; 0x4001 / ArchRev0 +X0 illegalOpQP : op{40:37}=7; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=8; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=9; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=A; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=B; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=1; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=2; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=3; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=4; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=5; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=6; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=C btype{8:6}=7; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=E; 0x4001 / ArchRev0 +X0 illegalOpBQP : op{40:37}=F; 0x4001 / ArchRev0 diff --git a/src/eparse.c b/src/eparse.c new file mode 100644 index 0000000..7e92a84 --- /dev/null +++ b/src/eparse.c @@ -0,0 +1,2155 @@ +/* A Bison parser, made by GNU Bison 2.3. */ + +/* Skeleton implementation for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + 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, 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., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "2.3" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + LOR = 258, + LAND = 259, + NE = 260, + EQ = 261, + GE = 262, + LE = 263, + SHR = 264, + SHL = 265, + UNARY = 266, + ISYM = 267, + SYM = 268, + NOBASE = 269, + NPFXHEX = 270, + BIN = 271, + OCT = 272, + DEC = 273, + HEX = 274, + UKNWN = 275 + }; +#endif +/* Tokens. */ +#define LOR 258 +#define LAND 259 +#define NE 260 +#define EQ 261 +#define GE 262 +#define LE 263 +#define SHR 264 +#define SHL 265 +#define UNARY 266 +#define ISYM 267 +#define SYM 268 +#define NOBASE 269 +#define NPFXHEX 270 +#define BIN 271 +#define OCT 272 +#define DEC 273 +#define HEX 274 +#define UKNWN 275 + + + + +/* Copy the first part of user declarations. */ +#line 1 "eparse.y" + +/* + * Simulator Expression Parser + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "std.h" +#include "types.h" +#include "memui.h" +#include "exportui.h" +#include "coreui.h" + +REG expval; +ADDR thash(ADDR); + +extern char *yytext; +extern int yylineno; +extern int yylex (void ); +static REG convert(char); +static REG rd8(REG); +static REG strtonum(char *, int); +static void yyerror(char *); + + + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 +#endif + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +#line 42 "eparse.y" +{ + char *str; + REG val; + } +/* Line 187 of yacc.c. */ +#line 182 "eparse.c" + YYSTYPE; +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +/* Copy the second part of user declarations. */ + + +/* Line 216 of yacc.c. */ +#line 195 "eparse.c" + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif + +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#elif (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +typedef signed char yytype_int8; +#else +typedef short int yytype_int8; +#endif + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif + +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if YYENABLE_NLS +# if ENABLE_NLS +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_(msgid) dgettext ("bison-runtime", msgid) +# endif +# endif +# ifndef YY_ +# define YY_(msgid) msgid +# endif +#endif + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(e) ((void) (e)) +#else +# define YYUSE(e) /* empty */ +#endif + +/* Identity function, used to suppress warnings about constant conditions. */ +#ifndef lint +# define YYID(n) (n) +#else +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static int +YYID (int i) +#else +static int +YYID (i) + int i; +#endif +{ + return i; +} +#endif + +#if ! defined yyoverflow || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined _STDLIB_H \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (YYID (0)) + +#endif + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 34 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 440 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 39 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 7 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 69 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 126 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 275 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const yytype_uint8 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 33, 2, 34, 2, 22, 9, 2, + 35, 36, 20, 18, 3, 19, 2, 21, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 12, 4, 13, 2, 38, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 7, 2, 37, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 5, 6, + 10, 11, 14, 15, 16, 17, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32 +}; + +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const yytype_uint8 yyprhs[] = +{ + 0, 0, 3, 6, 9, 11, 13, 15, 19, 22, + 25, 28, 31, 34, 38, 42, 46, 50, 54, 58, + 62, 66, 70, 74, 78, 82, 86, 90, 94, 98, + 102, 106, 110, 112, 114, 116, 120, 123, 126, 129, + 132, 135, 138, 142, 146, 150, 154, 158, 162, 166, + 170, 174, 178, 182, 186, 190, 194, 198, 202, 206, + 210, 214, 216, 218, 220, 222, 224, 226, 228, 230 +}; + +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const yytype_int8 yyrhs[] = +{ + 40, 0, -1, 33, 41, -1, 34, 42, -1, 43, + -1, 24, -1, 25, -1, 35, 41, 36, -1, 20, + 41, -1, 19, 41, -1, 18, 41, -1, 37, 41, + -1, 33, 41, -1, 41, 20, 41, -1, 41, 21, + 41, -1, 41, 22, 41, -1, 41, 18, 41, -1, + 41, 19, 41, -1, 41, 17, 41, -1, 41, 16, + 41, -1, 41, 12, 41, -1, 41, 15, 41, -1, + 41, 13, 41, -1, 41, 14, 41, -1, 41, 11, + 41, -1, 41, 10, 41, -1, 41, 9, 41, -1, + 41, 8, 41, -1, 41, 7, 41, -1, 41, 6, + 41, -1, 41, 5, 41, -1, 41, 3, 41, -1, + 44, -1, 24, -1, 25, -1, 35, 42, 36, -1, + 20, 42, -1, 19, 42, -1, 18, 42, -1, 37, + 42, -1, 33, 42, -1, 38, 42, -1, 42, 20, + 42, -1, 42, 21, 42, -1, 42, 22, 42, -1, + 42, 18, 42, -1, 42, 19, 42, -1, 42, 17, + 42, -1, 42, 16, 42, -1, 42, 12, 42, -1, + 42, 15, 42, -1, 42, 13, 42, -1, 42, 14, + 42, -1, 42, 11, 42, -1, 42, 10, 42, -1, + 42, 9, 42, -1, 42, 8, 42, -1, 42, 7, + 42, -1, 42, 6, 42, -1, 42, 5, 42, -1, + 42, 3, 42, -1, 45, -1, 26, -1, 45, -1, + 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, + 31, -1 +}; + +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const yytype_uint8 yyrline[] = +{ + 0, 78, 78, 79, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 98, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 141, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 166, 167, 170, 171, 172, 175, 176, 177, 178 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "','", "'='", "LOR", "LAND", "'|'", + "'^'", "'&'", "NE", "EQ", "'<'", "'>'", "GE", "LE", "SHR", "SHL", "'+'", + "'-'", "'*'", "'/'", "'%'", "UNARY", "ISYM", "SYM", "NOBASE", "NPFXHEX", + "BIN", "OCT", "DEC", "HEX", "UKNWN", "'!'", "'#'", "'('", "')'", "'~'", + "'@'", "$accept", "expr", "cntexp", "numexp", "count", "number", "based", 0 +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const yytype_uint16 yytoknum[] = +{ + 0, 256, 257, 44, 61, 258, 259, 124, 94, 38, + 260, 261, 60, 62, 262, 263, 264, 265, 43, 45, + 42, 47, 37, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 33, 35, 40, 41, 126, 64 +}; +# endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 39, 40, 40, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 43, 43, 44, 44, 44, 45, 45, 45, 45 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 2, 2, 1, 1, 1, 3, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 1, 1, 1, 3, 2, 2, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 +}; + +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 0, 0, 0, 0, 0, 0, 0, 5, 6, 62, + 66, 67, 68, 69, 0, 0, 0, 2, 4, 61, + 0, 0, 0, 33, 34, 64, 65, 0, 0, 0, + 0, 3, 32, 63, 1, 10, 9, 8, 12, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 37, 36, 40, 0, 39, 41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 7, 31, 30, 29, + 28, 27, 26, 25, 24, 20, 22, 23, 21, 19, + 18, 16, 17, 13, 14, 15, 35, 60, 59, 58, + 57, 56, 55, 54, 53, 49, 51, 52, 50, 48, + 47, 45, 46, 42, 43, 44 +}; + +/* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int8 yydefgoto[] = +{ + -1, 3, 17, 31, 18, 32, 33 +}; + +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -21 +static const yytype_int16 yypact[] = +{ + -6, 227, 74, 6, 227, 227, 227, -21, -21, -21, + -21, -21, -21, -21, 227, 227, 227, 202, -21, -21, + 74, 74, 74, -21, -21, -21, -21, 74, 74, 74, + 74, 222, -21, -21, -21, -21, -21, -21, -21, 138, + -21, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + -21, -21, -21, -21, 170, -21, -21, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, -21, 260, 295, 328, + 3, 373, 400, 149, 149, 16, 16, 16, 16, 24, + 24, -17, -17, -21, -21, -21, -21, 278, 312, 344, + 359, 387, 413, 181, 181, 97, 97, 97, 97, 418, + 418, 68, 68, -21, -21, -21 +}; + +/* YYPGOTO[NTERM-NUM]. */ +static const yytype_int8 yypgoto[] = +{ + -21, -21, 81, -20, -21, -21, 25 +}; + +/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule which + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -1 +static const yytype_uint8 yytable[] = +{ + 60, 61, 62, 57, 58, 59, 34, 63, 64, 65, + 66, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 19, 1, 2, 19, + 19, 19, 53, 54, 55, 56, 57, 58, 59, 19, + 19, 19, 55, 56, 57, 58, 59, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 35, 36, 37, 83, 84, + 85, 0, 20, 21, 22, 38, 39, 40, 23, 24, + 25, 26, 10, 11, 12, 13, 0, 27, 0, 28, + 0, 29, 30, 79, 80, 81, 82, 83, 84, 85, + 0, 0, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 41, 0, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 0, 67, 86, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 0, 41, 106, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 67, 0, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 4, 5, 6, 0, 0, + 0, 7, 8, 9, 0, 10, 11, 12, 13, 0, + 14, 0, 15, 0, 16, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 81, 82, 83, 84, + 85 +}; + +static const yytype_int8 yycheck[] = +{ + 20, 21, 22, 20, 21, 22, 0, 27, 28, 29, + 30, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 1, 33, 34, 4, + 5, 6, 16, 17, 18, 19, 20, 21, 22, 14, + 15, 16, 18, 19, 20, 21, 22, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 4, 5, 6, 20, 21, + 22, -1, 18, 19, 20, 14, 15, 16, 24, 25, + 26, 27, 28, 29, 30, 31, -1, 33, -1, 35, + -1, 37, 38, 16, 17, 18, 19, 20, 21, 22, + -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 3, -1, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, -1, 3, 36, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, -1, 3, 36, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 3, -1, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 18, 19, 20, -1, -1, + -1, 24, 25, 26, -1, 28, 29, 30, 31, -1, + 33, -1, 35, -1, 37, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 18, 19, 20, 21, + 22 +}; + +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_uint8 yystos[] = +{ + 0, 33, 34, 40, 18, 19, 20, 24, 25, 26, + 28, 29, 30, 31, 33, 35, 37, 41, 43, 45, + 18, 19, 20, 24, 25, 26, 27, 33, 35, 37, + 38, 42, 44, 45, 0, 41, 41, 41, 41, 41, + 41, 3, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 42, 42, 42, 42, 42, 42, 42, 3, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 36, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 36, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42 +}; + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. + Once GCC version 2 has supplanted version 1, this can go. */ + +#define YYFAIL goto yyerrlab + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY && yylen == 1) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ + YYPOPSTACK (1); \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ +while (YYID (0)) + + +#define YYTERROR 1 +#define YYERRCODE 256 + + +/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. + If N is 0, then set CURRENT to the empty location which ends + the previous symbol: RHS[0] (always defined). */ + +#define YYRHSLOC(Rhs, K) ((Rhs)[K]) +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (YYID (N)) \ + { \ + (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ + (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ + (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ + (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ + } \ + else \ + { \ + (Current).first_line = (Current).last_line = \ + YYRHSLOC (Rhs, 0).last_line; \ + (Current).first_column = (Current).last_column = \ + YYRHSLOC (Rhs, 0).last_column; \ + } \ + while (YYID (0)) +#endif + + +/* YY_LOCATION_PRINT -- Print the location on the stream. + This macro was not mandated originally: define only if we know + we won't break user code: when these are the locations we know. */ + +#ifndef YY_LOCATION_PRINT +# if YYLTYPE_IS_TRIVIAL +# define YY_LOCATION_PRINT(File, Loc) \ + fprintf (File, "%d.%d-%d.%d", \ + (Loc).first_line, (Loc).first_column, \ + (Loc).last_line, (Loc).last_column) +# else +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif +#endif + + +/* YYLEX -- calling `yylex' with the right arguments. */ + +#ifdef YYLEX_PARAM +# define YYLEX yylex (YYLEX_PARAM) +#else +# define YYLEX yylex () +#endif + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (YYID (0)) + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (YYID (0)) + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +/*ARGSUSED*/ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static void +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +#else +static void +yy_symbol_value_print (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE const * const yyvaluep; +#endif +{ + if (!yyvaluep) + return; +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# else + YYUSE (yyoutput); +# endif + switch (yytype) + { + default: + break; + } +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static void +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +#else +static void +yy_symbol_print (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE const * const yyvaluep; +#endif +{ + if (yytype < YYNTOKENS) + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep); + YYFPRINTF (yyoutput, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static void +yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) +#else +static void +yy_stack_print (bottom, top) + yytype_int16 *bottom; + yytype_int16 *top; +#endif +{ + YYFPRINTF (stderr, "Stack now"); + for (; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (YYID (0)) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static void +yy_reduce_print (YYSTYPE *yyvsp, int yyrule) +#else +static void +yy_reduce_print (yyvsp, yyrule) + YYSTYPE *yyvsp; + int yyrule; +#endif +{ + int yynrhs = yyr2[yyrule]; + int yyi; + unsigned long int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + fprintf (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); + fprintf (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyvsp, Rule); \ +} while (YYID (0)) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static YYSIZE_T +yystrlen (const char *yystr) +#else +static YYSIZE_T +yystrlen (yystr) + const char *yystr; +#endif +{ + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +# endif + +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static char * +yystpcpy (char *yydest, const char *yysrc) +#else +static char * +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +#endif +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +/* Copy into YYRESULT an error message about the unexpected token + YYCHAR while in state YYSTATE. Return the number of bytes copied, + including the terminating null byte. If YYRESULT is null, do not + copy anything; just return the number of bytes that would be + copied. As a special case, return 0 if an ordinary "syntax error" + message will do. Return YYSIZE_MAXIMUM if overflow occurs during + size calculation. */ +static YYSIZE_T +yysyntax_error (char *yyresult, int yystate, int yychar) +{ + int yyn = yypact[yystate]; + + if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) + return 0; + else + { + int yytype = YYTRANSLATE (yychar); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; + +# if 0 + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +# endif + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy (yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + yyfmt = yystpcpy (yyfmt, yyprefix); + yyprefix = yyor; + } + + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen (yyf); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + + if (yysize_overflow) + return YYSIZE_MAXIMUM; + + if (yyresult) + { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yyresult; + int yyi = 0; + while ((*yyp = *yyf) != '\0') + { + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyf += 2; + } + else + { + yyp++; + yyf++; + } + } + } + return yysize; + } +} +#endif /* YYERROR_VERBOSE */ + + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +/*ARGSUSED*/ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +#else +static void +yydestruct (yymsg, yytype, yyvaluep) + const char *yymsg; + int yytype; + YYSTYPE *yyvaluep; +#endif +{ + YYUSE (yyvaluep); + + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + switch (yytype) + { + + default: + break; + } +} + + +/* Prevent warnings from -Wmissing-prototypes. */ + +#ifdef YYPARSE_PARAM +#if defined __STDC__ || defined __cplusplus +int yyparse (void *YYPARSE_PARAM); +#else +int yyparse (); +#endif +#else /* ! YYPARSE_PARAM */ +#if defined __STDC__ || defined __cplusplus +int yyparse (void); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ + + + +/* The look-ahead symbol. */ +int yychar; + +/* The semantic value of the look-ahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; + + + +/*----------. +| yyparse. | +`----------*/ + +#ifdef YYPARSE_PARAM +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +int +yyparse (void *YYPARSE_PARAM) +#else +int +yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +#endif +#else /* ! YYPARSE_PARAM */ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +int +yyparse (void) +#else +int +yyparse () + +#endif +#endif +{ + + int yystate; + int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Look-ahead token as an internal (translated) token number. */ + int yytoken = 0; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss = yyssa; + yytype_int16 *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp; + + + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + YYSIZE_T yystacksize = YYINITDEPTH; + + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + + /* Initialize stack pointers. + Waste one element of value and location stack + so that they stay on the same level as the state stack. + The wasted elements are never initialized. */ + + yyssp = yyss; + yyvsp = yyvs; + + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyexhaustedlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + + /* Do appropriate processing given the current state. Read a + look-ahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to look-ahead token. */ + yyn = yypact[yystate]; + if (yyn == YYPACT_NINF) + goto yydefault; + + /* Not known => get a look-ahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = YYLEX; + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yyn == 0 || yyn == YYTABLE_NINF) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + if (yyn == YYFINAL) + YYACCEPT; + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the look-ahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; + + yystate = yyn; + *++yyvsp = yylval; + + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 2: +#line 78 "eparse.y" + { expval = (yyvsp[(2) - (2)].val); } + break; + + case 3: +#line 79 "eparse.y" + { expval = (yyvsp[(2) - (2)].val); } + break; + + case 4: +#line 81 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 5: +#line 82 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 6: +#line 83 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 7: +#line 84 "eparse.y" + { (yyval.val) = (yyvsp[(2) - (3)].val); } + break; + + case 8: +#line 85 "eparse.y" + { (yyval.val) = rd8((yyvsp[(2) - (2)].val)); } + break; + + case 9: +#line 86 "eparse.y" + { (yyval.val) = -(yyvsp[(2) - (2)].val); } + break; + + case 10: +#line 87 "eparse.y" + { (yyval.val) = (yyvsp[(2) - (2)].val); } + break; + + case 11: +#line 88 "eparse.y" + { (yyval.val) = ~(yyvsp[(2) - (2)].val); } + break; + + case 12: +#line 89 "eparse.y" + { (yyval.val) = !(yyvsp[(2) - (2)].val); } + break; + + case 13: +#line 90 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) * (yyvsp[(3) - (3)].val); } + break; + + case 14: +#line 91 "eparse.y" + { if ((yyvsp[(3) - (3)].val)) + (yyval.val) = (yyvsp[(1) - (3)].val) / (yyvsp[(3) - (3)].val); + else { + yyerror("division by zero"); + YYABORT; + } + } + break; + + case 15: +#line 98 "eparse.y" + { if ((yyvsp[(3) - (3)].val)) + (yyval.val) = (yyvsp[(1) - (3)].val) % (yyvsp[(3) - (3)].val); + else { + yyerror("division by zero"); + YYABORT; + } + } + break; + + case 16: +#line 105 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) + (yyvsp[(3) - (3)].val); } + break; + + case 17: +#line 106 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) - (yyvsp[(3) - (3)].val); } + break; + + case 18: +#line 107 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) << (yyvsp[(3) - (3)].val); } + break; + + case 19: +#line 108 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) >> (yyvsp[(3) - (3)].val); } + break; + + case 20: +#line 109 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) < (yyvsp[(3) - (3)].val); } + break; + + case 21: +#line 110 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) <= (yyvsp[(3) - (3)].val); } + break; + + case 22: +#line 111 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) > (yyvsp[(3) - (3)].val); } + break; + + case 23: +#line 112 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) >= (yyvsp[(3) - (3)].val); } + break; + + case 24: +#line 113 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) == (yyvsp[(3) - (3)].val); } + break; + + case 25: +#line 114 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) != (yyvsp[(3) - (3)].val); } + break; + + case 26: +#line 115 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) & (yyvsp[(3) - (3)].val); } + break; + + case 27: +#line 116 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) ^ (yyvsp[(3) - (3)].val); } + break; + + case 28: +#line 117 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) | (yyvsp[(3) - (3)].val); } + break; + + case 29: +#line 118 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) && (yyvsp[(3) - (3)].val); } + break; + + case 30: +#line 119 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) || (yyvsp[(3) - (3)].val); } + break; + + case 31: +#line 120 "eparse.y" + { (yyval.val) = (yyvsp[(3) - (3)].val); } + break; + + case 32: +#line 123 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 33: +#line 124 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 34: +#line 125 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 35: +#line 126 "eparse.y" + { (yyval.val) = (yyvsp[(2) - (3)].val); } + break; + + case 36: +#line 127 "eparse.y" + { (yyval.val) = rd8((yyvsp[(2) - (2)].val)); } + break; + + case 37: +#line 128 "eparse.y" + { (yyval.val) = -(yyvsp[(2) - (2)].val); } + break; + + case 38: +#line 129 "eparse.y" + { (yyval.val) = (yyvsp[(2) - (2)].val); } + break; + + case 39: +#line 130 "eparse.y" + { (yyval.val) = ~(yyvsp[(2) - (2)].val); } + break; + + case 40: +#line 131 "eparse.y" + { (yyval.val) = !(yyvsp[(2) - (2)].val); } + break; + + case 41: +#line 132 "eparse.y" + { (yyval.val) = thash((yyvsp[(2) - (2)].val)); } + break; + + case 42: +#line 133 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) * (yyvsp[(3) - (3)].val); } + break; + + case 43: +#line 134 "eparse.y" + { if ((yyvsp[(3) - (3)].val)) + (yyval.val) = (yyvsp[(1) - (3)].val) / (yyvsp[(3) - (3)].val); + else { + yyerror("division by zero"); + YYABORT; + } + } + break; + + case 44: +#line 141 "eparse.y" + { if ((yyvsp[(3) - (3)].val)) + (yyval.val) = (yyvsp[(1) - (3)].val) % (yyvsp[(3) - (3)].val); + else { + yyerror("division by zero"); + YYABORT; + } + } + break; + + case 45: +#line 148 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) + (yyvsp[(3) - (3)].val); } + break; + + case 46: +#line 149 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) - (yyvsp[(3) - (3)].val); } + break; + + case 47: +#line 150 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) << (yyvsp[(3) - (3)].val); } + break; + + case 48: +#line 151 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) >> (yyvsp[(3) - (3)].val); } + break; + + case 49: +#line 152 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) < (yyvsp[(3) - (3)].val); } + break; + + case 50: +#line 153 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) <= (yyvsp[(3) - (3)].val); } + break; + + case 51: +#line 154 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) > (yyvsp[(3) - (3)].val); } + break; + + case 52: +#line 155 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) >= (yyvsp[(3) - (3)].val); } + break; + + case 53: +#line 156 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) == (yyvsp[(3) - (3)].val); } + break; + + case 54: +#line 157 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) != (yyvsp[(3) - (3)].val); } + break; + + case 55: +#line 158 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) & (yyvsp[(3) - (3)].val); } + break; + + case 56: +#line 159 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) ^ (yyvsp[(3) - (3)].val); } + break; + + case 57: +#line 160 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) | (yyvsp[(3) - (3)].val); } + break; + + case 58: +#line 161 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) && (yyvsp[(3) - (3)].val); } + break; + + case 59: +#line 162 "eparse.y" + { (yyval.val) = (yyvsp[(1) - (3)].val) || (yyvsp[(3) - (3)].val); } + break; + + case 60: +#line 163 "eparse.y" + { (yyval.val) = (yyvsp[(3) - (3)].val); } + break; + + case 62: +#line 167 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 10); } + break; + + case 64: +#line 171 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 16); } + break; + + case 65: +#line 172 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 16); } + break; + + case 66: +#line 175 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 2); } + break; + + case 67: +#line 176 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 8); } + break; + + case 68: +#line 177 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 10); } + break; + + case 69: +#line 178 "eparse.y" + { (yyval.val) = strtonum((yyvsp[(1) - (1)].str), 16); } + break; + + +/* Line 1267 of yacc.c. */ +#line 1907 "eparse.c" + default: break; + } + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else + { + YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); + if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) + { + YYSIZE_T yyalloc = 2 * yysize; + if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) + yyalloc = YYSTACK_ALLOC_MAXIMUM; + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yyalloc); + if (yymsg) + yymsg_alloc = yyalloc; + else + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + } + } + + if (0 < yysize && yysize <= yymsg_alloc) + { + (void) yysyntax_error (yymsg, yystate, yychar); + yyerror (yymsg); + } + else + { + yyerror (YY_("syntax error")); + if (yysize != 0) + goto yyexhaustedlab; + } + } +#endif + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse look-ahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse look-ahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + + /* Do not reclaim the symbols of the rule which action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + yystos[yystate], yyvsp); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + if (yyn == YYFINAL) + YYACCEPT; + + *++yyvsp = yylval; + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#ifndef yyoverflow +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (YY_("memory exhausted")); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: + if (yychar != YYEOF && yychar != YYEMPTY) + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + /* Do not reclaim the symbols of the rule which action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + /* Make sure YYID is used. */ + return YYID (yyresult); +} + + +#line 181 "eparse.y" + + +static REG convert(char c) +{ + if (c >= '0' && c <= '9') + return c - '0'; + else if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + else /* (c >= 'A' && c <= 'F') */ + return c - 'A' + 10; +} + +static REG rd8(REG addr) +{ + DWORD dval; + + return memMRd(0, addr, 8, &dval) ? dval : 0; +} + +static REG strtonum(char *str, int base) +{ + REG num = 0; + + while (*str != '\0') { + num = num * base + convert(*str); + str++; + } + return num; +} + +static void yyerror(char *s) +{ + cmdErr("%s\n", s); +} + diff --git a/src/eparse.h b/src/eparse.h new file mode 100644 index 0000000..3b2db70 --- /dev/null +++ b/src/eparse.h @@ -0,0 +1,101 @@ +/* A Bison parser, made by GNU Bison 2.3. */ + +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + 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, 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., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + LOR = 258, + LAND = 259, + NE = 260, + EQ = 261, + GE = 262, + LE = 263, + SHR = 264, + SHL = 265, + UNARY = 266, + ISYM = 267, + SYM = 268, + NOBASE = 269, + NPFXHEX = 270, + BIN = 271, + OCT = 272, + DEC = 273, + HEX = 274, + UKNWN = 275 + }; +#endif +/* Tokens. */ +#define LOR 258 +#define LAND 259 +#define NE 260 +#define EQ 261 +#define GE 262 +#define LE 263 +#define SHR 264 +#define SHL 265 +#define UNARY 266 +#define ISYM 267 +#define SYM 268 +#define NOBASE 269 +#define NPFXHEX 270 +#define BIN 271 +#define OCT 272 +#define DEC 273 +#define HEX 274 +#define UKNWN 275 + + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +#line 42 "eparse.y" +{ + char *str; + REG val; + } +/* Line 1489 of yacc.c. */ +#line 94 "eparse.h" + YYSTYPE; +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + +extern YYSTYPE yylval; + diff --git a/src/eparse.y b/src/eparse.y new file mode 100644 index 0000000..f43cb8b --- /dev/null +++ b/src/eparse.y @@ -0,0 +1,214 @@ +%{ +/* + * Simulator Expression Parser + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "std.h" +#include "types.h" +#include "memui.h" +#include "exportui.h" +#include "coreui.h" + +REG expval; +ADDR thash(ADDR); + +extern char *yytext; +extern int yylineno; +extern int yylex (void ); +static REG convert(char); +static REG rd8(REG); +static REG strtonum(char *, int); +static void yyerror(char *); + +%} + +%union { + char *str; + REG val; + } + +%left ',' +%right '=' +%left LOR +%left LAND +%left '|' +%left '^' +%left '&' +%left EQ NE +%left '<' LE '>' GE +%left SHL SHR +%left '+' '-' +%left '*' '/' '%' +%left UNARY + +%token ISYM +%token SYM +%token NOBASE +%token NPFXHEX +%token BIN +%token OCT +%token DEC +%token HEX +%token UKNWN + +%type cntexp +%type numexp +%type count +%type number +%type based + +%% +expr : '!' cntexp { expval = $2; } + | '#' numexp { expval = $2; } + +cntexp : count { $$ = $1; } + | ISYM { $$ = $1; } + | SYM { $$ = $1; } + | '(' cntexp ')' { $$ = $2; } + | '*' cntexp %prec UNARY { $$ = rd8($2); } + | '-' cntexp %prec UNARY { $$ = -$2; } + | '+' cntexp %prec UNARY { $$ = $2; } + | '~' cntexp %prec UNARY { $$ = ~$2; } + | '!' cntexp %prec UNARY { $$ = !$2; } + | cntexp '*' cntexp { $$ = $1 * $3; } + | cntexp '/' cntexp { if ($3) + $$ = $1 / $3; + else { + yyerror("division by zero"); + YYABORT; + } + } + | cntexp '%' cntexp { if ($3) + $$ = $1 % $3; + else { + yyerror("division by zero"); + YYABORT; + } + } + | cntexp '+' cntexp { $$ = $1 + $3; } + | cntexp '-' cntexp { $$ = $1 - $3; } + | cntexp SHL cntexp { $$ = $1 << $3; } + | cntexp SHR cntexp { $$ = $1 >> $3; } + | cntexp '<' cntexp { $$ = $1 < $3; } + | cntexp LE cntexp { $$ = $1 <= $3; } + | cntexp '>' cntexp { $$ = $1 > $3; } + | cntexp GE cntexp { $$ = $1 >= $3; } + | cntexp EQ cntexp { $$ = $1 == $3; } + | cntexp NE cntexp { $$ = $1 != $3; } + | cntexp '&' cntexp { $$ = $1 & $3; } + | cntexp '^' cntexp { $$ = $1 ^ $3; } + | cntexp '|' cntexp { $$ = $1 | $3; } + | cntexp LAND cntexp { $$ = $1 && $3; } + | cntexp LOR cntexp { $$ = $1 || $3; } + | cntexp ',' cntexp { $$ = $3; } + ; + +numexp : number { $$ = $1; } + | ISYM { $$ = $1; } + | SYM { $$ = $1; } + | '(' numexp ')' { $$ = $2; } + | '*' numexp %prec UNARY { $$ = rd8($2); } + | '-' numexp %prec UNARY { $$ = -$2; } + | '+' numexp %prec UNARY { $$ = $2; } + | '~' numexp %prec UNARY { $$ = ~$2; } + | '!' numexp %prec UNARY { $$ = !$2; } + | '@' numexp %prec UNARY { $$ = thash($2); } + | numexp '*' numexp { $$ = $1 * $3; } + | numexp '/' numexp { if ($3) + $$ = $1 / $3; + else { + yyerror("division by zero"); + YYABORT; + } + } + | numexp '%' numexp { if ($3) + $$ = $1 % $3; + else { + yyerror("division by zero"); + YYABORT; + } + } + | numexp '+' numexp { $$ = $1 + $3; } + | numexp '-' numexp { $$ = $1 - $3; } + | numexp SHL numexp { $$ = $1 << $3; } + | numexp SHR numexp { $$ = $1 >> $3; } + | numexp '<' numexp { $$ = $1 < $3; } + | numexp LE numexp { $$ = $1 <= $3; } + | numexp '>' numexp { $$ = $1 > $3; } + | numexp GE numexp { $$ = $1 >= $3; } + | numexp EQ numexp { $$ = $1 == $3; } + | numexp NE numexp { $$ = $1 != $3; } + | numexp '&' numexp { $$ = $1 & $3; } + | numexp '^' numexp { $$ = $1 ^ $3; } + | numexp '|' numexp { $$ = $1 | $3; } + | numexp LAND numexp { $$ = $1 && $3; } + | numexp LOR numexp { $$ = $1 || $3; } + | numexp ',' numexp { $$ = $3; } + ; + +count : based + | NOBASE { $$ = strtonum($1, 10); } + ; + +number : based + | NOBASE { $$ = strtonum($1, 16); } + | NPFXHEX { $$ = strtonum($1, 16); } + ; + +based : BIN { $$ = strtonum($1, 2); } + | OCT { $$ = strtonum($1, 8); } + | DEC { $$ = strtonum($1, 10); } + | HEX { $$ = strtonum($1, 16); } + ; + +%% + +static REG convert(char c) +{ + if (c >= '0' && c <= '9') + return c - '0'; + else if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + else /* (c >= 'A' && c <= 'F') */ + return c - 'A' + 10; +} + +static REG rd8(REG addr) +{ + DWORD dval; + + return memMRd(0, addr, 8, &dval) ? dval : 0; +} + +static REG strtonum(char *str, int base) +{ + REG num = 0; + + while (*str != '\0') { + num = num * base + convert(*str); + str++; + } + return num; +} + +static void yyerror(char *s) +{ + cmdErr("%s\n", s); +} diff --git a/src/escan.c b/src/escan.c new file mode 100644 index 0000000..c6b76d4 --- /dev/null +++ b/src/escan.c @@ -0,0 +1,1964 @@ + +#line 3 "escan.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 33 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +#if __STDC__ + +#define YY_USE_CONST + +#endif /* __STDC__ */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE yyrestart(yyin ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +extern int yyleng; + +extern FILE *yyin, *yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, (yytext_ptr) ) + +/* The following is because we cannot portably get our hands on size_t + * (without autoconf's help, which isn't available because we want + * flex-generated scanners to compile on their own). + */ + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef unsigned int yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when yytext is formed. */ +static char yy_hold_char; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = (char *) 0; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void yyrestart (FILE *input_file ); +void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +void yy_delete_buffer (YY_BUFFER_STATE b ); +void yy_flush_buffer (YY_BUFFER_STATE b ); +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state (void ); + +static void yyensure_buffer_stack (void ); +static void yy_load_buffer_state (void ); +static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); + +#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); + +void *yyalloc (yy_size_t ); +void *yyrealloc (void *,yy_size_t ); +void yyfree (void * ); + +#define yy_new_buffer yy_create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +typedef unsigned char YY_CHAR; + +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; + +typedef int yy_state_type; + +extern int yylineno; + +int yylineno = 1; + +extern char *yytext; +#define yytext_ptr yytext + +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + yyleng = (size_t) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + (yy_c_buf_p) = yy_cp; + +#define YY_NUM_RULES 20 +#define YY_END_OF_BUFFER 21 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[39] = + { 0, + 0, 0, 21, 19, 1, 18, 19, 8, 19, 6, + 6, 19, 19, 19, 7, 19, 1, 15, 8, 16, + 6, 9, 9, 9, 0, 0, 10, 12, 14, 13, + 11, 7, 17, 2, 4, 3, 5, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 4, 1, 1, 5, 1, 6, 1, 1, + 1, 1, 1, 1, 1, 5, 1, 7, 8, 9, + 9, 9, 9, 9, 9, 10, 10, 1, 1, 11, + 12, 13, 5, 14, 15, 16, 15, 17, 15, 15, + 5, 5, 5, 5, 5, 5, 5, 5, 18, 5, + 5, 5, 5, 5, 5, 5, 5, 19, 5, 5, + 1, 1, 1, 1, 5, 1, 15, 20, 15, 21, + + 15, 15, 5, 5, 5, 5, 5, 5, 5, 5, + 22, 5, 5, 5, 5, 5, 5, 5, 5, 23, + 5, 5, 1, 24, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[25] = + { 0, + 1, 1, 1, 1, 2, 1, 3, 3, 3, 3, + 1, 1, 1, 2, 3, 3, 3, 2, 2, 3, + 3, 2, 2, 1 + } ; + +static yyconst flex_int16_t yy_base[42] = + { 0, + 0, 0, 68, 107, 65, 107, 53, 0, 58, 18, + 35, 18, 42, 19, 52, 29, 47, 107, 0, 107, + 0, 69, 39, 73, 51, 0, 107, 107, 107, 107, + 107, 79, 107, 0, 0, 54, 0, 107, 101, 103, + 45 + } ; + +static yyconst flex_int16_t yy_def[42] = + { 0, + 38, 1, 38, 38, 38, 38, 38, 39, 38, 38, + 38, 38, 38, 38, 40, 38, 38, 38, 39, 38, + 11, 11, 22, 22, 38, 41, 38, 38, 38, 38, + 38, 40, 38, 23, 24, 38, 41, 0, 38, 38, + 38 + } ; + +static yyconst flex_int16_t yy_nxt[132] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 11, 11, + 12, 13, 14, 4, 15, 15, 15, 8, 8, 15, + 15, 8, 8, 16, 21, 21, 21, 21, 27, 28, + 30, 31, 22, 23, 24, 25, 26, 23, 24, 25, + 26, 21, 21, 21, 21, 34, 34, 37, 17, 22, + 22, 22, 33, 29, 22, 22, 19, 36, 36, 36, + 36, 36, 36, 20, 18, 19, 17, 38, 38, 19, + 19, 38, 38, 19, 19, 22, 22, 22, 22, 35, + 35, 35, 35, 19, 38, 38, 38, 38, 38, 38, + 38, 38, 19, 38, 38, 38, 19, 19, 38, 38, + + 19, 19, 19, 19, 32, 32, 3, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38 + } ; + +static yyconst flex_int16_t yy_chk[132] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 10, 10, 10, 10, 12, 12, + 14, 14, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 11, 11, 11, 11, 23, 23, 41, 17, 11, + 11, 11, 16, 13, 11, 11, 15, 25, 25, 25, + 36, 36, 36, 9, 7, 15, 5, 3, 0, 15, + 15, 0, 0, 15, 15, 22, 22, 22, 22, 24, + 24, 24, 24, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 32, 32, 0, 0, + + 32, 32, 39, 39, 40, 40, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38 + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + +extern int yy_flex_debug; +int yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +char *yytext; +#line 1 "escan.l" +#line 2 "escan.l" +/* + * Simulator Expression Scanner + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "std.h" +#include "types.h" +#include "libsym.h" +#include "exportui.h" +#include "coreui.h" +#include "eparse.h" + +char *expptr; + +#if defined FLEX_SCANNER + +#undef YY_INPUT +#define YY_INPUT(buf,result,max_size) { \ + int c = *expptr++; \ + result = ( c == 0 ) ? YY_NULL : ( buf[ 0 ] = c, 1 ); \ +} +#define YY_NO_UNPUT + +#else /* !FLEX_SCANNER */ + +#undef input +#undef unput +#define input() (*expptr++) +#define unput(c) (*--expptr = c) + +#endif /* !FLEX_SCANNER */ + +static struct isym *symptr; +static ADDR ofs; + +static REG getVal(struct isym *psym); + +#line 548 "escan.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals (void ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap (void ); +#else +extern int yywrap (void ); +#endif +#endif + + static void yyunput (int c,char *buf_ptr ); + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (void ); +#else +static int input (void ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + +#line 56 "escan.l" + + +#line 704 "escan.c" + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer(yyin,YY_BUF_SIZE ); + } + + yy_load_buffer_state( ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 39 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 107 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 58 "escan.l" +{ + ; /* skip blanks and tabs */ +} + YY_BREAK +case 2: +YY_RULE_SETUP +#line 62 "escan.l" +{ + yylval.str = &yytext[2]; + return BIN; +} + YY_BREAK +case 3: +YY_RULE_SETUP +#line 67 "escan.l" +{ + yylval.str = &yytext[2]; + return OCT; +} + YY_BREAK +case 4: +YY_RULE_SETUP +#line 72 "escan.l" +{ + yylval.str = &yytext[2]; + return DEC; +} + YY_BREAK +case 5: +YY_RULE_SETUP +#line 77 "escan.l" +{ + yylval.str = &yytext[2]; + return HEX; +} + YY_BREAK +case 6: +YY_RULE_SETUP +#line 82 "escan.l" +{ + yylval.str = yytext; + return NOBASE; +} + YY_BREAK +case 7: +YY_RULE_SETUP +#line 87 "escan.l" +{ + if ((symptr = isymVLkp((char *)yytext)) != NULL) { + yylval.val = getVal(symptr); + return ISYM; + } else if (symNametoAddr((char *)yytext, &ofs)) { + yylval.val = ofs; + return SYM; + } else { + yylval.str = yytext; + return NPFXHEX; + } +} + YY_BREAK +case 8: +YY_RULE_SETUP +#line 100 "escan.l" +{ + if ((symptr = isymVLkp((char *)yytext)) != NULL) { + yylval.val = getVal(symptr); + return ISYM; + } else if (symNametoAddr((char *)yytext, &ofs)) { + yylval.val = ofs; + return SYM; + } else { + yylval.str = yytext; + cmdErr("Unrecognized symbol name: %s\n", yytext); + return UKNWN; + } +} + YY_BREAK +case 9: +YY_RULE_SETUP +#line 114 "escan.l" +{ + yylval.str = yytext; + return NPFXHEX; +} + YY_BREAK +case 10: +YY_RULE_SETUP +#line 119 "escan.l" +{ + return SHL; +} + YY_BREAK +case 11: +YY_RULE_SETUP +#line 123 "escan.l" +{ + return SHR; +} + YY_BREAK +case 12: +YY_RULE_SETUP +#line 127 "escan.l" +{ + return LE; +} + YY_BREAK +case 13: +YY_RULE_SETUP +#line 131 "escan.l" +{ + return GE; +} + YY_BREAK +case 14: +YY_RULE_SETUP +#line 135 "escan.l" +{ + return EQ; +} + YY_BREAK +case 15: +YY_RULE_SETUP +#line 139 "escan.l" +{ + return NE; +} + YY_BREAK +case 16: +YY_RULE_SETUP +#line 143 "escan.l" +{ + return LAND; +} + YY_BREAK +case 17: +YY_RULE_SETUP +#line 147 "escan.l" +{ + return LOR; +} + YY_BREAK +case 18: +/* rule 18 can match eol */ +YY_RULE_SETUP +#line 151 "escan.l" +{ + return '\n'; +} + YY_BREAK +case 19: +YY_RULE_SETUP +#line 155 "escan.l" +{ + return yytext[0]; +} + YY_BREAK +case 20: +YY_RULE_SETUP +#line 159 "escan.l" +ECHO; + YY_BREAK +#line 951 "escan.c" +case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); + register int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), (size_t) num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + yyrestart(yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + + yy_current_state = (yy_start); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 39 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + register int yy_is_jam; + register char *yy_cp = (yy_c_buf_p); + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 39 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 38); + + return yy_is_jam ? 0 : yy_current_state; +} + + static void yyunput (int c, register char * yy_bp ) +{ + register char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + register int number_to_move = (yy_n_chars) + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + int offset = (yy_c_buf_p) - (yytext_ptr); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart(yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( yywrap( ) ) + return EOF; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer(yyin,YY_BUF_SIZE ); + } + + yy_init_buffer(YY_CURRENT_BUFFER,input_file ); + yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); + */ + yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + yy_init_buffer(b,file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with yy_create_buffer() + * + */ + void yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + yyfree((void *) b->yy_ch_buf ); + + yyfree((void *) b ); +} + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a yyrestart() or at EOF. + */ + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + yy_flush_buffer(b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + yyensure_buffer_stack(); + + /* This block is copied from yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void yyensure_buffer_stack (void) +{ + int num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer(b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * yy_scan_bytes() instead. + */ +YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) +{ + + return yy_scan_bytes(yystr,strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will + * scan from a @e copy of @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) yyalloc(n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer(buf,n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int yyget_lineno (void) +{ + + return yylineno; +} + +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} + +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} + +/** Get the length of the current token. + * + */ +int yyget_leng (void) +{ + return yyleng; +} + +/** Get the current token. + * + */ + +char *yyget_text (void) +{ + return yytext; +} + +/** Set the current line number. + * @param line_number + * + */ +void yyset_lineno (int line_number ) +{ + + yylineno = line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * + * @see yy_switch_to_buffer + */ +void yyset_in (FILE * in_str ) +{ + yyin = in_str ; +} + +void yyset_out (FILE * out_str ) +{ + yyout = out_str ; +} + +int yyget_debug (void) +{ + return yy_flex_debug; +} + +void yyset_debug (int bdebug ) +{ + yy_flex_debug = bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from yylex_destroy(), so don't allocate here. + */ + + (yy_buffer_stack) = 0; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = (char *) 0; + (yy_init) = 0; + (yy_start) = 0; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * yylex_init() + */ + return 0; +} + +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s ) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *yyalloc (yy_size_t size ) +{ + return (void *) malloc( size ); +} + +void *yyrealloc (void * ptr, yy_size_t size ) +{ + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); +} + +void yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 159 "escan.l" + + + +int yywrap() { return 1; } + +/* XXX - copied from ssDCmd.h */ +#ifdef NEW_MP +extern unsigned viewPid; +#else +#define viewPid 0 +#endif +static REG getVal(struct isym *psym) +{ + switch (psym->type) { + case SINGLE_SYM: + return psym->getFn(viewPid); + case REGSET_SYM: + return psym->getFn(viewPid, psym->ndx); + case BITF_SYM: + return (psym->getFn(viewPid) << (63 - psym->start)) >> (64 - psym->len); + case RS_BITF_SYM: + return (psym->getFn(viewPid, psym->ndx) << (63 - psym->start)) >> (64 - psym->len); + default: + return 0; + } + /*NOTREACHED*/ +} + diff --git a/src/escan.l b/src/escan.l new file mode 100644 index 0000000..e633699 --- /dev/null +++ b/src/escan.l @@ -0,0 +1,184 @@ +%{ +/* + * Simulator Expression Scanner + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "std.h" +#include "types.h" +#include "libsym.h" +#include "exportui.h" +#include "coreui.h" +#include "eparse.h" + +char *expptr; + +#if defined FLEX_SCANNER + +#undef YY_INPUT +#define YY_INPUT(buf,result,max_size) { \ + int c = *expptr++; \ + result = ( c == 0 ) ? YY_NULL : ( buf[ 0 ] = c, 1 ); \ +} +#define YY_NO_UNPUT + +#else /* !FLEX_SCANNER */ + +#undef input +#undef unput +#define input() (*expptr++) +#define unput(c) (*--expptr = c) + +#endif /* !FLEX_SCANNER */ + +static struct isym *symptr; +static ADDR ofs; + +static REG getVal(struct isym *psym); + +%} +%% + +[ \t]+ { + ; /* skip blanks and tabs */ +} + +(0b|0B)[01]+ { + yylval.str = &yytext[2]; + return BIN; +} + +(0o|0O)[0-7]+ { + yylval.str = &yytext[2]; + return OCT; +} + +(0d|0D)[0-9]+ { + yylval.str = &yytext[2]; + return DEC; +} + +(0x|0X)[0-9a-fA-F]+ { + yylval.str = &yytext[2]; + return HEX; +} + +[0-9]+ { + yylval.str = yytext; + return NOBASE; +} + +[a-fA-F][0-9a-fA-F]* { + if ((symptr = isymVLkp((char *)yytext)) != NULL) { + yylval.val = getVal(symptr); + return ISYM; + } else if (symNametoAddr((char *)yytext, &ofs)) { + yylval.val = ofs; + return SYM; + } else { + yylval.str = yytext; + return NPFXHEX; + } +} + +[a-zA-Z$_?.][a-zA-Z$_0-9?.@]* { + if ((symptr = isymVLkp((char *)yytext)) != NULL) { + yylval.val = getVal(symptr); + return ISYM; + } else if (symNametoAddr((char *)yytext, &ofs)) { + yylval.val = ofs; + return SYM; + } else { + yylval.str = yytext; + cmdErr("Unrecognized symbol name: %s\n", yytext); + return UKNWN; + } +} + +[0-9a-fA-F]+ { + yylval.str = yytext; + return NPFXHEX; +} + +"<<" { + return SHL; +} + +">>" { + return SHR; +} + +"<=" { + return LE; +} + +">=" { + return GE; +} + +"==" { + return EQ; +} + +"!=" { + return NE; +} + +"&&" { + return LAND; +} + +"||" { + return LOR; +} + +\n { + return '\n'; +} + +. { + return yytext[0]; +} + +%% + +int yywrap() { return 1; } + +/* XXX - copied from ssDCmd.h */ +#ifdef NEW_MP +extern unsigned viewPid; +#else +#define viewPid 0 +#endif +static REG getVal(struct isym *psym) +{ + switch (psym->type) { + case SINGLE_SYM: + return psym->getFn(viewPid); + case REGSET_SYM: + return psym->getFn(viewPid, psym->ndx); + case BITF_SYM: + return (psym->getFn(viewPid) << (63 - psym->start)) >> (64 - psym->len); + case RS_BITF_SYM: + return (psym->getFn(viewPid, psym->ndx) << (63 - psym->start)) >> (64 - psym->len); + default: + return 0; + } + /*NOTREACHED*/ +} diff --git a/src/exec.c b/src/exec.c new file mode 100644 index 0000000..87220ea --- /dev/null +++ b/src/exec.c @@ -0,0 +1,1089 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Execution Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" + +Status addEx(INSTINFO *info) +{ + ALU_2OP_EX(SRC1 + SRC2); + return 0; +} + +Status add1Ex(INSTINFO *info) +{ + ALU_2OP_EX(SRC1 + SRC2 + 1); + return 0; +} + +Status addp4Ex(INSTINFO *info) +{ + ALU_2OP_EX(BitfX(SRC2,32,2) << 61 | (WORD)(SRC1 + SRC2)); + return 0; +} + +Status andEx(INSTINFO *info) +{ + ALU_2OP_EX(SRC1 & SRC2); + return 0; +} + +Status andcEx(INSTINFO *info) +{ + ALU_2OP_EX(SRC1 & ~SRC2); + return 0; +} + +Status allocEx(INSTINFO *info) +{ + DST1 = SRC1; + return 0; +} + +Status brCallEx(INSTINFO *info) +{ + int callNat; + + DST1 = SRC2; + DST2 = SRC1; + /* XXX - can ORing of PSR_CPL be avoided in application mode? */ + /* XXX - the following might need to be moved to the write stage */ + PFS_PPL = PSR_CPL; + PFS_PEC = EC_CNT; + PFM_RRBP = rrbp; + PFM_RRBF = rrbf; + PFM_RRBG = rrbg; + PFM_SOR = sor >> 3; + PFM_SOIL = soil; + PFM_SOF = sof; + + /* equivalent to SDM' call to rse_preserve_frame(soil) from here... */ + if (bol + soil > (N_STACK_PHYS - 1)) { + bol -= N_STACK_PHYS - soil; + } else + bol += soil; + callNat = NATS_GROW(BSP, soil); + BSP += (soil + callNat) * 8; + dirty += soil; + dirtyNat += callNat; + /* ---------------------------------------------------- ... to here */ + + sof -= soil; + return 0; +} + +Status brCexitEx(INSTINFO *info) +{ + DST1 = SRC1; + DST2 = !(LC > 0 || EC_CNT > 1); + if (LC > 0) { + LC--; + PrWrt(63, 1); + rotate_regs(); + } else if (EC_CNT > 0) { + EC_CNT--; + PrWrt(63, 0); + rotate_regs(); + } else + PrWrt(63, 0); + return 0; +} + +Status brCloopEx(INSTINFO *info) +{ + DST1 = SRC1; + DST2 = LC > 0; + if (LC > 0) + LC--; + return 0; +} + +Status brCondiEx(INSTINFO *info) +{ + DST1 = SRC1 & ~(ADDR)0xF; + return 0; +} + +Status brpEx(INSTINFO *info) +{ + DST1 = SRC1; + traceBrPred(DST1); + return 0; +} + +Status brpiEx(INSTINFO *info) +{ + DST1 = SRC1 & ~(ADDR)0xF; + traceBrPred(DST1); + return 0; +} + +Status brCtopEx(INSTINFO *info) +{ + DST1 = SRC1; + DST2 = LC > 0 || EC_CNT > 1; + if (LC > 0) { + LC--; + PrWrt(63, 1); + rotate_regs(); + } else if (EC_CNT > 0) { + EC_CNT--; + PrWrt(63, 0); + rotate_regs(); + } else + PrWrt(63, 0); + return 0; +} + +Status brIAEx(INSTINFO *info) +{ + if (SRC2 || BSPST != BSP) { + illegalOpFault(); + return StFault; + } + if (PSR_DI) { + disabledInstSetTransitionFault(); + return StFault; + } + DST1 = SRC1; + return 0; +} + +Status brRetEx(INSTINFO *info) +{ + int growth, old_frame = sof; + + DST1 = SRC1 & ~(ADDR)0xF; + growth = (int)PFM_SOF - (int)PFM_SOIL - (int)sof; + /* XXX - the following might need to be moved to the write stage */ + EC_CNT = PFS_PEC; + rrbp = PFM_RRBP; + rrbf = PFM_RRBF; + rrbg = PFM_RRBG; + sor = PFM_SOR << 3; + soil = PFM_SOIL; + sof = PFM_SOF; + if (bol < soil) { + bol += N_STACK_PHYS - soil; + } else + bol -= soil; + /* XXX */ + updateGrMap(0); + rse_restore_frame(soil, growth, old_frame); + if (cfle) st |= ST_CHECK; + /* Demote privilege */ + /* XXX - can this be avoided in application mode? */ + if (PSR_CPL < PFS_PPL) { + PSR_CPL = PFS_PPL; + if (PSR_LP) { + unsigned slot = SLOT(ip); + + if (!unixABI && PSR_IC) + IIPA = ip; + ip = DST1; + if (unimplAddr(ip)) + unimplInstructionAddressTrap(slot, StTrap); + else + lowerPrivilegeTransferTrap(slot); + return StTrap; + } + } + tracePrevPFS(PFS); + return 0; +} + +Status brWexitEx(INSTINFO *info) +{ + DST1 = SRC1; + DST2 = !(SRC2 || EC_CNT > 1); + PrWrt(63, 0); + if (SRC2) + rotate_regs(); + else if (EC_CNT > 0) { + EC_CNT--; + rotate_regs(); + } + return 0; +} + +Status brWtopEx(INSTINFO *info) +{ + DST1 = SRC1; + DST2 = SRC2 || EC_CNT > 1; + PrWrt(63, 0); + if (SRC2) + rotate_regs(); + else if (EC_CNT > 0) { + EC_CNT--; + rotate_regs(); + } + return 0; +} + +Status breakEx(INSTINFO *info) +{ + if (!SRC2 && isbpt(SRC1) != -1) { + static char sym[40]; + + symAddrtoName(SRC1, sym, 4, NO, -32); + progStop("Breakpoint (IA-64) at %s\n", sym); + /* counts and commands in breakpoints are not implemented yet. */ + } +/* XXX - move these or get them from a header ? */ +#define BREAK_DE_SVC_LOADED 1 +#define BREAK_DE_LIB_LOADED 2 +#define BREAK_DE_LIB_UNLOADED 3 +#define BREAK_DE_LOAD_COMPLETE 4 +#define BREAK_DE_BOR 5 +#define BREAK_DEBUG_EVENT 0xF0327ULL + /* XXX - use #defines for the constants here */ + if (unixABI && +#if defined __linux__ + (imm64 == 0x100000) +#else /* !defined __linux__ */ + !SRC2 && SRC1 == 0xE000000000000000ULL +#endif /* !defined __linux__ */ + ) + doSyscall(SC_NUM, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, + &SC_RET, &SC_STAT); + else if (unixABI && (imm64 == BREAK_DEBUG_EVENT || imm64 == 0x70327ULL)) + switch ((int)ARG0) { + case BREAK_DE_SVC_LOADED: + case BREAK_DE_LIB_LOADED: + addLM(ARG1, ARG2); + break; + case BREAK_DE_LIB_UNLOADED: + break; + case BREAK_DE_LOAD_COMPLETE: + break; + case BREAK_DE_BOR: + break; + default: + breakInstFault(SRC2); + return StFault; + } + else if (!unixABI && (imm64 == 0x80000ULL || imm64 == 0x80001ULL)) { + GrRd(15, SC_NUM, SRCNAT1, NO); /* XXX - check SRCNAT1? */ + doSSC(SC_NUM, ARG0, ARG1, ARG2, ARG3, &SC_RET); + st |= ST_CHECK; + } else if (!unixABI && (SRC1 >= 0x12FFF000ULL && SRC1 < 0x13000000ULL)) { + SC_RET = doFW(imm64, ARG0, ARG1, ARG2, ARG3); + /* XXX - for CSY Tests, halt on "break 0" */ + } else if (!unixABI && !imm64) + progExit("Halting Simulation\n"); + else { + breakInstFault(SRC2); + return StFault; + } + return 0; +} + +Status chkarNcEx(INSTINFO *info) +{ + DST1 = SRC1; + if (ALAT_WRITE_CHECK) + DST2 = alat_cmp(NO, r1, NO); + else + DST2 = 1; + return 0; +} + +Status chkarClrEx(INSTINFO *info) +{ + DST1 = SRC1; + if (ALAT_WRITE_CHECK) + DST2 = alat_cmp(NO, r1, YES); + else + DST2 = 1; + return 0; +} + +Status chkafNcEx(INSTINFO *info) +{ + DST1 = SRC1; + if (ALAT_WRITE_CHECK) + DST2 = alat_cmp(YES, f1, NO); + else + DST2 = 1; + return 0; +} + +Status chkafClrEx(INSTINFO *info) +{ + DST1 = SRC1; + if (ALAT_WRITE_CHECK) + DST2 = alat_cmp(YES, f1, YES); + else + DST2 = 1; + return 0; +} + +Status cmp4eqEx(INSTINFO *info) +{ + CMP_EX((WORD)SRC1 == (WORD)SRC2); + return 0; +} + +Status cmp4neEx(INSTINFO *info) +{ + CMP_EX((WORD)SRC1 != (WORD)SRC2); + return 0; +} + +Status cmp4gtEx(INSTINFO *info) +{ + CMP_EX((int)SRC1 > (int)SRC2); + return 0; +} + +Status cmp4geEx(INSTINFO *info) +{ + CMP_EX((int)SRC1 >= (int)SRC2); + return 0; +} + +Status cmp4ltEx(INSTINFO *info) +{ + CMP_EX((int)SRC1 < (int)SRC2); + return 0; +} + +Status cmp4ltuEx(INSTINFO *info) +{ + CMP_EX((WORD)SRC1 < (WORD)SRC2); + return 0; +} + +Status cmp4leEx(INSTINFO *info) +{ + CMP_EX((int)SRC1 <= (int)SRC2); + return 0; +} + +Status cmpeqEx(INSTINFO *info) +{ + CMP_EX(SRC1 == SRC2); + return 0; +} + +Status cmpneEx(INSTINFO *info) +{ + CMP_EX(SRC1 != SRC2); + return 0; +} + +Status cmpgtEx(INSTINFO *info) +{ + CMP_EX((long long)SRC1 > (long long)SRC2); + return 0; +} + +Status cmpgeEx(INSTINFO *info) +{ + CMP_EX((long long)SRC1 >= (long long)SRC2); + return 0; +} + +Status cmpltEx(INSTINFO *info) +{ + CMP_EX((long long)SRC1 < (long long)SRC2); + return 0; +} + +Status cmpltuEx(INSTINFO *info) +{ + CMP_EX(SRC1 < SRC2); + return 0; +} + +Status cmpleEx(INSTINFO *info) +{ + CMP_EX((long long)SRC1 <= (long long)SRC2); + return 0; +} + +Status copyfromgrEx(INSTINFO *info) +{ + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + DST1 = SRC1; + return 0; +} + +Status copytogrEx(INSTINFO *info) +{ + DST1 = SRC1; + DSTNAT1 = 0; + return 0; +} + +Status copyEx(INSTINFO *info) +{ + DST1 = SRC1; + return 0; +} + +Status coverEx(INSTINFO *info) +{ + int coverNat; + + /* equivalent to SDM' call to rse_preserve_frame(sof) from here... */ + if (bol + sof > (N_STACK_PHYS - 1)) { + bol -= N_STACK_PHYS - sof; + } else + bol += sof; + coverNat = NATS_GROW(BSP, sof); + BSP += (sof + coverNat) * 8; + dirty += sof; + dirtyNat += coverNat; + /* --------------------------------------------------- ... to here */ + + if (!PSR_IC) { + IFM_RRBP = rrbp; + IFM_RRBF = rrbf; + IFM_RRBG = rrbg; + IFM_SOR = sor >> 3; + IFM_SOIL = soil; + IFM_SOF = sof; + IFS_V = 1; + } + sof = soil = sor = rrbg = rrbf = rrbp = 0; + updateGrMap(0); + return 0; +} + +Status czx1lEx(INSTINFO *info) +{ + REG mask = 0xff00000000000000ULL, inx; + + for (inx = 0; inx < 8; inx++) { + if (!(SRC1 & mask)) + break; + mask >>= 8; + } + ALU_1OP_EX(inx); + return 0; +} + +Status czx1rEx(INSTINFO *info) +{ + REG mask = 0xff, inx; + + for (inx = 0; inx < 8; inx++) { + if (!(SRC1 & mask)) + break; + mask <<= 8; + } + ALU_1OP_EX(inx); + return 0; +} + +Status czx2lEx(INSTINFO *info) +{ + REG mask = 0xffff000000000000ULL, inx; + + for (inx = 0; inx < 4; inx++) { + if (!(SRC1 & mask)) + break; + mask >>= 16; + } + ALU_1OP_EX(inx); + return 0; +} + +Status czx2rEx(INSTINFO *info) +{ + REG mask = 0xffff, inx; + + for (inx = 0; inx < 4; inx++) { + if (!(SRC1 & mask)) + break; + mask <<= 16; + } + ALU_1OP_EX(inx); + return 0; +} + +Status depEx(INSTINFO *info) +{ + ALU_2OP_EX((SRC2 & ~(ONES(LEN) << POS)) | ((SRC1 & ONES(LEN)) << POS)); + return 0; +} + +Status depzEx(INSTINFO *info) +{ + ALU_1OP_EX((SRC1 & ONES(len6)) << POS); + return 0; +} + +Status extrEx(INSTINFO *info) +{ + if (POS + LEN > 64) + LEN = 64 - POS; + ALU_1OP_EX(((long long)(SRC1 << (64-POS-LEN))) >> (64-LEN)); + return 0; +} + +Status extruEx(INSTINFO *info) +{ + if (POS + LEN > 64) + LEN = 64 - POS; + ALU_1OP_EX((SRC1 >> POS) & ONES(LEN)); + return 0; +} + +Status flushrsEx(INSTINFO *info) +{ + while (dirty + dirtyNat > 0) { + if (rse_store() == -1) + return StFault; + /* The SDM includes call to... */ + /* deliver_unmasked_pending_external_interrupt(); */ + } + return 0; +} + +Status hintEx(INSTINFO *info) +{ + /* execute_hint() */ + return 0; +} + +Status invalaEx(INSTINFO *info) +{ + if (ALAT_WRITE_CHECK) + alat_inval_all_entries(); + return 0; +} + +Status invalar1Ex(INSTINFO *info) +{ + if (ALAT_WRITE_CHECK) + alat_inval_single_entry(NO, r1); + return 0; +} + +Status invalaf1Ex(INSTINFO *info) +{ + if (ALAT_WRITE_CHECK) + alat_inval_single_entry(YES, f1); + return 0; +} + +Status loadrsEx(INSTINFO *info) +{ + ADDR tmp_ptr; + ADDR BspLoad = BSPST - (clean + cleanNat) * 8; + int words_to_load; + + if (RSC_MODE || (RSC_LOADRS && sof)) { + illegalOpFault(); + return StFault; + } + + /* equivalent to SDM' call to rse_ensure_regs_loaded(RSC_LOADRS) up to...*/ + words_to_load = (RSC_LOADRS >> 3) - (clean + cleanNat + dirty + dirtyNat) ; + if (words_to_load >= 0) { + dirtyNat += cleanNat; + dirty += clean; + BSPST = BSP - (dirty + dirtyNat) * 8; + cleanNat = clean = 0; + while (words_to_load > 0) { + int regs_loaded; + + if (dirty == N_STACK_PHYS && NAT_COLLECT_BIT(BspLoad - 8) != 63) { + illegalOpFault(); + return StFault; + } + if ((regs_loaded = rse_load()) == -1) + return StFault; + if (regs_loaded) { + dirty++; + clean--; + } else { + dirtyNat++; + cleanNat--; + } + BSPST = BSP - (dirty + dirtyNat) * 8; + BspLoad -= 8; + words_to_load--; + } + } else { + tmp_ptr = BSP - (RSC_LOADRS & ~0x7); + dirtyNat = ((long long)BSP >> 9) - ((long long)tmp_ptr >> 9); + dirty = (RSC_LOADRS >> 3) - dirtyNat; + BSPST = BSP - (dirty + dirtyNat) * 8; + clean = cleanNat = 0; + invalid = N_STACK_PHYS - (sof + dirty + clean); + } + /* ------------------------------------------------------------ ... here */ + + /* SDM also makes RNAT undefined */ + + return 0; +} + +Status movImmEx(INSTINFO *info) +{ + DST1 = imm64; + return 0; +} + +Status movlEx(INSTINFO *info) +{ + DST1 = imm64; + DSTNAT1 = 0; + return 0; +} + +Status movprgrEx(INSTINFO *info) +{ + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + DST1 = SRC1; + DST2 = sign_ext(imm64, 17); +} + +Status movtopsrumEx(INSTINFO *info) +{ + /* SRC2 is psr */ + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + if (reservedUserMaskField(SRC1)) { + reservedRegFieldFault(0); + return StFault; + } + DST1 = SRC2; + X_PSR_BE(DST1) = X_PSR_BE(SRC1); + if (!X_PSR_SP(SRC2)) + X_PSR_UP(DST1) = X_PSR_UP(SRC1); + BitfR(DST1,58,3) = BitfX(SRC1,58,3); + return 0; +} + +Status movfrompsrumEx(INSTINFO *info) +{ + DST1 = X_PSR_UM(SRC1); + DSTNAT1 = 0; + return 0; +} + +Status movfromarmEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r1) || reservedARm(ar3)) { + illegalOpFault(); + return StFault; + } + if ((ar3 == RNAT_ID || ar3 == BSPST_ID) && RSC_MODE) { + illegalOpFault(); + return StFault; + } + /* XXX - move PSR_SI and PSR_CPL reads to read function? */ + if (ar3 == ITC_ID && PSR_SI && PSR_CPL) { + privRegFault(); + return StFault; + } + DST1 = SRC1; + DSTNAT1 = 0; + return 0; +} + +Status movfromariEx(INSTINFO *info) +{ + if (reservedARi(ar3)) { + illegalOpFault(); + return StFault; + } + DST1 = SRC1; + DSTNAT1 = 0; + return 0; +} + +Status movtoarmEx(INSTINFO *info) +{ + if (reservedARm(ar3) || ar3 == BSP_ID) { + illegalOpFault(); + return StFault; + } + if ((ar3 == RNAT_ID || ar3 == BSPST_ID) && RSC_MODE) { + illegalOpFault(); + return StFault; + } + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + if (ar3 == RSC_ID && reservedRscField(SRC1)) { + reservedRegFieldFault(0); + return StFault; + } + if (ar3 == FPSR_ID && reservedFpsrField(SRC1)) { + reservedRegFieldFault(0); + return StFault; + } + /* Assumes K0_ID is 0 */ + if ((ar3 == ITC_ID || ar3 <= K7_ID) && PSR_CPL) { + privRegFault(); + return StFault; + } + if (ignoredAR(ar3)) + return StSuccess; + if (ar3 == BSPST_ID) { + DST1 = SRC1 & ~7; + /* equivalent to SDM' call to rse_update_internal_stack_pointers() */ + /* from here... */ + dirtyNat = NATS_GROW(DST1, dirty); + BSP = DST1 + (dirty + dirtyNat) * 8; + invalid += clean; + clean = cleanNat = 0; + /* --------------------------------------------------- ... to here */ + /* SDM also makes RNAT undefined */ + } else if (ar3 == RNAT_ID) + DST1 = BitfX(SRC1,1,63); + else if (ar3 == RSC_ID && XRSC_PL(SRC1) < PSR_CPL) { + DST1 = SRC1; + XRSC_PL(DST1) = PSR_CPL; + } else + DST1 = SRC1; + return 0; +} + +Status movtoariEx(INSTINFO *info) +{ + if (reservedARi(ar3)) { + illegalOpFault(); + return StFault; + } + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + if (ar3 == PFS_ID && reservedPfsField(SRC1)) { + reservedRegFieldFault(0); + return StFault; + } + if (ignoredAR(ar3)) + return StSuccess; + if (ar3 == EC_ID) + DST1 = BitfX(SRC1,58,6); + else + DST1 = SRC1; + return 0; +} + +Status movfromcpuidEx(INSTINFO *info) +{ + if (SRCNAT1) { + regNatConsumptionFault(0); + return StFault; + } + if (B7(SRC1) >= NCPUIDS) { + reservedRegFieldFault(0); + return StFault; + } + DST1 = CpuidRd(B7(SRC1)); + DSTNAT1 = 0; + return 0; +} + +Status nopEx(INSTINFO *info) +{ + return 0; +} + +Status orEx(INSTINFO *info) +{ + DST1 = SRC1 | SRC2; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status proberEx(INSTINFO *info) +{ + unsigned tmp_pl; + int ret; + + if (OUT_OF_FRAME(r1)) { /* remove redundant check in write phase? */ + illegalOpFault(); + return StFault; + } + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(PROBER_ACCESS); + return StFault; + } + tmp_pl = BitfX(SRC1,62,2); + /* XXX - Should PSR_CPL be read in read function? */ + if (tmp_pl < PSR_CPL) + tmp_pl = PSR_CPL; + if ((ret = probeLookup(SRC2, PROBER_ACCESS, tmp_pl)) == -1) + return StFault; + DST1 = ret; + DSTNAT1 = 0; + return 0; +} + +Status probewEx(INSTINFO *info) +{ + unsigned tmp_pl; + int ret; + + if (OUT_OF_FRAME(r1)) { /* remove redundant check in write phase? */ + illegalOpFault(); + return StFault; + } + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(PROBEW_ACCESS); + return StFault; + } + tmp_pl = BitfX(SRC1,62,2); + /* XXX - Should PSR_CPL be read in read function? */ + if (tmp_pl < PSR_CPL) + tmp_pl = PSR_CPL; + if ((ret = probeLookup(SRC2, PROBEW_ACCESS, tmp_pl)) == -1) + return StFault; + DST1 = ret; + DSTNAT1 = 0; + return 0; +} + +Status proberwFEx(INSTINFO *info) +{ + unsigned tmp_pl; + ADDR pa; + + if (SRCNAT2) { + regNatConsumptionFault(PROBERW_ACCESS); + return StFault; + } + tmp_pl = BitfX(SRC1,62,2); + /* XXX - Should PSR_CPL be read in read function? */ + if (tmp_pl < PSR_CPL) + tmp_pl = PSR_CPL; + if (dtlbLookup(SRC2, 1, PROBERW_ACCESS, tmp_pl, PSR_DT, &pa) == -1) + return StFault; + return 0; +} + +Status proberFEx(INSTINFO *info) +{ + unsigned tmp_pl; + ADDR pa; + + if (SRCNAT2) { + regNatConsumptionFault(PROBERF_ACCESS); + return StFault; + } + tmp_pl = BitfX(SRC1,62,2); + /* XXX - Should PSR_CPL be read in read function? */ + if (tmp_pl < PSR_CPL) + tmp_pl = PSR_CPL; + if (dtlbLookup(SRC2, 1, PROBERF_ACCESS, tmp_pl, PSR_DT, &pa) == -1) + return StFault; + return 0; +} + +Status probewFEx(INSTINFO *info) +{ + unsigned tmp_pl; + ADDR pa; + + if (SRCNAT2) { + regNatConsumptionFault(PROBEWF_ACCESS); + return StFault; + } + tmp_pl = BitfX(SRC1,62,2); + /* XXX - Should PSR_CPL be read in read function? */ + if (tmp_pl < PSR_CPL) + tmp_pl = PSR_CPL; + if (dtlbLookup(SRC2, 1, PROBEWF_ACCESS, tmp_pl, PSR_DT, &pa) == -1) + return StFault; + return 0; +} + +Status rumEx(INSTINFO *info) +{ + if (reservedUserMaskField(imm64)) { + reservedRegFieldFault(0); + return StFault; + } + DST1 = SRC1; + X_PSR_BE(DST1) &= ~X_PSR_BE(imm64); + if (!X_PSR_SP(SRC1)) + X_PSR_UP(DST1) &= ~X_PSR_UP(imm64); + BitfR(DST1,58,3) &= ~BitfX(imm64,58,3); + return 0; +} + +Status shladdEx(INSTINFO *info) +{ + DST1 = (SRC1 << CNT) + SRC2; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status shladdp4Ex(INSTINFO *info) +{ + DST1 = (WORD)((SRC1 << CNT) + SRC2); + DST1 |= BitfX(SRC2,32,2) << 61; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status shrpEx(INSTINFO *info) +{ + DST1 = CNT ? (SRC1 << (64-CNT)) | (SRC2 >> CNT) : SRC2; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status subEx(INSTINFO *info) +{ + DST1 = SRC1 - SRC2; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status sub1Ex(INSTINFO *info) +{ + DST1 = SRC1 - SRC2 - 1; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status sumEx(INSTINFO *info) +{ + if (reservedUserMaskField(imm64)) { + reservedRegFieldFault(0); + return StFault; + } + DST1 = SRC1; + X_PSR_BE(DST1) |= X_PSR_BE(imm64); + if (!X_PSR_SP(SRC1)) + X_PSR_UP(DST1) |= X_PSR_UP(imm64); + BitfR(DST1,58,3) |= BitfX(imm64,58,3); + return 0; +} + +Status sxt1Ex(INSTINFO *info) +{ + DST1 = (long long)(SRC1 << 56) >> 56; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status sxt2Ex(INSTINFO *info) +{ + DST1 = (long long)(SRC1 << 48) >> 48; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status sxt4Ex(INSTINFO *info) +{ + DST1 = (long long)(SRC1 << 32) >> 32; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status tbitNzEx(INSTINFO *info) +{ + CMPRES1 = BitfX(SRC1,63-POS,1); + CMPRES2 = !CMPRES1; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status tbitZEx(INSTINFO *info) +{ + if (QUAL) { + CMPRES1 = !BitfX(SRC1,63-POS,1); + CMPRES2 = !CMPRES1; + } else { + CMPRES1 = 0; + CMPRES2 = 0; + } + DSTNAT1 = SRCNAT1; + return 0; +} + +Status tnatNzEx(INSTINFO *info) +{ + CMPRES1 = SRCNAT1; + CMPRES2 = !CMPRES1; + DSTNAT1 = 0; + return 0; +} + +Status tnatZEx(INSTINFO *info) +{ + if (QUAL) { + CMPRES1 = !SRCNAT1; + CMPRES2 = !CMPRES1; + } else { + CMPRES1 = 0; + CMPRES2 = 0; + } + DSTNAT1 = 0; + return 0; +} + +Status xorEx(INSTINFO *info) +{ + DST1 = SRC1 ^ SRC2; + DSTNAT1 = SRCNAT1 | SRCNAT2; + return 0; +} + +Status zxt1Ex(INSTINFO *info) +{ + DST1 = (BYTE)SRC1; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status zxt2Ex(INSTINFO *info) +{ + DST1 = (HWORD)SRC1; + DSTNAT1 = SRCNAT1; + return 0; +} + +Status zxt4Ex(INSTINFO *info) +{ + DST1 = (WORD)SRC1; + DSTNAT1 = SRCNAT1; + return 0; +} diff --git a/src/execTbl b/src/execTbl new file mode 100644 index 0000000..7c78f95 --- /dev/null +++ b/src/execTbl @@ -0,0 +1,2168 @@ +# +# Simulator Execution Table +# +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# +# Note: Instructions are listed here in the same order they appear in +# the SDM encodings chapter. +# +########################### Format A1 ####################################### +add_r1_r2_r3 addEx twoGrRd oneGrWrt +add_r1_r2_r3_1 add1Ex twoGrRd oneGrWrt +sub_r1_r2_r3 subEx twoGrRd oneGrWrt +sub_r1_r2_r3_1 sub1Ex twoGrRd oneGrWrt +addp4_r1_r2_r3 addp4Ex twoGrRd oneGrWrt +and_r1_r2_r3 andEx twoGrRd oneGrWrt +andcm_r1_r2_r3 andcEx twoGrRd oneGrWrt +or_r1_r2_r3 orEx twoGrRd oneGrWrt +xor_r1_r2_r3 xorEx twoGrRd oneGrWrt +########################### Format A2 ####################################### +shladd_r1_r2_count2_r3 shladdEx shaddRd oneGrWrt +shladdp4_r1_r2_count2_r3 shladdp4Ex shaddRd oneGrWrt +########################### Format A3 ####################################### +sub_r1_imm8_r3 subEx immGrRd oneGrWrt +and_r1_imm8_r3 andEx immGrRd oneGrWrt +andcm_r1_imm8_r3 andcEx immGrRd oneGrWrt +or_r1_imm8_r3 orEx immGrRd oneGrWrt +xor_r1_imm8_r3 xorEx immGrRd oneGrWrt +########################### Format A4 ####################################### +adds_r1_imm14_r3 addEx immGrRd oneGrWrt +addp4_r1_imm14_r3 addp4Ex immGrRd oneGrWrt +########################### Format A5 ####################################### +addl_r1_imm22_r3 alias adds_r1_imm14_r3 +########################### Format A6 ####################################### +cmp_lt_p1_p2_r2_r3 cmpltEx cmpGrRd twoPrWrt +cmp_ltu_p1_p2_r2_r3 cmpltuEx cmpGrRd twoPrWrt +cmp_eq_p1_p2_r2_r3 cmpeqEx cmpGrRd twoPrWrt +cmp_lt_unc_p1_p2_r2_r3 cmpltEx cmpuncRd twoPrWrt +cmp_ltu_unc_p1_p2_r2_r3 cmpltuEx cmpuncRd twoPrWrt +cmp_eq_unc_p1_p2_r2_r3 cmpeqEx cmpuncRd twoPrWrt +cmp_eq_and_p1_p2_r2_r3 cmpeqEx cmpGrRd twoPrAndWrt +cmp_eq_or_p1_p2_r2_r3 cmpeqEx cmpGrRd twoPrOrWrt +cmp_eq_or_andcm_p1_p2_r2_r3 cmpeqEx cmpGrRd twoPrOACWrt +cmp_ne_and_p1_p2_r2_r3 cmpneEx cmpGrRd twoPrAndWrt +cmp_ne_or_p1_p2_r2_r3 cmpneEx cmpGrRd twoPrOrWrt +cmp_ne_or_andcm_p1_p2_r2_r3 cmpneEx cmpGrRd twoPrOACWrt +cmp4_lt_p1_p2_r2_r3 cmp4ltEx cmpGrRd twoPrWrt +cmp4_ltu_p1_p2_r2_r3 cmp4ltuEx cmpGrRd twoPrWrt +cmp4_eq_p1_p2_r2_r3 cmp4eqEx cmpGrRd twoPrWrt +cmp4_lt_unc_p1_p2_r2_r3 cmp4ltEx cmpuncRd twoPrWrt +cmp4_ltu_unc_p1_p2_r2_r3 cmp4ltuEx cmpuncRd twoPrWrt +cmp4_eq_unc_p1_p2_r2_r3 cmp4eqEx cmpuncRd twoPrWrt +cmp4_eq_and_p1_p2_r2_r3 cmp4eqEx cmpGrRd twoPrAndWrt +cmp4_eq_or_p1_p2_r2_r3 cmp4eqEx cmpGrRd twoPrOrWrt +cmp4_eq_or_andcm_p1_p2_r2_r3 cmp4eqEx cmpGrRd twoPrOACWrt +cmp4_ne_and_p1_p2_r2_r3 cmp4neEx cmpGrRd twoPrAndWrt +cmp4_ne_or_p1_p2_r2_r3 cmp4neEx cmpGrRd twoPrOrWrt +cmp4_ne_or_andcm_p1_p2_r2_r3 cmp4neEx cmpGrRd twoPrOACWrt +########################### Format A7 ####################################### +cmp_gt_and_p1_p2_r0_r3 cmpgtEx gr0Gr3Rd twoPrAndWrt +cmp_gt_or_p1_p2_r0_r3 cmpgtEx gr0Gr3Rd twoPrOrWrt +cmp_gt_or_andcm_p1_p2_r0_r3 cmpgtEx gr0Gr3Rd twoPrOACWrt +cmp_le_and_p1_p2_r0_r3 cmpleEx gr0Gr3Rd twoPrAndWrt +cmp_le_or_p1_p2_r0_r3 cmpleEx gr0Gr3Rd twoPrOrWrt +cmp_le_or_andcm_p1_p2_r0_r3 cmpleEx gr0Gr3Rd twoPrOACWrt +cmp_ge_and_p1_p2_r0_r3 cmpgeEx gr0Gr3Rd twoPrAndWrt +cmp_ge_or_p1_p2_r0_r3 cmpgeEx gr0Gr3Rd twoPrOrWrt +cmp_ge_or_andcm_p1_p2_r0_r3 cmpgeEx gr0Gr3Rd twoPrOACWrt +cmp_lt_and_p1_p2_r0_r3 cmpltEx gr0Gr3Rd twoPrAndWrt +cmp_lt_or_p1_p2_r0_r3 cmpltEx gr0Gr3Rd twoPrOrWrt +cmp_lt_or_andcm_p1_p2_r0_r3 cmpltEx gr0Gr3Rd twoPrOACWrt +cmp4_gt_and_p1_p2_r0_r3 cmp4gtEx gr0Gr3Rd twoPrAndWrt +cmp4_gt_or_p1_p2_r0_r3 cmp4gtEx gr0Gr3Rd twoPrOrWrt +cmp4_gt_or_andcm_p1_p2_r0_r3 cmp4gtEx gr0Gr3Rd twoPrOACWrt +cmp4_le_and_p1_p2_r0_r3 cmp4leEx gr0Gr3Rd twoPrAndWrt +cmp4_le_or_p1_p2_r0_r3 cmp4leEx gr0Gr3Rd twoPrOrWrt +cmp4_le_or_andcm_p1_p2_r0_r3 cmp4leEx gr0Gr3Rd twoPrOACWrt +cmp4_ge_and_p1_p2_r0_r3 cmp4geEx gr0Gr3Rd twoPrAndWrt +cmp4_ge_or_p1_p2_r0_r3 cmp4geEx gr0Gr3Rd twoPrOrWrt +cmp4_ge_or_andcm_p1_p2_r0_r3 cmp4geEx gr0Gr3Rd twoPrOACWrt +cmp4_lt_and_p1_p2_r0_r3 cmp4ltEx gr0Gr3Rd twoPrAndWrt +cmp4_lt_or_p1_p2_r0_r3 cmp4ltEx gr0Gr3Rd twoPrOrWrt +cmp4_lt_or_andcm_p1_p2_r0_r3 cmp4ltEx gr0Gr3Rd twoPrOACWrt +########################### Format A8 ####################################### +cmp_lt_p1_p2_imm8_r3 cmpltEx cmpiRd twoPrWrt +cmp_ltu_p1_p2_imm8_r3 cmpltuEx cmpiRd twoPrWrt +cmp_eq_p1_p2_imm8_r3 cmpeqEx cmpiRd twoPrWrt +cmp_lt_unc_p1_p2_imm8_r3 cmpltEx cmpiuncRd twoPrWrt +cmp_ltu_unc_p1_p2_imm8_r3 cmpltuEx cmpiuncRd twoPrWrt +cmp_eq_unc_p1_p2_imm8_r3 cmpeqEx cmpiuncRd twoPrWrt +cmp_eq_and_p1_p2_imm8_r3 cmpeqEx cmpiRd twoPrAndWrt +cmp_eq_or_p1_p2_imm8_r3 cmpeqEx cmpiRd twoPrOrWrt +cmp_eq_or_andcm_p1_p2_imm8_r3 cmpeqEx cmpiRd twoPrOACWrt +cmp_ne_and_p1_p2_imm8_r3 cmpneEx cmpiRd twoPrAndWrt +cmp_ne_or_p1_p2_imm8_r3 cmpneEx cmpiRd twoPrOrWrt +cmp_ne_or_andcm_p1_p2_imm8_r3 cmpneEx cmpiRd twoPrOACWrt +cmp4_lt_p1_p2_imm8_r3 cmp4ltEx cmpiRd twoPrWrt +cmp4_ltu_p1_p2_imm8_r3 cmp4ltuEx cmpiRd twoPrWrt +cmp4_eq_p1_p2_imm8_r3 cmp4eqEx cmpiRd twoPrWrt +cmp4_lt_unc_p1_p2_imm8_r3 cmp4ltEx cmpiuncRd twoPrWrt +cmp4_ltu_unc_p1_p2_imm8_r3 cmp4ltuEx cmpiuncRd twoPrWrt +cmp4_eq_unc_p1_p2_imm8_r3 cmp4eqEx cmpiuncRd twoPrWrt +cmp4_eq_and_p1_p2_imm8_r3 cmp4eqEx cmpiRd twoPrAndWrt +cmp4_eq_or_p1_p2_imm8_r3 cmp4eqEx cmpiRd twoPrOrWrt +cmp4_eq_or_andcm_p1_p2_imm8_r3 cmp4eqEx cmpiRd twoPrOACWrt +cmp4_ne_and_p1_p2_imm8_r3 cmp4neEx cmpiRd twoPrAndWrt +cmp4_ne_or_p1_p2_imm8_r3 cmp4neEx cmpiRd twoPrOrWrt +cmp4_ne_or_andcm_p1_p2_imm8_r3 cmp4neEx cmpiRd twoPrOACWrt +########################### Format A9 ####################################### +padd1_r1_r2_r3 padd1Ex twoGrRd oneGrWrt +padd2_r1_r2_r3 padd2Ex twoGrRd oneGrWrt +padd4_r1_r2_r3 padd4Ex twoGrRd oneGrWrt +padd1_sss_r1_r2_r3 padd1sssEx twoGrRd oneGrWrt +padd2_sss_r1_r2_r3 padd2sssEx twoGrRd oneGrWrt +padd1_uuu_r1_r2_r3 padd1uuuEx twoGrRd oneGrWrt +padd2_uuu_r1_r2_r3 padd2uuuEx twoGrRd oneGrWrt +padd1_uus_r1_r2_r3 padd1uusEx twoGrRd oneGrWrt +padd2_uus_r1_r2_r3 padd2uusEx twoGrRd oneGrWrt +psub1_r1_r2_r3 psub1Ex twoGrRd oneGrWrt +psub2_r1_r2_r3 psub2Ex twoGrRd oneGrWrt +psub4_r1_r2_r3 psub4Ex twoGrRd oneGrWrt +psub1_sss_r1_r2_r3 psub1sssEx twoGrRd oneGrWrt +psub2_sss_r1_r2_r3 psub2sssEx twoGrRd oneGrWrt +psub1_uuu_r1_r2_r3 psub1uuuEx twoGrRd oneGrWrt +psub2_uuu_r1_r2_r3 psub2uuuEx twoGrRd oneGrWrt +psub1_uus_r1_r2_r3 psub1uusEx twoGrRd oneGrWrt +psub2_uus_r1_r2_r3 psub2uusEx twoGrRd oneGrWrt +pavg1_r1_r2_r3 pavg1Ex twoGrRd oneGrWrt +pavg2_r1_r2_r3 pavg2Ex twoGrRd oneGrWrt +pavg1_raz_r1_r2_r3 pavg1razEx twoGrRd oneGrWrt +pavg2_raz_r1_r2_r3 pavg2razEx twoGrRd oneGrWrt +pavgsub1_r1_r2_r3 pavgsub1Ex twoGrRd oneGrWrt +pavgsub2_r1_r2_r3 pavgsub2Ex twoGrRd oneGrWrt +pcmp1_eq_r1_r2_r3 pcmp1eqEx twoGrRd oneGrWrt +pcmp2_eq_r1_r2_r3 pcmp2eqEx twoGrRd oneGrWrt +pcmp4_eq_r1_r2_r3 pcmp4eqEx twoGrRd oneGrWrt +pcmp1_gt_r1_r2_r3 pcmp1gtEx twoGrRd oneGrWrt +pcmp2_gt_r1_r2_r3 pcmp2gtEx twoGrRd oneGrWrt +pcmp4_gt_r1_r2_r3 pcmp4gtEx twoGrRd oneGrWrt +########################### Format A10 ###################################### +pshladd2_r1_r2_count2_r3 pshladd2Ex shaddRd oneGrWrt +pshradd2_r1_r2_count2_r3 pshradd2Ex shaddRd oneGrWrt +########################### Format I1 ####################################### +pmpyshr2_r1_r2_r3_count2 pmpyshr2Ex shaddRd oneGrWrt +pmpyshr2_u_r1_r2_r3_count2 pmpyshr2uEx shaddRd oneGrWrt +########################### Format I2 ####################################### +pmpy2_r_r1_r2_r3 pmpy2rEx twoGrRd oneGrWrt +pmpy2_l_r1_r2_r3 pmpy2lEx twoGrRd oneGrWrt +mix1_r_r1_r2_r3 mix1rEx twoGrRd oneGrWrt +mix2_r_r1_r2_r3 mix2rEx twoGrRd oneGrWrt +mix4_r_r1_r2_r3 mix4rEx twoGrRd oneGrWrt +mix1_l_r1_r2_r3 mix1lEx twoGrRd oneGrWrt +mix2_l_r1_r2_r3 mix2lEx twoGrRd oneGrWrt +mix4_l_r1_r2_r3 mix4lEx twoGrRd oneGrWrt +pack2_uss_r1_r2_r3 pack2ussEx twoGrRd oneGrWrt +pack2_sss_r1_r2_r3 pack2sssEx twoGrRd oneGrWrt +pack4_sss_r1_r2_r3 pack4sssEx twoGrRd oneGrWrt +unpack1_h_r1_r2_r3 unpack1hEx twoGrRd oneGrWrt +unpack2_h_r1_r2_r3 unpack2hEx twoGrRd oneGrWrt +unpack4_h_r1_r2_r3 alias mix4_l_r1_r2_r3 +unpack1_l_r1_r2_r3 unpack1lEx twoGrRd oneGrWrt +unpack2_l_r1_r2_r3 unpack2lEx twoGrRd oneGrWrt +unpack4_l_r1_r2_r3 alias mix4_r_r1_r2_r3 +pmin1_u_r1_r2_r3 pmin1uEx twoGrRd oneGrWrt +pmax1_u_r1_r2_r3 pmax1uEx twoGrRd oneGrWrt +pmin2_r1_r2_r3 pmin2Ex twoGrRd oneGrWrt +pmax2_r1_r2_r3 pmax2Ex twoGrRd oneGrWrt +psad1_r1_r2_r3 psad1Ex twoGrRd oneGrWrt +########################### Format I3 ####################################### +mux1_r1_r2_mbtype4 mux1Ex mux1Rd oneGrWrt +########################### Format I4 ####################################### +mux2_r1_r2_mhtype8 mux2Ex mux2Rd oneGrWrt +########################### Format I5 ####################################### +pshr2_r1_r3_r2 pshr2Ex shrTwoGrsRd oneGrWrt +pshr4_r1_r3_r2 pshr4Ex shrTwoGrsRd oneGrWrt +shr_r1_r3_r2 shrEx shrTwoGrsRd oneGrWrt +pshr2_u_r1_r3_r2 pshr2uEx shrTwoGrsRd oneGrWrt +pshr4_u_r1_r3_r2 pshr4uEx shrTwoGrsRd oneGrWrt +shr_u_r1_r3_r2 shruEx shrTwoGrsRd oneGrWrt +########################### Format I6 ####################################### +pshr2_r1_r3_count5 pshr2Ex shrGrImmRd oneGrWrt +pshr4_r1_r3_count5 pshr4Ex shrGrImmRd oneGrWrt +pshr2_u_r1_r3_count5 pshr2uEx shrGrImmRd oneGrWrt +pshr4_u_r1_r3_count5 pshr4uEx shrGrImmRd oneGrWrt +########################### Format I7 ####################################### +pshl2_r1_r2_r3 pshl2Ex shlTwoGrsRd oneGrWrt +pshl4_r1_r2_r3 pshl4Ex shlTwoGrsRd oneGrWrt +shl_r1_r2_r3 shlEx shlTwoGrsRd oneGrWrt +########################### Format I8 ####################################### +pshl2_r1_r2_count5 pshl2Ex shlGrImmRd oneGrWrt +pshl4_r1_r2_count5 pshl4Ex shlGrImmRd oneGrWrt +########################### Format I9 ####################################### +popcnt_r1_r3 popcntEx gr3Rd oneGrWrt +########################### Format I10 ###################################### +shrp_r1_r2_r3_count6 shrpEx shrpRd oneGrWrt +########################### Format I11 ###################################### +extr_u_r1_r3_pos6_len6 extruEx extrRd oneGrWrt +extr_r1_r3_pos6_len6 extrEx extrRd oneGrWrt +########################### Format I12 ###################################### +dep_z_r1_r2_pos6_len6 depzEx depzrRd oneGrWrt +########################### Format I13 ###################################### +dep_z_r1_imm8_pos6_len6 depzEx depziRd oneGrWrt +########################### Format I14 ###################################### +dep_r1_imm1_r3_pos6_len6 depEx depiRd oneGrWrt +########################### Format I15 ###################################### +dep_r1_r2_r3_pos6_len4 depEx deprRd oneGrWrt +########################### Format I16 ###################################### +tbit_z_p1_p2_r3_pos6 tbitZEx tbitGrImmRd twoPrWrt +tbit_z_unc_p1_p2_r3_pos6 tbitZEx tbitGIuncRd twoPrWrt +tbit_z_and_p1_p2_r3_pos6 tbitZEx tbitGrImmRd twoPrAndWrt +tbit_nz_and_p1_p2_r3_pos6 tbitNzEx tbitGrImmRd twoPrAndWrt +tbit_z_or_p1_p2_r3_pos6 tbitZEx tbitGrImmRd twoPrOrWrt +tbit_nz_or_p1_p2_r3_pos6 tbitNzEx tbitGrImmRd twoPrOrWrt +tbit_z_or_andcm_p1_p2_r3_pos6 tbitZEx tbitGrImmRd twoPrOACWrt +tbit_nz_or_andcm_p1_p2_r3_pos6 tbitNzEx tbitGrImmRd twoPrOACWrt +########################### Format I17 ###################################### +tnat_z_p1_p2_r3 tnatZEx tnatRd twoPrWrt +tnat_z_unc_p1_p2_r3 tnatZEx tnatUncRd twoPrWrt +tnat_z_and_p1_p2_r3 tnatZEx tnatRd twoPrAndWrt +tnat_nz_and_p1_p2_r3 tnatNzEx tnatRd twoPrAndWrt +tnat_z_or_p1_p2_r3 tnatZEx tnatRd twoPrOrWrt +tnat_nz_or_p1_p2_r3 tnatNzEx tnatRd twoPrOrWrt +tnat_z_or_andcm_p1_p2_r3 tnatZEx tnatRd twoPrOACWrt +tnat_nz_or_andcm_p1_p2_r3 tnatNzEx tnatRd twoPrOACWrt +########################### Format I18 ###################################### +nop_i_imm21 nopEx nopRd nullWrt +hint_i_imm21 hintEx nopRd nullWrt +########################### Format I19 ###################################### +break_i_imm21 breakEx breakRd breakWrt +########################### Format I20 ###################################### +chk_s_i_r2_target25 copyEx chksrRd qualIpWrt +########################### Format I21 ###################################### +mov_b1_r2_tag13 copyfromgrEx oneGrRd oneBrWrt +mov_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_sptk_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_dptk_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_dc_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_dc_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_tk_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_dc_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_dc_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_tk_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_tk_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_sptk_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_nt_b1_r2_tag13 alias mov_b1_r2_tag13 +mov_ret_dptk_many_nt_nt_imp_b1_r2_tag13 alias mov_b1_r2_tag13 +########################### Format I22 ###################################### +mov_r1_b2 copytogrEx oneBrRd oneGrWrt +########################### Format I23 ###################################### +mov_pr_r2_mask17 movprgrEx oneGrRd allPrWrt +########################### Format I24 ###################################### +mov_pr_rot_imm44 movImmEx nullRd rotPrWrt +########################### Format I25 ###################################### +mov_r1_ip copytogrEx ipRd oneGrWrt +mov_r1_pr copytogrEx allPrRd oneGrWrt +########################### Format I26 ###################################### +mov_i_ar3_r2 movtoariEx oneGrRd oneArWrt +########################### Format I27 ###################################### +mov_i_ar3_imm8 movtoariEx oneImmRd oneArWrt +########################### Format I28 ###################################### +mov_i_r1_ar3 movfromariEx oneArRd oneGrWrt +########################### Format I29 ###################################### +zxt1_r1_r3 zxt1Ex gr3Rd oneGrWrt +zxt2_r1_r3 zxt2Ex gr3Rd oneGrWrt +zxt4_r1_r3 zxt4Ex gr3Rd oneGrWrt +sxt1_r1_r3 sxt1Ex gr3Rd oneGrWrt +sxt2_r1_r3 sxt2Ex gr3Rd oneGrWrt +sxt4_r1_r3 sxt4Ex gr3Rd oneGrWrt +czx1_l_r1_r3 czx1lEx gr3Rd oneGrWrt +czx2_l_r1_r3 czx2lEx gr3Rd oneGrWrt +czx1_r_r1_r3 czx1rEx gr3Rd oneGrWrt +czx2_r_r1_r3 czx2rEx gr3Rd oneGrWrt +########################### Format M1 ####################################### +ld1_r1_r3 ld1Ex gr3Rd oneGrWrt +ld1_nt1_r1_r3 alias ld1_r1_r3 +ld1_nta_r1_r3 alias ld1_r1_r3 +ld2_r1_r3 ld2Ex gr3Rd oneGrWrt +ld2_nt1_r1_r3 alias ld2_r1_r3 +ld2_nta_r1_r3 alias ld2_r1_r3 +ld4_r1_r3 ld4Ex gr3Rd oneGrWrt +ld4_nt1_r1_r3 alias ld4_r1_r3 +ld4_nta_r1_r3 alias ld4_r1_r3 +ld8_r1_r3 ld8Ex gr3Rd oneGrWrt +ld8_nt1_r1_r3 alias ld8_r1_r3 +ld8_nta_r1_r3 alias ld8_r1_r3 +ld16_r1_ar_csd_r3 ld16Ex gr3Rd ld16Wrt +ld16_nt1_r1_ar_csd_r3 alias ld16_r1_ar_csd_r3 +ld16_nta_r1_ar_csd_r3 alias ld16_r1_ar_csd_r3 +ld1_s_r1_r3 ld1sEx gr3Rd oneGrWrt +ld1_s_nt1_r1_r3 alias ld1_s_r1_r3 +ld1_s_nta_r1_r3 alias ld1_s_r1_r3 +ld2_s_r1_r3 ld2sEx gr3Rd oneGrWrt +ld2_s_nt1_r1_r3 alias ld2_s_r1_r3 +ld2_s_nta_r1_r3 alias ld2_s_r1_r3 +ld4_s_r1_r3 ld4sEx gr3Rd oneGrWrt +ld4_s_nt1_r1_r3 alias ld4_s_r1_r3 +ld4_s_nta_r1_r3 alias ld4_s_r1_r3 +ld8_s_r1_r3 ld8sEx gr3Rd oneGrWrt +ld8_s_nt1_r1_r3 alias ld8_s_r1_r3 +ld8_s_nta_r1_r3 alias ld8_s_r1_r3 +ld1_a_r1_r3 ld1aEx gr3Rd oneGrWrt +ld1_a_nt1_r1_r3 alias ld1_a_r1_r3 +ld1_a_nta_r1_r3 alias ld1_a_r1_r3 +ld2_a_r1_r3 ld2aEx gr3Rd oneGrWrt +ld2_a_nt1_r1_r3 alias ld2_a_r1_r3 +ld2_a_nta_r1_r3 alias ld2_a_r1_r3 +ld4_a_r1_r3 ld4aEx gr3Rd oneGrWrt +ld4_a_nt1_r1_r3 alias ld4_a_r1_r3 +ld4_a_nta_r1_r3 alias ld4_a_r1_r3 +ld8_a_r1_r3 ld8aEx gr3Rd oneGrWrt +ld8_a_nt1_r1_r3 alias ld8_a_r1_r3 +ld8_a_nta_r1_r3 alias ld8_a_r1_r3 +ld1_sa_r1_r3 ld1saEx gr3Rd oneGrWrt +ld1_sa_nt1_r1_r3 alias ld1_sa_r1_r3 +ld1_sa_nta_r1_r3 alias ld1_sa_r1_r3 +ld2_sa_r1_r3 ld2saEx gr3Rd oneGrWrt +ld2_sa_nt1_r1_r3 alias ld2_sa_r1_r3 +ld2_sa_nta_r1_r3 alias ld2_sa_r1_r3 +ld4_sa_r1_r3 ld4saEx gr3Rd oneGrWrt +ld4_sa_nt1_r1_r3 alias ld4_sa_r1_r3 +ld4_sa_nta_r1_r3 alias ld4_sa_r1_r3 +ld8_sa_r1_r3 ld8saEx gr3Rd oneGrWrt +ld8_sa_nt1_r1_r3 alias ld8_sa_r1_r3 +ld8_sa_nta_r1_r3 alias ld8_sa_r1_r3 +ld1_bias_r1_r3 alias ld1_r1_r3 +ld1_bias_nt1_r1_r3 alias ld1_bias_r1_r3 +ld1_bias_nta_r1_r3 alias ld1_bias_r1_r3 +ld2_bias_r1_r3 alias ld2_r1_r3 +ld2_bias_nt1_r1_r3 alias ld2_bias_r1_r3 +ld2_bias_nta_r1_r3 alias ld2_bias_r1_r3 +ld4_bias_r1_r3 alias ld4_r1_r3 +ld4_bias_nt1_r1_r3 alias ld4_bias_r1_r3 +ld4_bias_nta_r1_r3 alias ld4_bias_r1_r3 +ld8_bias_r1_r3 alias ld8_r1_r3 +ld8_bias_nt1_r1_r3 alias ld8_bias_r1_r3 +ld8_bias_nta_r1_r3 alias ld8_bias_r1_r3 +ld1_acq_r1_r3 alias ld1_r1_r3 +ld1_acq_nt1_r1_r3 alias ld1_acq_r1_r3 +ld1_acq_nta_r1_r3 alias ld1_acq_r1_r3 +ld2_acq_r1_r3 alias ld2_r1_r3 +ld2_acq_nt1_r1_r3 alias ld2_acq_r1_r3 +ld2_acq_nta_r1_r3 alias ld2_acq_r1_r3 +ld4_acq_r1_r3 alias ld4_r1_r3 +ld4_acq_nt1_r1_r3 alias ld4_acq_r1_r3 +ld4_acq_nta_r1_r3 alias ld4_acq_r1_r3 +ld8_acq_r1_r3 alias ld8_r1_r3 +ld8_acq_nt1_r1_r3 alias ld8_acq_r1_r3 +ld8_acq_nta_r1_r3 alias ld8_acq_r1_r3 +ld16_acq_r1_ar_csd_r3 alias ld16_r1_ar_csd_r3 +ld16_acq_nt1_r1_ar_csd_r3 alias ld16_acq_r1_ar_csd_r3 +ld16_acq_nta_r1_ar_csd_r3 alias ld16_acq_r1_ar_csd_r3 +ld8_fill_r1_r3 ldFillEx gr3Rd oneGrWrt +ld8_fill_nt1_r1_r3 alias ld8_fill_r1_r3 +ld8_fill_nta_r1_r3 alias ld8_fill_r1_r3 +ld1_c_clr_r1_r3 ld1cclrEx gr3Rd oneGrWrt +ld1_c_clr_nt1_r1_r3 alias ld1_c_clr_r1_r3 +ld1_c_clr_nta_r1_r3 alias ld1_c_clr_r1_r3 +ld2_c_clr_r1_r3 ld2cclrEx gr3Rd oneGrWrt +ld2_c_clr_nt1_r1_r3 alias ld2_c_clr_r1_r3 +ld2_c_clr_nta_r1_r3 alias ld2_c_clr_r1_r3 +ld4_c_clr_r1_r3 ld4cclrEx gr3Rd oneGrWrt +ld4_c_clr_nt1_r1_r3 alias ld4_c_clr_r1_r3 +ld4_c_clr_nta_r1_r3 alias ld4_c_clr_r1_r3 +ld8_c_clr_r1_r3 ld8cclrEx gr3Rd oneGrWrt +ld8_c_clr_nt1_r1_r3 alias ld8_c_clr_r1_r3 +ld8_c_clr_nta_r1_r3 alias ld8_c_clr_r1_r3 +ld1_c_nc_r1_r3 ld1cncEx gr3Rd oneGrWrt +ld1_c_nc_nt1_r1_r3 alias ld1_c_nc_r1_r3 +ld1_c_nc_nta_r1_r3 alias ld1_c_nc_r1_r3 +ld2_c_nc_r1_r3 ld2cncEx gr3Rd oneGrWrt +ld2_c_nc_nt1_r1_r3 alias ld2_c_nc_r1_r3 +ld2_c_nc_nta_r1_r3 alias ld2_c_nc_r1_r3 +ld4_c_nc_r1_r3 ld4cncEx gr3Rd oneGrWrt +ld4_c_nc_nt1_r1_r3 alias ld4_c_nc_r1_r3 +ld4_c_nc_nta_r1_r3 alias ld4_c_nc_r1_r3 +ld8_c_nc_r1_r3 ld8cncEx gr3Rd oneGrWrt +ld8_c_nc_nt1_r1_r3 alias ld8_c_nc_r1_r3 +ld8_c_nc_nta_r1_r3 alias ld8_c_nc_r1_r3 +ld1_c_clr_acq_r1_r3 alias ld1_c_clr_r1_r3 +ld1_c_clr_acq_nt1_r1_r3 alias ld1_c_clr_acq_r1_r3 +ld1_c_clr_acq_nta_r1_r3 alias ld1_c_clr_acq_r1_r3 +ld2_c_clr_acq_r1_r3 alias ld2_c_clr_r1_r3 +ld2_c_clr_acq_nt1_r1_r3 alias ld2_c_clr_acq_r1_r3 +ld2_c_clr_acq_nta_r1_r3 alias ld2_c_clr_acq_r1_r3 +ld4_c_clr_acq_r1_r3 alias ld4_c_clr_r1_r3 +ld4_c_clr_acq_nt1_r1_r3 alias ld4_c_clr_acq_r1_r3 +ld4_c_clr_acq_nta_r1_r3 alias ld4_c_clr_acq_r1_r3 +ld8_c_clr_acq_r1_r3 alias ld8_c_clr_r1_r3 +ld8_c_clr_acq_nt1_r1_r3 alias ld8_c_clr_acq_r1_r3 +ld8_c_clr_acq_nta_r1_r3 alias ld8_c_clr_acq_r1_r3 +########################### Format M2 ####################################### +ld1_r1_r3_r2 ld1PiEx ldPiRd twoGrWrt +ld1_nt1_r1_r3_r2 alias ld1_r1_r3_r2 +ld1_nta_r1_r3_r2 alias ld1_r1_r3_r2 +ld2_r1_r3_r2 ld2PiEx ldPiRd twoGrWrt +ld2_nt1_r1_r3_r2 alias ld2_r1_r3_r2 +ld2_nta_r1_r3_r2 alias ld2_r1_r3_r2 +ld4_r1_r3_r2 ld4PiEx ldPiRd twoGrWrt +ld4_nt1_r1_r3_r2 alias ld4_r1_r3_r2 +ld4_nta_r1_r3_r2 alias ld4_r1_r3_r2 +ld8_r1_r3_r2 ld8PiEx ldPiRd twoGrWrt +ld8_nt1_r1_r3_r2 alias ld8_r1_r3_r2 +ld8_nta_r1_r3_r2 alias ld8_r1_r3_r2 +ld1_s_r1_r3_r2 ld1sPiEx ldPiRd twoGrWrt +ld1_s_nt1_r1_r3_r2 alias ld1_s_r1_r3_r2 +ld1_s_nta_r1_r3_r2 alias ld1_s_r1_r3_r2 +ld2_s_r1_r3_r2 ld2sPiEx ldPiRd twoGrWrt +ld2_s_nt1_r1_r3_r2 alias ld2_s_r1_r3_r2 +ld2_s_nta_r1_r3_r2 alias ld2_s_r1_r3_r2 +ld4_s_r1_r3_r2 ld4sPiEx ldPiRd twoGrWrt +ld4_s_nt1_r1_r3_r2 alias ld4_s_r1_r3_r2 +ld4_s_nta_r1_r3_r2 alias ld4_s_r1_r3_r2 +ld8_s_r1_r3_r2 ld8sPiEx ldPiRd twoGrWrt +ld8_s_nt1_r1_r3_r2 alias ld8_s_r1_r3_r2 +ld8_s_nta_r1_r3_r2 alias ld8_s_r1_r3_r2 +ld1_a_r1_r3_r2 ld1aPiEx ldPiRd twoGrWrt +ld1_a_nt1_r1_r3_r2 alias ld1_a_r1_r3_r2 +ld1_a_nta_r1_r3_r2 alias ld1_a_r1_r3_r2 +ld2_a_r1_r3_r2 ld2aPiEx ldPiRd twoGrWrt +ld2_a_nt1_r1_r3_r2 alias ld2_a_r1_r3_r2 +ld2_a_nta_r1_r3_r2 alias ld2_a_r1_r3_r2 +ld4_a_r1_r3_r2 ld4aPiEx ldPiRd twoGrWrt +ld4_a_nt1_r1_r3_r2 alias ld4_a_r1_r3_r2 +ld4_a_nta_r1_r3_r2 alias ld4_a_r1_r3_r2 +ld8_a_r1_r3_r2 ld8aPiEx ldPiRd twoGrWrt +ld8_a_nt1_r1_r3_r2 alias ld8_a_r1_r3_r2 +ld8_a_nta_r1_r3_r2 alias ld8_a_r1_r3_r2 +ld1_sa_r1_r3_r2 ld1saPiEx ldPiRd twoGrWrt +ld1_sa_nt1_r1_r3_r2 alias ld1_sa_r1_r3_r2 +ld1_sa_nta_r1_r3_r2 alias ld1_sa_r1_r3_r2 +ld2_sa_r1_r3_r2 ld2saPiEx ldPiRd twoGrWrt +ld2_sa_nt1_r1_r3_r2 alias ld2_sa_r1_r3_r2 +ld2_sa_nta_r1_r3_r2 alias ld2_sa_r1_r3_r2 +ld4_sa_r1_r3_r2 ld4saPiEx ldPiRd twoGrWrt +ld4_sa_nt1_r1_r3_r2 alias ld4_sa_r1_r3_r2 +ld4_sa_nta_r1_r3_r2 alias ld4_sa_r1_r3_r2 +ld8_sa_r1_r3_r2 ld8saPiEx ldPiRd twoGrWrt +ld8_sa_nt1_r1_r3_r2 alias ld8_sa_r1_r3_r2 +ld8_sa_nta_r1_r3_r2 alias ld8_sa_r1_r3_r2 +ld1_bias_r1_r3_r2 alias ld1_r1_r3_r2 +ld1_bias_nt1_r1_r3_r2 alias ld1_bias_r1_r3_r2 +ld1_bias_nta_r1_r3_r2 alias ld1_bias_r1_r3_r2 +ld2_bias_r1_r3_r2 alias ld2_r1_r3_r2 +ld2_bias_nt1_r1_r3_r2 alias ld2_bias_r1_r3_r2 +ld2_bias_nta_r1_r3_r2 alias ld2_bias_r1_r3_r2 +ld4_bias_r1_r3_r2 alias ld4_r1_r3_r2 +ld4_bias_nt1_r1_r3_r2 alias ld4_bias_r1_r3_r2 +ld4_bias_nta_r1_r3_r2 alias ld4_bias_r1_r3_r2 +ld8_bias_r1_r3_r2 alias ld8_r1_r3_r2 +ld8_bias_nt1_r1_r3_r2 alias ld8_bias_r1_r3_r2 +ld8_bias_nta_r1_r3_r2 alias ld8_bias_r1_r3_r2 +ld1_acq_r1_r3_r2 alias ld1_r1_r3_r2 +ld1_acq_nt1_r1_r3_r2 alias ld1_acq_r1_r3_r2 +ld1_acq_nta_r1_r3_r2 alias ld1_acq_r1_r3_r2 +ld2_acq_r1_r3_r2 alias ld2_r1_r3_r2 +ld2_acq_nt1_r1_r3_r2 alias ld2_acq_r1_r3_r2 +ld2_acq_nta_r1_r3_r2 alias ld2_acq_r1_r3_r2 +ld4_acq_r1_r3_r2 alias ld4_r1_r3_r2 +ld4_acq_nt1_r1_r3_r2 alias ld4_acq_r1_r3_r2 +ld4_acq_nta_r1_r3_r2 alias ld4_acq_r1_r3_r2 +ld8_acq_r1_r3_r2 alias ld8_r1_r3_r2 +ld8_acq_nt1_r1_r3_r2 alias ld8_acq_r1_r3_r2 +ld8_acq_nta_r1_r3_r2 alias ld8_acq_r1_r3_r2 +ld8_fill_r1_r3_r2 ldFillPiEx ldPiRd twoGrWrt +ld8_fill_nt1_r1_r3_r2 alias ld8_fill_r1_r3_r2 +ld8_fill_nta_r1_r3_r2 alias ld8_fill_r1_r3_r2 +ld1_c_clr_r1_r3_r2 ld1cclrPiEx ldPiRd twoGrWrt +ld1_c_clr_nt1_r1_r3_r2 alias ld1_c_clr_r1_r3_r2 +ld1_c_clr_nta_r1_r3_r2 alias ld1_c_clr_r1_r3_r2 +ld2_c_clr_r1_r3_r2 ld2cclrPiEx ldPiRd twoGrWrt +ld2_c_clr_nt1_r1_r3_r2 alias ld2_c_clr_r1_r3_r2 +ld2_c_clr_nta_r1_r3_r2 alias ld2_c_clr_r1_r3_r2 +ld4_c_clr_r1_r3_r2 ld4cclrPiEx ldPiRd twoGrWrt +ld4_c_clr_nt1_r1_r3_r2 alias ld4_c_clr_r1_r3_r2 +ld4_c_clr_nta_r1_r3_r2 alias ld4_c_clr_r1_r3_r2 +ld8_c_clr_r1_r3_r2 ld8cclrPiEx ldPiRd twoGrWrt +ld8_c_clr_nt1_r1_r3_r2 alias ld8_c_clr_r1_r3_r2 +ld8_c_clr_nta_r1_r3_r2 alias ld8_c_clr_r1_r3_r2 +ld1_c_nc_r1_r3_r2 ld1cncPiEx ldPiRd twoGrWrt +ld1_c_nc_nt1_r1_r3_r2 alias ld1_c_nc_r1_r3_r2 +ld1_c_nc_nta_r1_r3_r2 alias ld1_c_nc_r1_r3_r2 +ld2_c_nc_r1_r3_r2 ld2cncPiEx ldPiRd twoGrWrt +ld2_c_nc_nt1_r1_r3_r2 alias ld2_c_nc_r1_r3_r2 +ld2_c_nc_nta_r1_r3_r2 alias ld2_c_nc_r1_r3_r2 +ld4_c_nc_r1_r3_r2 ld4cncPiEx ldPiRd twoGrWrt +ld4_c_nc_nt1_r1_r3_r2 alias ld4_c_nc_r1_r3_r2 +ld4_c_nc_nta_r1_r3_r2 alias ld4_c_nc_r1_r3_r2 +ld8_c_nc_r1_r3_r2 ld8cncPiEx ldPiRd twoGrWrt +ld8_c_nc_nt1_r1_r3_r2 alias ld8_c_nc_r1_r3_r2 +ld8_c_nc_nta_r1_r3_r2 alias ld8_c_nc_r1_r3_r2 +ld1_c_clr_acq_r1_r3_r2 alias ld1_c_clr_r1_r3_r2 +ld1_c_clr_acq_nt1_r1_r3_r2 alias ld1_c_clr_acq_r1_r3_r2 +ld1_c_clr_acq_nta_r1_r3_r2 alias ld1_c_clr_acq_r1_r3_r2 +ld2_c_clr_acq_r1_r3_r2 alias ld2_c_clr_r1_r3_r2 +ld2_c_clr_acq_nt1_r1_r3_r2 alias ld2_c_clr_acq_r1_r3_r2 +ld2_c_clr_acq_nta_r1_r3_r2 alias ld2_c_clr_acq_r1_r3_r2 +ld4_c_clr_acq_r1_r3_r2 alias ld4_c_clr_r1_r3_r2 +ld4_c_clr_acq_nt1_r1_r3_r2 alias ld4_c_clr_acq_r1_r3_r2 +ld4_c_clr_acq_nta_r1_r3_r2 alias ld4_c_clr_acq_r1_r3_r2 +ld8_c_clr_acq_r1_r3_r2 alias ld8_c_clr_r1_r3_r2 +ld8_c_clr_acq_nt1_r1_r3_r2 alias ld8_c_clr_acq_r1_r3_r2 +ld8_c_clr_acq_nta_r1_r3_r2 alias ld8_c_clr_acq_r1_r3_r2 +########################### Format M3 ####################################### +ld1_r1_r3_imm9 ld1PiEx grImmRd twoGrWrt +ld1_nt1_r1_r3_imm9 alias ld1_r1_r3_imm9 +ld1_nta_r1_r3_imm9 alias ld1_r1_r3_imm9 +ld2_r1_r3_imm9 ld2PiEx grImmRd twoGrWrt +ld2_nt1_r1_r3_imm9 alias ld2_r1_r3_imm9 +ld2_nta_r1_r3_imm9 alias ld2_r1_r3_imm9 +ld4_r1_r3_imm9 ld4PiEx grImmRd twoGrWrt +ld4_nt1_r1_r3_imm9 alias ld4_r1_r3_imm9 +ld4_nta_r1_r3_imm9 alias ld4_r1_r3_imm9 +ld8_r1_r3_imm9 ld8PiEx grImmRd twoGrWrt +ld8_nt1_r1_r3_imm9 alias ld8_r1_r3_imm9 +ld8_nta_r1_r3_imm9 alias ld8_r1_r3_imm9 +ld1_s_r1_r3_imm9 ld1sPiEx grImmRd twoGrWrt +ld1_s_nt1_r1_r3_imm9 alias ld1_s_r1_r3_imm9 +ld1_s_nta_r1_r3_imm9 alias ld1_s_r1_r3_imm9 +ld2_s_r1_r3_imm9 ld2sPiEx grImmRd twoGrWrt +ld2_s_nt1_r1_r3_imm9 alias ld2_s_r1_r3_imm9 +ld2_s_nta_r1_r3_imm9 alias ld2_s_r1_r3_imm9 +ld4_s_r1_r3_imm9 ld4sPiEx grImmRd twoGrWrt +ld4_s_nt1_r1_r3_imm9 alias ld4_s_r1_r3_imm9 +ld4_s_nta_r1_r3_imm9 alias ld4_s_r1_r3_imm9 +ld8_s_r1_r3_imm9 ld8sPiEx grImmRd twoGrWrt +ld8_s_nt1_r1_r3_imm9 alias ld8_s_r1_r3_imm9 +ld8_s_nta_r1_r3_imm9 alias ld8_s_r1_r3_imm9 +ld1_a_r1_r3_imm9 ld1aPiEx grImmRd twoGrWrt +ld1_a_nt1_r1_r3_imm9 alias ld1_a_r1_r3_imm9 +ld1_a_nta_r1_r3_imm9 alias ld1_a_r1_r3_imm9 +ld2_a_r1_r3_imm9 ld2aPiEx grImmRd twoGrWrt +ld2_a_nt1_r1_r3_imm9 alias ld2_a_r1_r3_imm9 +ld2_a_nta_r1_r3_imm9 alias ld2_a_r1_r3_imm9 +ld4_a_r1_r3_imm9 ld4aPiEx grImmRd twoGrWrt +ld4_a_nt1_r1_r3_imm9 alias ld4_a_r1_r3_imm9 +ld4_a_nta_r1_r3_imm9 alias ld4_a_r1_r3_imm9 +ld8_a_r1_r3_imm9 ld8aPiEx grImmRd twoGrWrt +ld8_a_nt1_r1_r3_imm9 alias ld8_a_r1_r3_imm9 +ld8_a_nta_r1_r3_imm9 alias ld8_a_r1_r3_imm9 +ld1_sa_r1_r3_imm9 ld1saPiEx grImmRd twoGrWrt +ld1_sa_nt1_r1_r3_imm9 alias ld1_sa_r1_r3_imm9 +ld1_sa_nta_r1_r3_imm9 alias ld1_sa_r1_r3_imm9 +ld2_sa_r1_r3_imm9 ld2saPiEx grImmRd twoGrWrt +ld2_sa_nt1_r1_r3_imm9 alias ld2_sa_r1_r3_imm9 +ld2_sa_nta_r1_r3_imm9 alias ld2_sa_r1_r3_imm9 +ld4_sa_r1_r3_imm9 ld4saPiEx grImmRd twoGrWrt +ld4_sa_nt1_r1_r3_imm9 alias ld4_sa_r1_r3_imm9 +ld4_sa_nta_r1_r3_imm9 alias ld4_sa_r1_r3_imm9 +ld8_sa_r1_r3_imm9 ld8saPiEx grImmRd twoGrWrt +ld8_sa_nt1_r1_r3_imm9 alias ld8_sa_r1_r3_imm9 +ld8_sa_nta_r1_r3_imm9 alias ld8_sa_r1_r3_imm9 +ld1_bias_r1_r3_imm9 alias ld1_r1_r3_imm9 +ld1_bias_nt1_r1_r3_imm9 alias ld1_bias_r1_r3_imm9 +ld1_bias_nta_r1_r3_imm9 alias ld1_bias_r1_r3_imm9 +ld2_bias_r1_r3_imm9 alias ld2_r1_r3_imm9 +ld2_bias_nt1_r1_r3_imm9 alias ld2_bias_r1_r3_imm9 +ld2_bias_nta_r1_r3_imm9 alias ld2_bias_r1_r3_imm9 +ld4_bias_r1_r3_imm9 alias ld4_r1_r3_imm9 +ld4_bias_nt1_r1_r3_imm9 alias ld4_bias_r1_r3_imm9 +ld4_bias_nta_r1_r3_imm9 alias ld4_bias_r1_r3_imm9 +ld8_bias_r1_r3_imm9 alias ld8_r1_r3_imm9 +ld8_bias_nt1_r1_r3_imm9 alias ld8_bias_r1_r3_imm9 +ld8_bias_nta_r1_r3_imm9 alias ld8_bias_r1_r3_imm9 +ld1_acq_r1_r3_imm9 alias ld1_r1_r3_imm9 +ld1_acq_nt1_r1_r3_imm9 alias ld1_acq_r1_r3_imm9 +ld1_acq_nta_r1_r3_imm9 alias ld1_acq_r1_r3_imm9 +ld2_acq_r1_r3_imm9 alias ld2_r1_r3_imm9 +ld2_acq_nt1_r1_r3_imm9 alias ld2_acq_r1_r3_imm9 +ld2_acq_nta_r1_r3_imm9 alias ld2_acq_r1_r3_imm9 +ld4_acq_r1_r3_imm9 alias ld4_r1_r3_imm9 +ld4_acq_nt1_r1_r3_imm9 alias ld4_acq_r1_r3_imm9 +ld4_acq_nta_r1_r3_imm9 alias ld4_acq_r1_r3_imm9 +ld8_acq_r1_r3_imm9 alias ld8_r1_r3_imm9 +ld8_acq_nt1_r1_r3_imm9 alias ld8_acq_r1_r3_imm9 +ld8_acq_nta_r1_r3_imm9 alias ld8_acq_r1_r3_imm9 +ld8_fill_r1_r3_imm9 ldFillPiEx grImmRd twoGrWrt +ld8_fill_nt1_r1_r3_imm9 alias ld8_fill_r1_r3_imm9 +ld8_fill_nta_r1_r3_imm9 alias ld8_fill_r1_r3_imm9 +ld1_c_clr_r1_r3_imm9 ld1cclrPiEx grImmRd twoGrWrt +ld1_c_clr_nt1_r1_r3_imm9 alias ld1_c_clr_r1_r3_imm9 +ld1_c_clr_nta_r1_r3_imm9 alias ld1_c_clr_r1_r3_imm9 +ld2_c_clr_r1_r3_imm9 ld2cclrPiEx grImmRd twoGrWrt +ld2_c_clr_nt1_r1_r3_imm9 alias ld2_c_clr_r1_r3_imm9 +ld2_c_clr_nta_r1_r3_imm9 alias ld2_c_clr_r1_r3_imm9 +ld4_c_clr_r1_r3_imm9 ld4cclrPiEx grImmRd twoGrWrt +ld4_c_clr_nt1_r1_r3_imm9 alias ld4_c_clr_r1_r3_imm9 +ld4_c_clr_nta_r1_r3_imm9 alias ld4_c_clr_r1_r3_imm9 +ld8_c_clr_r1_r3_imm9 ld8cclrPiEx grImmRd twoGrWrt +ld8_c_clr_nt1_r1_r3_imm9 alias ld8_c_clr_r1_r3_imm9 +ld8_c_clr_nta_r1_r3_imm9 alias ld8_c_clr_r1_r3_imm9 +ld1_c_nc_r1_r3_imm9 ld1cncPiEx grImmRd twoGrWrt +ld1_c_nc_nt1_r1_r3_imm9 alias ld1_c_nc_r1_r3_imm9 +ld1_c_nc_nta_r1_r3_imm9 alias ld1_c_nc_r1_r3_imm9 +ld2_c_nc_r1_r3_imm9 ld2cncPiEx grImmRd twoGrWrt +ld2_c_nc_nt1_r1_r3_imm9 alias ld2_c_nc_r1_r3_imm9 +ld2_c_nc_nta_r1_r3_imm9 alias ld2_c_nc_r1_r3_imm9 +ld4_c_nc_r1_r3_imm9 ld4cncPiEx grImmRd twoGrWrt +ld4_c_nc_nt1_r1_r3_imm9 alias ld4_c_nc_r1_r3_imm9 +ld4_c_nc_nta_r1_r3_imm9 alias ld4_c_nc_r1_r3_imm9 +ld8_c_nc_r1_r3_imm9 ld8cncPiEx grImmRd twoGrWrt +ld8_c_nc_nt1_r1_r3_imm9 alias ld8_c_nc_r1_r3_imm9 +ld8_c_nc_nta_r1_r3_imm9 alias ld8_c_nc_r1_r3_imm9 +ld1_c_clr_acq_r1_r3_imm9 alias ld1_c_clr_r1_r3_imm9 +ld1_c_clr_acq_nt1_r1_r3_imm9 alias ld1_c_clr_acq_r1_r3_imm9 +ld1_c_clr_acq_nta_r1_r3_imm9 alias ld1_c_clr_acq_r1_r3_imm9 +ld2_c_clr_acq_r1_r3_imm9 alias ld2_c_clr_r1_r3_imm9 +ld2_c_clr_acq_nt1_r1_r3_imm9 alias ld2_c_clr_acq_r1_r3_imm9 +ld2_c_clr_acq_nta_r1_r3_imm9 alias ld2_c_clr_acq_r1_r3_imm9 +ld4_c_clr_acq_r1_r3_imm9 alias ld4_c_clr_r1_r3_imm9 +ld4_c_clr_acq_nt1_r1_r3_imm9 alias ld4_c_clr_acq_r1_r3_imm9 +ld4_c_clr_acq_nta_r1_r3_imm9 alias ld4_c_clr_acq_r1_r3_imm9 +ld8_c_clr_acq_r1_r3_imm9 alias ld8_c_clr_r1_r3_imm9 +ld8_c_clr_acq_nt1_r1_r3_imm9 alias ld8_c_clr_acq_r1_r3_imm9 +ld8_c_clr_acq_nta_r1_r3_imm9 alias ld8_c_clr_acq_r1_r3_imm9 +########################### Format M4 ####################################### +st1_r3_r2 stEx stRd st1Wrt +st1_nta_r3_r2 alias st1_r3_r2 +st2_r3_r2 stEx stRd st2Wrt +st2_nta_r3_r2 alias st2_r3_r2 +st4_r3_r2 stEx stRd st4Wrt +st4_nta_r3_r2 alias st4_r3_r2 +st8_r3_r2 stEx stRd st8Wrt +st8_nta_r3_r2 alias st8_r3_r2 +st16_r3_r2_ar_csd st16Ex st16Rd st16Wrt +st16_nta_r3_r2_ar_csd alias st16_r3_r2_ar_csd +st1_rel_r3_r2 alias st1_r3_r2 +st1_rel_nta_r3_r2 alias st1_rel_r3_r2 +st2_rel_r3_r2 alias st2_r3_r2 +st2_rel_nta_r3_r2 alias st2_rel_r3_r2 +st4_rel_r3_r2 alias st4_r3_r2 +st4_rel_nta_r3_r2 alias st4_rel_r3_r2 +st8_rel_r3_r2 alias st8_r3_r2 +st8_rel_nta_r3_r2 alias st8_rel_r3_r2 +st16_rel_r3_r2_ar_csd alias st16_r3_r2_ar_csd +st16_rel_nta_r3_r2_ar_csd alias st16_r3_r2_ar_csd +st8_spill_r3_r2 stSpillEx stRd stSpillWrt +st8_spill_nta_r3_r2 alias st8_spill_r3_r2 +########################### Format M5 ####################################### +st1_r3_r2_imm9 stEx stPiRd st1PiWrt +st1_nta_r3_r2_imm9 alias st1_r3_r2_imm9 +st2_r3_r2_imm9 stEx stPiRd st2PiWrt +st2_nta_r3_r2_imm9 alias st2_r3_r2_imm9 +st4_r3_r2_imm9 stEx stPiRd st4PiWrt +st4_nta_r3_r2_imm9 alias st4_r3_r2_imm9 +st8_r3_r2_imm9 stEx stPiRd st8PiWrt +st8_nta_r3_r2_imm9 alias st8_r3_r2_imm9 +st1_rel_r3_r2_imm9 alias st1_r3_r2_imm9 +st1_rel_nta_r3_r2_imm9 alias st1_rel_r3_r2_imm9 +st2_rel_r3_r2_imm9 alias st2_r3_r2_imm9 +st2_rel_nta_r3_r2_imm9 alias st2_rel_r3_r2_imm9 +st4_rel_r3_r2_imm9 alias st4_r3_r2_imm9 +st4_rel_nta_r3_r2_imm9 alias st4_rel_r3_r2_imm9 +st8_rel_r3_r2_imm9 alias st8_r3_r2_imm9 +st8_rel_nta_r3_r2_imm9 alias st8_rel_r3_r2_imm9 +st8_spill_r3_r2_imm9 stSpillEx stPiRd stSpillPiWrt +st8_spill_nta_r3_r2_imm9 alias st8_spill_r3_r2_imm9 +########################### Format M6 ####################################### +ldfs_f1_r3 ldfsEx gr3Rd oneFrWrt +ldfs_nt1_f1_r3 alias ldfs_f1_r3 +ldfs_nta_f1_r3 alias ldfs_f1_r3 +ldfd_f1_r3 ldfdEx gr3Rd oneFrWrt +ldfd_nt1_f1_r3 alias ldfd_f1_r3 +ldfd_nta_f1_r3 alias ldfd_f1_r3 +ldf8_f1_r3 ldf8Ex gr3Rd oneFrWrt +ldf8_nt1_f1_r3 alias ldf8_f1_r3 +ldf8_nta_f1_r3 alias ldf8_f1_r3 +ldfe_f1_r3 ldfeEx gr3Rd oneFrWrt +ldfe_nt1_f1_r3 alias ldfe_f1_r3 +ldfe_nta_f1_r3 alias ldfe_f1_r3 +ldfs_s_f1_r3 ldfssEx gr3Rd oneFrWrt +ldfs_s_nt1_f1_r3 alias ldfs_s_f1_r3 +ldfs_s_nta_f1_r3 alias ldfs_s_f1_r3 +ldfd_s_f1_r3 ldfdsEx gr3Rd oneFrWrt +ldfd_s_nt1_f1_r3 alias ldfd_s_f1_r3 +ldfd_s_nta_f1_r3 alias ldfd_s_f1_r3 +ldf8_s_f1_r3 ldf8sEx gr3Rd oneFrWrt +ldf8_s_nt1_f1_r3 alias ldf8_s_f1_r3 +ldf8_s_nta_f1_r3 alias ldf8_s_f1_r3 +ldfe_s_f1_r3 ldfesEx gr3Rd oneFrWrt +ldfe_s_nt1_f1_r3 alias ldfe_s_f1_r3 +ldfe_s_nta_f1_r3 alias ldfe_s_f1_r3 +ldfs_a_f1_r3 ldfsaEx gr3Rd oneFrWrt +ldfs_a_nt1_f1_r3 alias ldfs_a_f1_r3 +ldfs_a_nta_f1_r3 alias ldfs_a_f1_r3 +ldfd_a_f1_r3 ldfdaEx gr3Rd oneFrWrt +ldfd_a_nt1_f1_r3 alias ldfd_a_f1_r3 +ldfd_a_nta_f1_r3 alias ldfd_a_f1_r3 +ldf8_a_f1_r3 ldf8aEx gr3Rd oneFrWrt +ldf8_a_nt1_f1_r3 alias ldf8_a_f1_r3 +ldf8_a_nta_f1_r3 alias ldf8_a_f1_r3 +ldfe_a_f1_r3 ldfeaEx gr3Rd oneFrWrt +ldfe_a_nt1_f1_r3 alias ldfe_a_f1_r3 +ldfe_a_nta_f1_r3 alias ldfe_a_f1_r3 +ldfs_sa_f1_r3 ldfssaEx gr3Rd oneFrWrt +ldfs_sa_nt1_f1_r3 alias ldfs_sa_f1_r3 +ldfs_sa_nta_f1_r3 alias ldfs_sa_f1_r3 +ldfd_sa_f1_r3 ldfdsaEx gr3Rd oneFrWrt +ldfd_sa_nt1_f1_r3 alias ldfd_sa_f1_r3 +ldfd_sa_nta_f1_r3 alias ldfd_sa_f1_r3 +ldf8_sa_f1_r3 ldf8saEx gr3Rd oneFrWrt +ldf8_sa_nt1_f1_r3 alias ldf8_sa_f1_r3 +ldf8_sa_nta_f1_r3 alias ldf8_sa_f1_r3 +ldfe_sa_f1_r3 ldfesaEx gr3Rd oneFrWrt +ldfe_sa_nt1_f1_r3 alias ldfe_sa_f1_r3 +ldfe_sa_nta_f1_r3 alias ldfe_sa_f1_r3 +ldf_fill_f1_r3 ldfFillEx gr3Rd oneFrWrt +ldf_fill_nt1_f1_r3 alias ldf_fill_f1_r3 +ldf_fill_nta_f1_r3 alias ldf_fill_f1_r3 +ldfs_c_clr_f1_r3 ldfscclrEx gr3Rd oneFrWrt +ldfs_c_clr_nt1_f1_r3 alias ldfs_c_clr_f1_r3 +ldfs_c_clr_nta_f1_r3 alias ldfs_c_clr_f1_r3 +ldfd_c_clr_f1_r3 ldfdcclrEx gr3Rd oneFrWrt +ldfd_c_clr_nt1_f1_r3 alias ldfd_c_clr_f1_r3 +ldfd_c_clr_nta_f1_r3 alias ldfd_c_clr_f1_r3 +ldf8_c_clr_f1_r3 ldf8cclrEx gr3Rd oneFrWrt +ldf8_c_clr_nt1_f1_r3 alias ldf8_c_clr_f1_r3 +ldf8_c_clr_nta_f1_r3 alias ldf8_c_clr_f1_r3 +ldfe_c_clr_f1_r3 ldfecclrEx gr3Rd oneFrWrt +ldfe_c_clr_nt1_f1_r3 alias ldfe_c_clr_f1_r3 +ldfe_c_clr_nta_f1_r3 alias ldfe_c_clr_f1_r3 +ldfs_c_nc_f1_r3 ldfscncEx gr3Rd oneFrWrt +ldfs_c_nc_nt1_f1_r3 alias ldfs_c_nc_f1_r3 +ldfs_c_nc_nta_f1_r3 alias ldfs_c_nc_f1_r3 +ldfd_c_nc_f1_r3 ldfdcncEx gr3Rd oneFrWrt +ldfd_c_nc_nt1_f1_r3 alias ldfd_c_nc_f1_r3 +ldfd_c_nc_nta_f1_r3 alias ldfd_c_nc_f1_r3 +ldf8_c_nc_f1_r3 ldf8cncEx gr3Rd oneFrWrt +ldf8_c_nc_nt1_f1_r3 alias ldf8_c_nc_f1_r3 +ldf8_c_nc_nta_f1_r3 alias ldf8_c_nc_f1_r3 +ldfe_c_nc_f1_r3 ldfecncEx gr3Rd oneFrWrt +ldfe_c_nc_nt1_f1_r3 alias ldfe_c_nc_f1_r3 +ldfe_c_nc_nta_f1_r3 alias ldfe_c_nc_f1_r3 +########################### Format M7 ####################################### +ldfs_f1_r3_r2 ldfsPiEx ldPiRd ldFrWrt +ldfs_nt1_f1_r3_r2 alias ldfs_f1_r3_r2 +ldfs_nta_f1_r3_r2 alias ldfs_f1_r3_r2 +ldfd_f1_r3_r2 ldfdPiEx ldPiRd ldFrWrt +ldfd_nt1_f1_r3_r2 alias ldfd_f1_r3_r2 +ldfd_nta_f1_r3_r2 alias ldfd_f1_r3_r2 +ldf8_f1_r3_r2 ldf8PiEx ldPiRd ldFrWrt +ldf8_nt1_f1_r3_r2 alias ldf8_f1_r3_r2 +ldf8_nta_f1_r3_r2 alias ldf8_f1_r3_r2 +ldfe_f1_r3_r2 ldfePiEx ldPiRd ldFrWrt +ldfe_nt1_f1_r3_r2 alias ldfe_f1_r3_r2 +ldfe_nta_f1_r3_r2 alias ldfe_f1_r3_r2 +ldfs_s_f1_r3_r2 ldfssPiEx ldPiRd ldFrWrt +ldfs_s_nt1_f1_r3_r2 alias ldfs_s_f1_r3_r2 +ldfs_s_nta_f1_r3_r2 alias ldfs_s_f1_r3_r2 +ldfd_s_f1_r3_r2 ldfdsPiEx ldPiRd ldFrWrt +ldfd_s_nt1_f1_r3_r2 alias ldfd_s_f1_r3_r2 +ldfd_s_nta_f1_r3_r2 alias ldfd_s_f1_r3_r2 +ldf8_s_f1_r3_r2 ldf8sPiEx ldPiRd ldFrWrt +ldf8_s_nt1_f1_r3_r2 alias ldf8_s_f1_r3_r2 +ldf8_s_nta_f1_r3_r2 alias ldf8_s_f1_r3_r2 +ldfe_s_f1_r3_r2 ldfesPiEx ldPiRd ldFrWrt +ldfe_s_nt1_f1_r3_r2 alias ldfe_s_f1_r3_r2 +ldfe_s_nta_f1_r3_r2 alias ldfe_s_f1_r3_r2 +ldfs_a_f1_r3_r2 ldfsaPiEx ldPiRd ldFrWrt +ldfs_a_nt1_f1_r3_r2 alias ldfs_a_f1_r3_r2 +ldfs_a_nta_f1_r3_r2 alias ldfs_a_f1_r3_r2 +ldfd_a_f1_r3_r2 ldfdaPiEx ldPiRd ldFrWrt +ldfd_a_nt1_f1_r3_r2 alias ldfd_a_f1_r3_r2 +ldfd_a_nta_f1_r3_r2 alias ldfd_a_f1_r3_r2 +ldf8_a_f1_r3_r2 ldf8aPiEx ldPiRd ldFrWrt +ldf8_a_nt1_f1_r3_r2 alias ldf8_a_f1_r3_r2 +ldf8_a_nta_f1_r3_r2 alias ldf8_a_f1_r3_r2 +ldfe_a_f1_r3_r2 ldfeaPiEx ldPiRd ldFrWrt +ldfe_a_nt1_f1_r3_r2 alias ldfe_a_f1_r3_r2 +ldfe_a_nta_f1_r3_r2 alias ldfe_a_f1_r3_r2 +ldfs_sa_f1_r3_r2 ldfssaPiEx ldPiRd ldFrWrt +ldfs_sa_nt1_f1_r3_r2 alias ldfs_sa_f1_r3_r2 +ldfs_sa_nta_f1_r3_r2 alias ldfs_sa_f1_r3_r2 +ldfd_sa_f1_r3_r2 ldfdsaPiEx ldPiRd ldFrWrt +ldfd_sa_nt1_f1_r3_r2 alias ldfd_sa_f1_r3_r2 +ldfd_sa_nta_f1_r3_r2 alias ldfd_sa_f1_r3_r2 +ldf8_sa_f1_r3_r2 ldf8saPiEx ldPiRd ldFrWrt +ldf8_sa_nt1_f1_r3_r2 alias ldf8_sa_f1_r3_r2 +ldf8_sa_nta_f1_r3_r2 alias ldf8_sa_f1_r3_r2 +ldfe_sa_f1_r3_r2 ldfesaPiEx ldPiRd ldFrWrt +ldfe_sa_nt1_f1_r3_r2 alias ldfe_sa_f1_r3_r2 +ldfe_sa_nta_f1_r3_r2 alias ldfe_sa_f1_r3_r2 +ldf_fill_f1_r3_r2 ldfFillPiEx ldPiRd ldFrWrt +ldf_fill_nt1_f1_r3_r2 alias ldf_fill_f1_r3_r2 +ldf_fill_nta_f1_r3_r2 alias ldf_fill_f1_r3_r2 +ldfs_c_clr_f1_r3_r2 ldfscclrPiEx ldPiRd ldFrWrt +ldfs_c_clr_nt1_f1_r3_r2 alias ldfs_c_clr_f1_r3_r2 +ldfs_c_clr_nta_f1_r3_r2 alias ldfs_c_clr_f1_r3_r2 +ldfd_c_clr_f1_r3_r2 ldfdcclrPiEx ldPiRd ldFrWrt +ldfd_c_clr_nt1_f1_r3_r2 alias ldfd_c_clr_f1_r3_r2 +ldfd_c_clr_nta_f1_r3_r2 alias ldfd_c_clr_f1_r3_r2 +ldf8_c_clr_f1_r3_r2 ldf8cclrPiEx ldPiRd ldFrWrt +ldf8_c_clr_nt1_f1_r3_r2 alias ldf8_c_clr_f1_r3_r2 +ldf8_c_clr_nta_f1_r3_r2 alias ldf8_c_clr_f1_r3_r2 +ldfe_c_clr_f1_r3_r2 ldfecclrPiEx ldPiRd ldFrWrt +ldfe_c_clr_nt1_f1_r3_r2 alias ldfe_c_clr_f1_r3_r2 +ldfe_c_clr_nta_f1_r3_r2 alias ldfe_c_clr_f1_r3_r2 +ldfs_c_nc_f1_r3_r2 ldfscncPiEx ldPiRd ldFrWrt +ldfs_c_nc_nt1_f1_r3_r2 alias ldfs_c_nc_f1_r3_r2 +ldfs_c_nc_nta_f1_r3_r2 alias ldfs_c_nc_f1_r3_r2 +ldfd_c_nc_f1_r3_r2 ldfdcncPiEx ldPiRd ldFrWrt +ldfd_c_nc_nt1_f1_r3_r2 alias ldfd_c_nc_f1_r3_r2 +ldfd_c_nc_nta_f1_r3_r2 alias ldfd_c_nc_f1_r3_r2 +ldf8_c_nc_f1_r3_r2 ldf8cncPiEx ldPiRd ldFrWrt +ldf8_c_nc_nt1_f1_r3_r2 alias ldf8_c_nc_f1_r3_r2 +ldf8_c_nc_nta_f1_r3_r2 alias ldf8_c_nc_f1_r3_r2 +ldfe_c_nc_f1_r3_r2 ldfecncPiEx ldPiRd ldFrWrt +ldfe_c_nc_nt1_f1_r3_r2 alias ldfe_c_nc_f1_r3_r2 +ldfe_c_nc_nta_f1_r3_r2 alias ldfe_c_nc_f1_r3_r2 +########################### Format M8 ####################################### +ldfs_f1_r3_imm9 ldfsPiEx grImmRd ldFrWrt +ldfs_nt1_f1_r3_imm9 alias ldfs_f1_r3_imm9 +ldfs_nta_f1_r3_imm9 alias ldfs_f1_r3_imm9 +ldfd_f1_r3_imm9 ldfdPiEx grImmRd ldFrWrt +ldfd_nt1_f1_r3_imm9 alias ldfd_f1_r3_imm9 +ldfd_nta_f1_r3_imm9 alias ldfd_f1_r3_imm9 +ldf8_f1_r3_imm9 ldf8PiEx grImmRd ldFrWrt +ldf8_nt1_f1_r3_imm9 alias ldf8_f1_r3_imm9 +ldf8_nta_f1_r3_imm9 alias ldf8_f1_r3_imm9 +ldfe_f1_r3_imm9 ldfePiEx grImmRd ldFrWrt +ldfe_nt1_f1_r3_imm9 alias ldfe_f1_r3_imm9 +ldfe_nta_f1_r3_imm9 alias ldfe_f1_r3_imm9 +ldfs_s_f1_r3_imm9 ldfssPiEx grImmRd ldFrWrt +ldfs_s_nt1_f1_r3_imm9 alias ldfs_s_f1_r3_imm9 +ldfs_s_nta_f1_r3_imm9 alias ldfs_s_f1_r3_imm9 +ldfd_s_f1_r3_imm9 ldfdsPiEx grImmRd ldFrWrt +ldfd_s_nt1_f1_r3_imm9 alias ldfd_s_f1_r3_imm9 +ldfd_s_nta_f1_r3_imm9 alias ldfd_s_f1_r3_imm9 +ldf8_s_f1_r3_imm9 ldf8sPiEx grImmRd ldFrWrt +ldf8_s_nt1_f1_r3_imm9 alias ldf8_s_f1_r3_imm9 +ldf8_s_nta_f1_r3_imm9 alias ldf8_s_f1_r3_imm9 +ldfe_s_f1_r3_imm9 ldfesPiEx grImmRd ldFrWrt +ldfe_s_nt1_f1_r3_imm9 alias ldfe_s_f1_r3_imm9 +ldfe_s_nta_f1_r3_imm9 alias ldfe_s_f1_r3_imm9 +ldfs_a_f1_r3_imm9 ldfsaPiEx grImmRd ldFrWrt +ldfs_a_nt1_f1_r3_imm9 alias ldfs_a_f1_r3_imm9 +ldfs_a_nta_f1_r3_imm9 alias ldfs_a_f1_r3_imm9 +ldfd_a_f1_r3_imm9 ldfdaPiEx grImmRd ldFrWrt +ldfd_a_nt1_f1_r3_imm9 alias ldfd_a_f1_r3_imm9 +ldfd_a_nta_f1_r3_imm9 alias ldfd_a_f1_r3_imm9 +ldf8_a_f1_r3_imm9 ldf8aPiEx grImmRd ldFrWrt +ldf8_a_nt1_f1_r3_imm9 alias ldf8_a_f1_r3_imm9 +ldf8_a_nta_f1_r3_imm9 alias ldf8_a_f1_r3_imm9 +ldfe_a_f1_r3_imm9 ldfeaPiEx grImmRd ldFrWrt +ldfe_a_nt1_f1_r3_imm9 alias ldfe_a_f1_r3_imm9 +ldfe_a_nta_f1_r3_imm9 alias ldfe_a_f1_r3_imm9 +ldfs_sa_f1_r3_imm9 ldfssaPiEx grImmRd ldFrWrt +ldfs_sa_nt1_f1_r3_imm9 alias ldfs_sa_f1_r3_imm9 +ldfs_sa_nta_f1_r3_imm9 alias ldfs_sa_f1_r3_imm9 +ldfd_sa_f1_r3_imm9 ldfdsaPiEx grImmRd ldFrWrt +ldfd_sa_nt1_f1_r3_imm9 alias ldfd_sa_f1_r3_imm9 +ldfd_sa_nta_f1_r3_imm9 alias ldfd_sa_f1_r3_imm9 +ldf8_sa_f1_r3_imm9 ldf8saPiEx grImmRd ldFrWrt +ldf8_sa_nt1_f1_r3_imm9 alias ldf8_sa_f1_r3_imm9 +ldf8_sa_nta_f1_r3_imm9 alias ldf8_sa_f1_r3_imm9 +ldfe_sa_f1_r3_imm9 ldfesaPiEx grImmRd ldFrWrt +ldfe_sa_nt1_f1_r3_imm9 alias ldfe_sa_f1_r3_imm9 +ldfe_sa_nta_f1_r3_imm9 alias ldfe_sa_f1_r3_imm9 +ldf_fill_f1_r3_imm9 ldfFillPiEx grImmRd ldFrWrt +ldf_fill_nt1_f1_r3_imm9 alias ldf_fill_f1_r3_imm9 +ldf_fill_nta_f1_r3_imm9 alias ldf_fill_f1_r3_imm9 +ldfs_c_clr_f1_r3_imm9 ldfscclrPiEx grImmRd ldFrWrt +ldfs_c_clr_nt1_f1_r3_imm9 alias ldfs_c_clr_f1_r3_imm9 +ldfs_c_clr_nta_f1_r3_imm9 alias ldfs_c_clr_f1_r3_imm9 +ldfd_c_clr_f1_r3_imm9 ldfdcclrPiEx grImmRd ldFrWrt +ldfd_c_clr_nt1_f1_r3_imm9 alias ldfd_c_clr_f1_r3_imm9 +ldfd_c_clr_nta_f1_r3_imm9 alias ldfd_c_clr_f1_r3_imm9 +ldf8_c_clr_f1_r3_imm9 ldf8cclrPiEx grImmRd ldFrWrt +ldf8_c_clr_nt1_f1_r3_imm9 alias ldf8_c_clr_f1_r3_imm9 +ldf8_c_clr_nta_f1_r3_imm9 alias ldf8_c_clr_f1_r3_imm9 +ldfe_c_clr_f1_r3_imm9 ldfecclrPiEx grImmRd ldFrWrt +ldfe_c_clr_nt1_f1_r3_imm9 alias ldfe_c_clr_f1_r3_imm9 +ldfe_c_clr_nta_f1_r3_imm9 alias ldfe_c_clr_f1_r3_imm9 +ldfs_c_nc_f1_r3_imm9 ldfscncPiEx grImmRd ldFrWrt +ldfs_c_nc_nt1_f1_r3_imm9 alias ldfs_c_nc_f1_r3_imm9 +ldfs_c_nc_nta_f1_r3_imm9 alias ldfs_c_nc_f1_r3_imm9 +ldfd_c_nc_f1_r3_imm9 ldfdcncPiEx grImmRd ldFrWrt +ldfd_c_nc_nt1_f1_r3_imm9 alias ldfd_c_nc_f1_r3_imm9 +ldfd_c_nc_nta_f1_r3_imm9 alias ldfd_c_nc_f1_r3_imm9 +ldf8_c_nc_f1_r3_imm9 ldf8cncPiEx grImmRd ldFrWrt +ldf8_c_nc_nt1_f1_r3_imm9 alias ldf8_c_nc_f1_r3_imm9 +ldf8_c_nc_nta_f1_r3_imm9 alias ldf8_c_nc_f1_r3_imm9 +ldfe_c_nc_f1_r3_imm9 ldfecncPiEx grImmRd ldFrWrt +ldfe_c_nc_nt1_f1_r3_imm9 alias ldfe_c_nc_f1_r3_imm9 +ldfe_c_nc_nta_f1_r3_imm9 alias ldfe_c_nc_f1_r3_imm9 +########################### Format M9 ####################################### +stfs_r3_f2 stfsEx stfRd st4Wrt +stfs_nta_r3_f2 alias stfs_r3_f2 +stfd_r3_f2 stfdEx stfRd st8Wrt +stfd_nta_r3_f2 alias stfd_r3_f2 +stf8_r3_f2 stf8Ex stfRd st8Wrt +stf8_nta_r3_f2 alias stf8_r3_f2 +stfe_r3_f2 stEx stfRd stfeWrt +stfe_nta_r3_f2 alias stfe_r3_f2 +stf_spill_r3_f2 stfSpillEx stfRd st16Wrt +stf_spill_nta_r3_f2 alias stf_spill_r3_f2 +########################### Format M10 ###################################### +stfs_r3_f2_imm9 stfsEx stfPiRd st4PiWrt +stfs_nta_r3_f2_imm9 alias stfs_r3_f2_imm9 +stfd_r3_f2_imm9 stfdEx stfPiRd st8PiWrt +stfd_nta_r3_f2_imm9 alias stfd_r3_f2_imm9 +stf8_r3_f2_imm9 stf8Ex stfPiRd st8PiWrt +stf8_nta_r3_f2_imm9 alias stf8_r3_f2_imm9 +stfe_r3_f2_imm9 stEx stfPiRd stfePiWrt +stfe_nta_r3_f2_imm9 alias stfe_r3_f2_imm9 +stf_spill_r3_f2_imm9 stfSpillEx stfPiRd st16PiWrt +stf_spill_nta_r3_f2_imm9 alias stf_spill_r3_f2_imm9 +########################### Format M11 ###################################### +ldfps_f1_f2_r3 ldfpsEx ldfpRd twoFrWrt +ldfps_nt1_f1_f2_r3 alias ldfps_f1_f2_r3 +ldfps_nta_f1_f2_r3 alias ldfps_f1_f2_r3 +ldfpd_f1_f2_r3 ldfpdEx ldfpRd twoFrWrt +ldfpd_nt1_f1_f2_r3 alias ldfpd_f1_f2_r3 +ldfpd_nta_f1_f2_r3 alias ldfpd_f1_f2_r3 +ldfp8_f1_f2_r3 ldfp8Ex ldfpRd twoFrWrt +ldfp8_nt1_f1_f2_r3 alias ldfp8_f1_f2_r3 +ldfp8_nta_f1_f2_r3 alias ldfp8_f1_f2_r3 +ldfps_s_f1_f2_r3 ldfpssEx ldfpsRd twoFrWrt +ldfps_s_nt1_f1_f2_r3 alias ldfps_s_f1_f2_r3 +ldfps_s_nta_f1_f2_r3 alias ldfps_s_f1_f2_r3 +ldfpd_s_f1_f2_r3 ldfpdsEx ldfpsRd twoFrWrt +ldfpd_s_nt1_f1_f2_r3 alias ldfpd_s_f1_f2_r3 +ldfpd_s_nta_f1_f2_r3 alias ldfpd_s_f1_f2_r3 +ldfp8_s_f1_f2_r3 ldfp8sEx ldfpsRd twoFrWrt +ldfp8_s_nt1_f1_f2_r3 alias ldfp8_s_f1_f2_r3 +ldfp8_s_nta_f1_f2_r3 alias ldfp8_s_f1_f2_r3 +ldfps_a_f1_f2_r3 ldfpsaEx ldfpRd twoFrWrt +ldfps_a_nt1_f1_f2_r3 alias ldfps_a_f1_f2_r3 +ldfps_a_nta_f1_f2_r3 alias ldfps_a_f1_f2_r3 +ldfpd_a_f1_f2_r3 ldfpdaEx ldfpRd twoFrWrt +ldfpd_a_nt1_f1_f2_r3 alias ldfpd_a_f1_f2_r3 +ldfpd_a_nta_f1_f2_r3 alias ldfpd_a_f1_f2_r3 +ldfp8_a_f1_f2_r3 ldfp8aEx ldfpRd twoFrWrt +ldfp8_a_nt1_f1_f2_r3 alias ldfp8_a_f1_f2_r3 +ldfp8_a_nta_f1_f2_r3 alias ldfp8_a_f1_f2_r3 +ldfps_sa_f1_f2_r3 ldfpssaEx ldfpsRd twoFrWrt +ldfps_sa_nt1_f1_f2_r3 alias ldfps_sa_f1_f2_r3 +ldfps_sa_nta_f1_f2_r3 alias ldfps_sa_f1_f2_r3 +ldfpd_sa_f1_f2_r3 ldfpdsaEx ldfpsRd twoFrWrt +ldfpd_sa_nt1_f1_f2_r3 alias ldfpd_sa_f1_f2_r3 +ldfpd_sa_nta_f1_f2_r3 alias ldfpd_sa_f1_f2_r3 +ldfp8_sa_f1_f2_r3 ldfp8saEx ldfpsRd twoFrWrt +ldfp8_sa_nt1_f1_f2_r3 alias ldfp8_sa_f1_f2_r3 +ldfp8_sa_nta_f1_f2_r3 alias ldfp8_sa_f1_f2_r3 +ldfps_c_clr_f1_f2_r3 ldfpscclrEx ldfpRd twoFrWrt +ldfps_c_clr_nt1_f1_f2_r3 alias ldfps_c_clr_f1_f2_r3 +ldfps_c_clr_nta_f1_f2_r3 alias ldfps_c_clr_f1_f2_r3 +ldfpd_c_clr_f1_f2_r3 ldfpdcclrEx ldfpRd twoFrWrt +ldfpd_c_clr_nt1_f1_f2_r3 alias ldfpd_c_clr_f1_f2_r3 +ldfpd_c_clr_nta_f1_f2_r3 alias ldfpd_c_clr_f1_f2_r3 +ldfp8_c_clr_f1_f2_r3 ldfp8cclrEx ldfpRd twoFrWrt +ldfp8_c_clr_nt1_f1_f2_r3 alias ldfp8_c_clr_f1_f2_r3 +ldfp8_c_clr_nta_f1_f2_r3 alias ldfp8_c_clr_f1_f2_r3 +ldfps_c_nc_f1_f2_r3 ldfpscncEx ldfpRd twoFrWrt +ldfps_c_nc_nt1_f1_f2_r3 alias ldfps_c_nc_f1_f2_r3 +ldfps_c_nc_nta_f1_f2_r3 alias ldfps_c_nc_f1_f2_r3 +ldfpd_c_nc_f1_f2_r3 ldfpdcncEx ldfpRd twoFrWrt +ldfpd_c_nc_nt1_f1_f2_r3 alias ldfpd_c_nc_f1_f2_r3 +ldfpd_c_nc_nta_f1_f2_r3 alias ldfpd_c_nc_f1_f2_r3 +ldfp8_c_nc_f1_f2_r3 ldfp8cncEx ldfpRd twoFrWrt +ldfp8_c_nc_nt1_f1_f2_r3 alias ldfp8_c_nc_f1_f2_r3 +ldfp8_c_nc_nta_f1_f2_r3 alias ldfp8_c_nc_f1_f2_r3 +########################### Format M12 ###################################### +ldfps_f1_f2_r3_8 ldfpsEx ldfpPiRd twoFrPiWrt +ldfps_nt1_f1_f2_r3_8 alias ldfps_f1_f2_r3_8 +ldfps_nta_f1_f2_r3_8 alias ldfps_f1_f2_r3_8 +ldfpd_f1_f2_r3_16 ldfpdEx ldfpPiRd twoFrPiWrt +ldfpd_nt1_f1_f2_r3_16 alias ldfpd_f1_f2_r3_16 +ldfpd_nta_f1_f2_r3_16 alias ldfpd_f1_f2_r3_16 +ldfp8_f1_f2_r3_16 ldfp8Ex ldfpPiRd twoFrPiWrt +ldfp8_nt1_f1_f2_r3_16 alias ldfp8_f1_f2_r3_16 +ldfp8_nta_f1_f2_r3_16 alias ldfp8_f1_f2_r3_16 +ldfps_s_f1_f2_r3_8 ldfpssEx ldfpsPiRd twoFrPiWrt +ldfps_s_nt1_f1_f2_r3_8 alias ldfps_s_f1_f2_r3_8 +ldfps_s_nta_f1_f2_r3_8 alias ldfps_s_f1_f2_r3_8 +ldfpd_s_f1_f2_r3_16 ldfpdsEx ldfpsPiRd twoFrPiWrt +ldfpd_s_nt1_f1_f2_r3_16 alias ldfpd_s_f1_f2_r3_16 +ldfpd_s_nta_f1_f2_r3_16 alias ldfpd_s_f1_f2_r3_16 +ldfp8_s_f1_f2_r3_16 ldfp8sEx ldfpsPiRd twoFrPiWrt +ldfp8_s_nt1_f1_f2_r3_16 alias ldfp8_s_f1_f2_r3_16 +ldfp8_s_nta_f1_f2_r3_16 alias ldfp8_s_f1_f2_r3_16 +ldfps_a_f1_f2_r3_8 ldfpsaEx ldfpPiRd twoFrPiWrt +ldfps_a_nt1_f1_f2_r3_8 alias ldfps_a_f1_f2_r3_8 +ldfps_a_nta_f1_f2_r3_8 alias ldfps_a_f1_f2_r3_8 +ldfpd_a_f1_f2_r3_16 ldfpdaEx ldfpPiRd twoFrPiWrt +ldfpd_a_nt1_f1_f2_r3_16 alias ldfpd_a_f1_f2_r3_16 +ldfpd_a_nta_f1_f2_r3_16 alias ldfpd_a_f1_f2_r3_16 +ldfp8_a_f1_f2_r3_16 ldfp8aEx ldfpPiRd twoFrPiWrt +ldfp8_a_nt1_f1_f2_r3_16 alias ldfp8_a_f1_f2_r3_16 +ldfp8_a_nta_f1_f2_r3_16 alias ldfp8_a_f1_f2_r3_16 +ldfps_sa_f1_f2_r3_8 ldfpssaEx ldfpsPiRd twoFrPiWrt +ldfps_sa_nt1_f1_f2_r3_8 alias ldfps_sa_f1_f2_r3_8 +ldfps_sa_nta_f1_f2_r3_8 alias ldfps_sa_f1_f2_r3_8 +ldfpd_sa_f1_f2_r3_16 ldfpdsaEx ldfpsPiRd twoFrPiWrt +ldfpd_sa_nt1_f1_f2_r3_16 alias ldfpd_sa_f1_f2_r3_16 +ldfpd_sa_nta_f1_f2_r3_16 alias ldfpd_sa_f1_f2_r3_16 +ldfp8_sa_f1_f2_r3_16 ldfp8saEx ldfpsPiRd twoFrPiWrt +ldfp8_sa_nt1_f1_f2_r3_16 alias ldfp8_sa_f1_f2_r3_16 +ldfp8_sa_nta_f1_f2_r3_16 alias ldfp8_sa_f1_f2_r3_16 +ldfps_c_clr_f1_f2_r3_8 ldfpscclrEx ldfpPiRd twoFrPiWrt +ldfps_c_clr_nt1_f1_f2_r3_8 alias ldfps_c_clr_f1_f2_r3_8 +ldfps_c_clr_nta_f1_f2_r3_8 alias ldfps_c_clr_f1_f2_r3_8 +ldfpd_c_clr_f1_f2_r3_16 ldfpdcclrEx ldfpPiRd twoFrPiWrt +ldfpd_c_clr_nt1_f1_f2_r3_16 alias ldfpd_c_clr_f1_f2_r3_16 +ldfpd_c_clr_nta_f1_f2_r3_16 alias ldfpd_c_clr_f1_f2_r3_16 +ldfp8_c_clr_f1_f2_r3_16 ldfp8cclrEx ldfpPiRd twoFrPiWrt +ldfp8_c_clr_nt1_f1_f2_r3_16 alias ldfp8_c_clr_f1_f2_r3_16 +ldfp8_c_clr_nta_f1_f2_r3_16 alias ldfp8_c_clr_f1_f2_r3_16 +ldfps_c_nc_f1_f2_r3_8 ldfpscncEx ldfpPiRd twoFrPiWrt +ldfps_c_nc_nt1_f1_f2_r3_8 alias ldfps_c_nc_f1_f2_r3_8 +ldfps_c_nc_nta_f1_f2_r3_8 alias ldfps_c_nc_f1_f2_r3_8 +ldfpd_c_nc_f1_f2_r3_16 ldfpdcncEx ldfpPiRd twoFrPiWrt +ldfpd_c_nc_nt1_f1_f2_r3_16 alias ldfpd_c_nc_f1_f2_r3_16 +ldfpd_c_nc_nta_f1_f2_r3_16 alias ldfpd_c_nc_f1_f2_r3_16 +ldfp8_c_nc_f1_f2_r3_16 ldfp8cncEx ldfpPiRd twoFrPiWrt +ldfp8_c_nc_nt1_f1_f2_r3_16 alias ldfp8_c_nc_f1_f2_r3_16 +ldfp8_c_nc_nta_f1_f2_r3_16 alias ldfp8_c_nc_f1_f2_r3_16 +########################### Format M13 ###################################### +lfetch_r3 lfetchEx gr3Rd nullWrt +lfetch_nt1_r3 alias lfetch_r3 +lfetch_nt2_r3 alias lfetch_r3 +lfetch_nta_r3 alias lfetch_r3 +lfetch_excl_r3 alias lfetch_r3 +lfetch_excl_nt1_r3 alias lfetch_excl_r3 +lfetch_excl_nt2_r3 alias lfetch_excl_r3 +lfetch_excl_nta_r3 alias lfetch_excl_r3 +lfetch_fault_r3 lfetchFEx gr3Rd nullWrt +lfetch_fault_nt1_r3 alias lfetch_fault_r3 +lfetch_fault_nt2_r3 alias lfetch_fault_r3 +lfetch_fault_nta_r3 alias lfetch_fault_r3 +lfetch_fault_excl_r3 alias lfetch_fault_r3 +lfetch_fault_excl_nt1_r3 alias lfetch_fault_excl_r3 +lfetch_fault_excl_nt2_r3 alias lfetch_fault_excl_r3 +lfetch_fault_excl_nta_r3 alias lfetch_fault_excl_r3 +########################### Format M14 ###################################### +lfetch_r3_r2 lfetchPiEx ldPiRd lfetchWrt +lfetch_nt1_r3_r2 alias lfetch_r3_r2 +lfetch_nt2_r3_r2 alias lfetch_r3_r2 +lfetch_nta_r3_r2 alias lfetch_r3_r2 +lfetch_excl_r3_r2 alias lfetch_r3_r2 +lfetch_excl_nt1_r3_r2 alias lfetch_excl_r3_r2 +lfetch_excl_nt2_r3_r2 alias lfetch_excl_r3_r2 +lfetch_excl_nta_r3_r2 alias lfetch_excl_r3_r2 +lfetch_fault_r3_r2 lfetchFPiEx ldPiRd lfetchWrt +lfetch_fault_nt1_r3_r2 alias lfetch_fault_r3_r2 +lfetch_fault_nt2_r3_r2 alias lfetch_fault_r3_r2 +lfetch_fault_nta_r3_r2 alias lfetch_fault_r3_r2 +lfetch_fault_excl_r3_r2 alias lfetch_fault_r3_r2 +lfetch_fault_excl_nt1_r3_r2 alias lfetch_fault_excl_r3_r2 +lfetch_fault_excl_nt2_r3_r2 alias lfetch_fault_excl_r3_r2 +lfetch_fault_excl_nta_r3_r2 alias lfetch_fault_excl_r3_r2 +########################### Format M15 ###################################### +lfetch_r3_imm9 lfetchPiEx grImmRd lfetchWrt +lfetch_nt1_r3_imm9 alias lfetch_r3_imm9 +lfetch_nt2_r3_imm9 alias lfetch_r3_imm9 +lfetch_nta_r3_imm9 alias lfetch_r3_imm9 +lfetch_excl_r3_imm9 alias lfetch_r3_imm9 +lfetch_excl_nt1_r3_imm9 alias lfetch_excl_r3_imm9 +lfetch_excl_nt2_r3_imm9 alias lfetch_excl_r3_imm9 +lfetch_excl_nta_r3_imm9 alias lfetch_excl_r3_imm9 +lfetch_fault_r3_imm9 lfetchFPiEx grImmRd lfetchWrt +lfetch_fault_nt1_r3_imm9 alias lfetch_fault_r3_imm9 +lfetch_fault_nt2_r3_imm9 alias lfetch_fault_r3_imm9 +lfetch_fault_nta_r3_imm9 alias lfetch_fault_r3_imm9 +lfetch_fault_excl_r3_imm9 alias lfetch_fault_r3_imm9 +lfetch_fault_excl_nt1_r3_imm9 alias lfetch_fault_excl_r3_imm9 +lfetch_fault_excl_nt2_r3_imm9 alias lfetch_fault_excl_r3_imm9 +lfetch_fault_excl_nta_r3_imm9 alias lfetch_fault_excl_r3_imm9 +########################### Format M16 ###################################### +cmpxchg1_acq_r1_r3_r2_ar_ccv xchgEx stRd cmpxchg1Wrt +cmpxchg1_acq_nt1_r1_r3_r2_ar_ccv alias cmpxchg1_acq_r1_r3_r2_ar_ccv +cmpxchg1_acq_nta_r1_r3_r2_ar_ccv alias cmpxchg1_acq_r1_r3_r2_ar_ccv +cmpxchg2_acq_r1_r3_r2_ar_ccv xchgEx stRd cmpxchg2Wrt +cmpxchg2_acq_nt1_r1_r3_r2_ar_ccv alias cmpxchg2_acq_r1_r3_r2_ar_ccv +cmpxchg2_acq_nta_r1_r3_r2_ar_ccv alias cmpxchg2_acq_r1_r3_r2_ar_ccv +cmpxchg4_acq_r1_r3_r2_ar_ccv xchgEx stRd cmpxchg4Wrt +cmpxchg4_acq_nt1_r1_r3_r2_ar_ccv alias cmpxchg4_acq_r1_r3_r2_ar_ccv +cmpxchg4_acq_nta_r1_r3_r2_ar_ccv alias cmpxchg4_acq_r1_r3_r2_ar_ccv +cmpxchg8_acq_r1_r3_r2_ar_ccv xchgEx stRd cmpxchg8Wrt +cmpxchg8_acq_nt1_r1_r3_r2_ar_ccv alias cmpxchg8_acq_r1_r3_r2_ar_ccv +cmpxchg8_acq_nta_r1_r3_r2_ar_ccv alias cmpxchg8_acq_r1_r3_r2_ar_ccv +cmp8xchg16_acq_r1_r3_r2_ar_csd_ar_ccv xchgEx st16Rd cmp8xchg16Wrt +cmp8xchg16_acq_nt1_r1_r3_r2_ar_csd_ar_ccv alias cmp8xchg16_acq_r1_r3_r2_ar_csd_ar_ccv +cmp8xchg16_acq_nta_r1_r3_r2_ar_csd_ar_ccv alias cmp8xchg16_acq_r1_r3_r2_ar_csd_ar_ccv +cmpxchg1_rel_r1_r3_r2_ar_ccv alias cmpxchg1_acq_r1_r3_r2_ar_ccv +cmpxchg1_rel_nt1_r1_r3_r2_ar_ccv alias cmpxchg1_rel_r1_r3_r2_ar_ccv +cmpxchg1_rel_nta_r1_r3_r2_ar_ccv alias cmpxchg1_rel_r1_r3_r2_ar_ccv +cmpxchg2_rel_r1_r3_r2_ar_ccv alias cmpxchg2_acq_r1_r3_r2_ar_ccv +cmpxchg2_rel_nt1_r1_r3_r2_ar_ccv alias cmpxchg2_rel_r1_r3_r2_ar_ccv +cmpxchg2_rel_nta_r1_r3_r2_ar_ccv alias cmpxchg2_rel_r1_r3_r2_ar_ccv +cmpxchg4_rel_r1_r3_r2_ar_ccv alias cmpxchg4_acq_r1_r3_r2_ar_ccv +cmpxchg4_rel_nt1_r1_r3_r2_ar_ccv alias cmpxchg4_rel_r1_r3_r2_ar_ccv +cmpxchg4_rel_nta_r1_r3_r2_ar_ccv alias cmpxchg4_rel_r1_r3_r2_ar_ccv +cmpxchg8_rel_r1_r3_r2_ar_ccv alias cmpxchg8_acq_r1_r3_r2_ar_ccv +cmpxchg8_rel_nt1_r1_r3_r2_ar_ccv alias cmpxchg8_rel_r1_r3_r2_ar_ccv +cmpxchg8_rel_nta_r1_r3_r2_ar_ccv alias cmpxchg8_rel_r1_r3_r2_ar_ccv +cmp8xchg16_rel_r1_r3_r2_ar_csd_ar_ccv alias cmp8xchg16_acq_r1_r3_r2_ar_csd_ar_ccv +cmp8xchg16_rel_nt1_r1_r3_r2_ar_csd_ar_ccv alias cmp8xchg16_rel_r1_r3_r2_ar_csd_ar_ccv +cmp8xchg16_rel_nta_r1_r3_r2_ar_csd_ar_ccv alias cmp8xchg16_rel_r1_r3_r2_ar_csd_ar_ccv +xchg1_r1_r3_r2 xchgEx stRd xchg1Wrt +xchg1_nt1_r1_r3_r2 alias xchg1_r1_r3_r2 +xchg1_nta_r1_r3_r2 alias xchg1_r1_r3_r2 +xchg2_r1_r3_r2 xchgEx stRd xchg2Wrt +xchg2_nt1_r1_r3_r2 alias xchg2_r1_r3_r2 +xchg2_nta_r1_r3_r2 alias xchg2_r1_r3_r2 +xchg4_r1_r3_r2 xchgEx stRd xchg4Wrt +xchg4_nt1_r1_r3_r2 alias xchg4_r1_r3_r2 +xchg4_nta_r1_r3_r2 alias xchg4_r1_r3_r2 +xchg8_r1_r3_r2 xchgEx stRd xchg8Wrt +xchg8_nt1_r1_r3_r2 alias xchg8_r1_r3_r2 +xchg8_nta_r1_r3_r2 alias xchg8_r1_r3_r2 +########################### Format M17 ###################################### +fetchadd4_acq_r1_r3_inc3 fetchaddEx immGrRd fetchadd4Wrt +fetchadd4_acq_nt1_r1_r3_inc3 alias fetchadd4_acq_r1_r3_inc3 +fetchadd4_acq_nta_r1_r3_inc3 alias fetchadd4_acq_r1_r3_inc3 +fetchadd8_acq_r1_r3_inc3 fetchaddEx immGrRd fetchadd8Wrt +fetchadd8_acq_nt1_r1_r3_inc3 alias fetchadd8_acq_r1_r3_inc3 +fetchadd8_acq_nta_r1_r3_inc3 alias fetchadd8_acq_r1_r3_inc3 +fetchadd4_rel_r1_r3_inc3 alias fetchadd4_acq_r1_r3_inc3 +fetchadd4_rel_nt1_r1_r3_inc3 alias fetchadd4_rel_r1_r3_inc3 +fetchadd4_rel_nta_r1_r3_inc3 alias fetchadd4_rel_r1_r3_inc3 +fetchadd8_rel_r1_r3_inc3 alias fetchadd8_acq_r1_r3_inc3 +fetchadd8_rel_nt1_r1_r3_inc3 alias fetchadd8_rel_r1_r3_inc3 +fetchadd8_rel_nta_r1_r3_inc3 alias fetchadd8_rel_r1_r3_inc3 +########################### Format M18 ###################################### +setf_sig_f1_r2 setfsigEx setfRd oneFrWrt +setf_exp_f1_r2 setfexpEx setfRd oneFrWrt +setf_s_f1_r2 setfsEx setfRd oneFrWrt +setf_d_f1_r2 setfdEx setfRd oneFrWrt +########################### Format M19 ###################################### +getf_sig_r1_f2 getfsigEx getfRd oneGrWrt +getf_exp_r1_f2 getfexpEx getfRd oneGrWrt +getf_s_r1_f2 getfsEx getfRd oneGrWrt +getf_d_r1_f2 getfdEx getfRd oneGrWrt +########################### Format M20 ###################################### +chk_s_m_r2_target25 alias chk_s_i_r2_target25 +########################### Format M21 ###################################### +chk_s_f2_target25 copyEx chksfRd qualIpWrt +########################### Format M22 ###################################### +chk_a_nc_r1_target25 chkarNcEx chkarRd condIpWrt +chk_a_clr_r1_target25 chkarClrEx chkarRd condIpWrt +########################### Format M23 ###################################### +chk_a_nc_f1_target25 chkafNcEx chkafRd condIpWrt +chk_a_clr_f1_target25 chkafClrEx chkafRd condIpWrt +########################### Format M24 ###################################### +invala invalaEx nullRd nullWrt +fwb alias nop_i_imm21 +mf alias nop_i_imm21 +mf_a alias nop_i_imm21 +srlz_d alias nop_i_imm21 +srlz_i alias nop_i_imm21 +sync_i alias nop_i_imm21 +########################### Format M25 ###################################### +flushrs flushrsEx unpredRd nullWrt +loadrs loadrsEx unpredRd nullWrt +########################### Format M26 ###################################### +invala_e_r1 invalar1Ex nullRd nullWrt +########################### Format M27 ###################################### +invala_e_f1 invalaf1Ex nullRd nullWrt +########################### Format M28 ###################################### +fc_r3 fcEx gr3Rd nullWrt +fc_i_r3 alias fc_r3 +########################### Format M29 ###################################### +mov_m_ar3_r2 movtoarmEx oneGrRd oneArWrt +########################### Format M30 ###################################### +mov_m_ar3_imm8 movtoarmEx oneImmRd oneArWrt +########################### Format M31 ###################################### +mov_m_r1_ar3 movfromarmEx oneArRd oneGrWrt +########################### Format M32 ###################################### +mov_cr3_r2 movtocrEx cplGrRd oneCrWrt +########################### Format M33 ###################################### +mov_r1_cr3 movfromcrEx oneCrRd oneGrWrt +########################### Format M34 ###################################### +alloc_r1_ar_pfs_i_l_o_r allocEx allocRd cfmWrt +########################### Format M35 ###################################### +mov_psr_l_r2 movtopsrlEx psrGrRd psrWrt +mov_psr_um_r2 movtopsrumEx psrGrRd psrWrt +########################### Format M36 ###################################### +mov_r1_psr movfrompsrEx psrRd oneGrWrt +mov_r1_psr_um movfrompsrumEx psrRd oneGrWrt +########################### Format M37 ###################################### +break_m_imm21 alias break_i_imm21 +nop_m_imm21 alias nop_i_imm21 +########################### Format M38 ###################################### +probe_r_r1_r3_r2 proberEx stRd oneGrWrt +probe_w_r1_r3_r2 probewEx stRd oneGrWrt +########################### Format M39 ###################################### +probe_r_r1_r3_imm2 proberEx immGrRd oneGrWrt +probe_w_r1_r3_imm2 probewEx immGrRd oneGrWrt +########################### Format M40 ###################################### +probe_rw_fault_r3_imm2 proberwFEx immGrRd nullWrt +probe_r_fault_r3_imm2 proberFEx immGrRd nullWrt +probe_w_fault_r3_imm2 probewFEx immGrRd nullWrt +########################### Format M41 ###################################### +itc_d_r2 itcdEx cplGrRd nullWrt +itc_i_r2 itciEx cplGrRd nullWrt +########################### Format M42 ###################################### +mov_rr_r3_r2 movtorrEx indRegRd oneRrWrt +mov_dbr_r3_r2 movtodbrEx indRegRd oneDbrWrt +mov_ibr_r3_r2 movtoibrEx indRegRd oneIbrWrt +mov_pkr_r3_r2 movtopkrEx indRegRd onePkrWrt +mov_pmc_r3_r2 movtopmcEx indRegRd onePmcWrt +mov_pmd_r3_r2 movtopmdEx indRegRd onePmdWrt +itr_d_dtr_r3_r2 itrdEx indRegRd nullWrt +itr_i_itr_r3_r2 itriEx indRegRd nullWrt +########################### Format M43 ###################################### +mov_r1_rr_r3 movfromrrEx cplGr3Rd oneGrWrt +mov_r1_dbr_r3 movfromdbrEx cplGr3Rd oneGrWrt +mov_r1_ibr_r3 movfromibrEx cplGr3Rd oneGrWrt +mov_r1_pkr_r3 movfrompkrEx cplGr3Rd oneGrWrt +mov_r1_pmc_r3 movfrompmcEx cplGr3Rd oneGrWrt +mov_r1_pmd_r3 movfrompmdEx cplGr3Rd oneGrWrt +mov_r1_cpuid_r3 movfromcpuidEx cplGr3Rd oneGrWrt +########################### Format M44 ###################################### +sum_imm24 sumEx psrRd psrWrt +rum_imm24 rumEx psrRd psrWrt +ssm_imm24 ssmEx psrRd psrWrt +rsm_imm24 rsmEx psrRd psrWrt +########################### Format M45 ###################################### +ptc_l_r3_r2 ptcEx indRegRd nullWrt +ptc_g_r3_r2 alias ptc_l_r3_r2 +ptc_ga_r3_r2 alias ptc_l_r3_r2 +ptr_d_r3_r2 ptrdEx indRegRd nullWrt +ptr_i_r3_r2 ptriEx indRegRd nullWrt +########################### Format M46 ###################################### +thash_r1_r3 thashEx gr3Rd oneGrWrt +ttag_r1_r3 ttagEx gr3Rd oneGrWrt +tpa_r1_r3 tpaEx cplGr3Rd oneGrWrt +tak_r1_r3 takEx cplGr3Rd oneGrWrt +########################### Format M47 ###################################### +ptc_e_r3 ptceEx ptceRd nullWrt +########################### Format M48 ###################################### +nop_m_imm21 alias nop_i_imm21 +hint_m_imm21 alias hint_i_imm21 +########################### Format M1001 #################################### +########################### Format B1 ###################################### +br_cond_spnt_few_target25 copyEx ipRd ipWrt +br_cond_spnt_many_target25 alias br_cond_spnt_few_target25 +br_cond_sptk_few_target25 alias br_cond_spnt_few_target25 +br_cond_sptk_many_target25 alias br_cond_spnt_few_target25 +br_cond_dpnt_few_target25 alias br_cond_spnt_few_target25 +br_cond_dpnt_many_target25 alias br_cond_spnt_few_target25 +br_cond_dptk_few_target25 alias br_cond_spnt_few_target25 +br_cond_dptk_many_target25 alias br_cond_spnt_few_target25 +br_cond_spnt_few_clr_target25 alias br_cond_spnt_few_target25 +br_cond_spnt_many_clr_target25 alias br_cond_spnt_few_target25 +br_cond_sptk_few_clr_target25 alias br_cond_spnt_few_target25 +br_cond_sptk_many_clr_target25 alias br_cond_spnt_few_target25 +br_cond_dpnt_few_clr_target25 alias br_cond_spnt_few_target25 +br_cond_dpnt_many_clr_target25 alias br_cond_spnt_few_target25 +br_cond_dptk_few_clr_target25 alias br_cond_spnt_few_target25 +br_cond_dptk_many_clr_target25 alias br_cond_spnt_few_target25 +br_wexit_spnt_few_target25 brWexitEx tgtPrRd condIpWrt +br_wexit_spnt_many_target25 alias br_wexit_spnt_few_target25 +br_wexit_sptk_few_target25 alias br_wexit_spnt_few_target25 +br_wexit_sptk_many_target25 alias br_wexit_spnt_few_target25 +br_wexit_dpnt_few_target25 alias br_wexit_spnt_few_target25 +br_wexit_dpnt_many_target25 alias br_wexit_spnt_few_target25 +br_wexit_dptk_few_target25 alias br_wexit_spnt_few_target25 +br_wexit_dptk_many_target25 alias br_wexit_spnt_few_target25 +br_wexit_spnt_few_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_spnt_many_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_sptk_few_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_sptk_many_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_dpnt_few_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_dpnt_many_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_dptk_few_clr_target25 alias br_wexit_spnt_few_target25 +br_wexit_dptk_many_clr_target25 alias br_wexit_spnt_few_target25 +br_wtop_spnt_few_target25 brWtopEx tgtPrRd condIpWrt +br_wtop_spnt_many_target25 alias br_wtop_spnt_few_target25 +br_wtop_sptk_few_target25 alias br_wtop_spnt_few_target25 +br_wtop_sptk_many_target25 alias br_wtop_spnt_few_target25 +br_wtop_dpnt_few_target25 alias br_wtop_spnt_few_target25 +br_wtop_dpnt_many_target25 alias br_wtop_spnt_few_target25 +br_wtop_dptk_few_target25 alias br_wtop_spnt_few_target25 +br_wtop_dptk_many_target25 alias br_wtop_spnt_few_target25 +br_wtop_spnt_few_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_spnt_many_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_sptk_few_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_sptk_many_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_dpnt_few_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_dpnt_many_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_dptk_few_clr_target25 alias br_wtop_spnt_few_target25 +br_wtop_dptk_many_clr_target25 alias br_wtop_spnt_few_target25 +########################### Format B2 ###################################### +br_cloop_spnt_few_target25 brCloopEx unpredTgtRd condIpWrt +br_cloop_spnt_many_target25 alias br_cloop_spnt_few_target25 +br_cloop_sptk_few_target25 alias br_cloop_spnt_few_target25 +br_cloop_sptk_many_target25 alias br_cloop_spnt_few_target25 +br_cloop_dpnt_few_target25 alias br_cloop_spnt_few_target25 +br_cloop_dpnt_many_target25 alias br_cloop_spnt_few_target25 +br_cloop_dptk_few_target25 alias br_cloop_spnt_few_target25 +br_cloop_dptk_many_target25 alias br_cloop_spnt_few_target25 +br_cloop_spnt_few_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_spnt_many_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_sptk_few_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_sptk_many_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_dpnt_few_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_dpnt_many_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_dptk_few_clr_target25 alias br_cloop_spnt_few_target25 +br_cloop_dptk_many_clr_target25 alias br_cloop_spnt_few_target25 +br_cexit_spnt_few_target25 brCexitEx unpredTgtRd condIpWrt +br_cexit_spnt_many_target25 alias br_cexit_spnt_few_target25 +br_cexit_sptk_few_target25 alias br_cexit_spnt_few_target25 +br_cexit_sptk_many_target25 alias br_cexit_spnt_few_target25 +br_cexit_dpnt_few_target25 alias br_cexit_spnt_few_target25 +br_cexit_dpnt_many_target25 alias br_cexit_spnt_few_target25 +br_cexit_dptk_few_target25 alias br_cexit_spnt_few_target25 +br_cexit_dptk_many_target25 alias br_cexit_spnt_few_target25 +br_cexit_spnt_few_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_spnt_many_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_sptk_few_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_sptk_many_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_dpnt_few_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_dpnt_many_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_dptk_few_clr_target25 alias br_cexit_spnt_few_target25 +br_cexit_dptk_many_clr_target25 alias br_cexit_spnt_few_target25 +br_ctop_spnt_few_target25 brCtopEx unpredTgtRd condIpWrt +br_ctop_spnt_many_target25 alias br_ctop_spnt_few_target25 +br_ctop_sptk_few_target25 alias br_ctop_spnt_few_target25 +br_ctop_sptk_many_target25 alias br_ctop_spnt_few_target25 +br_ctop_dpnt_few_target25 alias br_ctop_spnt_few_target25 +br_ctop_dpnt_many_target25 alias br_ctop_spnt_few_target25 +br_ctop_dptk_few_target25 alias br_ctop_spnt_few_target25 +br_ctop_dptk_many_target25 alias br_ctop_spnt_few_target25 +br_ctop_spnt_few_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_spnt_many_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_sptk_few_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_sptk_many_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_dpnt_few_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_dpnt_many_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_dptk_few_clr_target25 alias br_ctop_spnt_few_target25 +br_ctop_dptk_many_clr_target25 alias br_ctop_spnt_few_target25 +########################### Format B3 ###################################### +br_call_spnt_few_b1_target25 brCallEx callRd callWrt +br_call_spnt_many_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_sptk_few_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_sptk_many_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dpnt_few_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dpnt_many_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dptk_few_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dptk_many_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_spnt_few_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_spnt_many_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_sptk_few_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_sptk_many_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dpnt_few_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dpnt_many_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dptk_few_clr_b1_target25 alias br_call_spnt_few_b1_target25 +br_call_dptk_many_clr_b1_target25 alias br_call_spnt_few_b1_target25 +########################### Format B4 ###################################### +br_cond_spnt_few_b2 brCondiEx oneBrRd ipWrt +br_cond_spnt_many_b2 alias br_cond_spnt_few_b2 +br_cond_sptk_few_b2 alias br_cond_spnt_few_b2 +br_cond_sptk_many_b2 alias br_cond_spnt_few_b2 +br_cond_dpnt_few_b2 alias br_cond_spnt_few_b2 +br_cond_dpnt_many_b2 alias br_cond_spnt_few_b2 +br_cond_dptk_few_b2 alias br_cond_spnt_few_b2 +br_cond_dptk_many_b2 alias br_cond_spnt_few_b2 +br_cond_spnt_few_clr_b2 alias br_cond_spnt_few_b2 +br_cond_spnt_many_clr_b2 alias br_cond_spnt_few_b2 +br_cond_sptk_few_clr_b2 alias br_cond_spnt_few_b2 +br_cond_sptk_many_clr_b2 alias br_cond_spnt_few_b2 +br_cond_dpnt_few_clr_b2 alias br_cond_spnt_few_b2 +br_cond_dpnt_many_clr_b2 alias br_cond_spnt_few_b2 +br_cond_dptk_few_clr_b2 alias br_cond_spnt_few_b2 +br_cond_dptk_many_clr_b2 alias br_cond_spnt_few_b2 +br_ia_spnt_few_b2 brIAEx brIARd brIAWrt +br_ia_spnt_many_b2 alias br_ia_spnt_few_b2 +br_ia_sptk_few_b2 alias br_ia_spnt_few_b2 +br_ia_sptk_many_b2 alias br_ia_spnt_few_b2 +br_ia_dpnt_few_b2 alias br_ia_spnt_few_b2 +br_ia_dpnt_many_b2 alias br_ia_spnt_few_b2 +br_ia_dptk_few_b2 alias br_ia_spnt_few_b2 +br_ia_dptk_many_b2 alias br_ia_spnt_few_b2 +br_ia_spnt_few_clr_b2 alias br_ia_spnt_few_b2 +br_ia_spnt_many_clr_b2 alias br_ia_spnt_few_b2 +br_ia_sptk_few_clr_b2 alias br_ia_spnt_few_b2 +br_ia_sptk_many_clr_b2 alias br_ia_spnt_few_b2 +br_ia_dpnt_few_clr_b2 alias br_ia_spnt_few_b2 +br_ia_dpnt_many_clr_b2 alias br_ia_spnt_few_b2 +br_ia_dptk_few_clr_b2 alias br_ia_spnt_few_b2 +br_ia_dptk_many_clr_b2 alias br_ia_spnt_few_b2 +br_ret_spnt_few_b2 brRetEx oneBrRd ipWrt +br_ret_spnt_many_b2 alias br_ret_spnt_few_b2 +br_ret_sptk_few_b2 alias br_ret_spnt_few_b2 +br_ret_sptk_many_b2 alias br_ret_spnt_few_b2 +br_ret_dpnt_few_b2 alias br_ret_spnt_few_b2 +br_ret_dpnt_many_b2 alias br_ret_spnt_few_b2 +br_ret_dptk_few_b2 alias br_ret_spnt_few_b2 +br_ret_dptk_many_b2 alias br_ret_spnt_few_b2 +br_ret_spnt_few_clr_b2 alias br_ret_spnt_few_b2 +br_ret_spnt_many_clr_b2 alias br_ret_spnt_few_b2 +br_ret_sptk_few_clr_b2 alias br_ret_spnt_few_b2 +br_ret_sptk_many_clr_b2 alias br_ret_spnt_few_b2 +br_ret_dpnt_few_clr_b2 alias br_ret_spnt_few_b2 +br_ret_dpnt_many_clr_b2 alias br_ret_spnt_few_b2 +br_ret_dptk_few_clr_b2 alias br_ret_spnt_few_b2 +br_ret_dptk_many_clr_b2 alias br_ret_spnt_few_b2 +########################### Format B5 ###################################### +br_call_spnt_few_b1_b2 brCallEx calliRd callWrt +br_call_spnt_many_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_sptk_few_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_sptk_many_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dpnt_few_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dpnt_many_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dptk_few_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dptk_many_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_spnt_few_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_spnt_many_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_sptk_few_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_sptk_many_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dpnt_few_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dpnt_many_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dptk_few_clr_b1_b2 alias br_call_spnt_few_b1_b2 +br_call_dptk_many_clr_b1_b2 alias br_call_spnt_few_b1_b2 +########################### Format B6 ###################################### +brp_loop_target25_tag13 brpEx brpRd nullWrt +brp_loop_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_dc_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_dc_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_tk_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_dc_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_dc_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_tk_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_tk_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_loop_many_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_sptk_many_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_exit_many_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_nt_target25_tag13 alias brp_loop_target25_tag13 +brp_dptk_many_nt_nt_imp_target25_tag13 alias brp_loop_target25_tag13 +########################### Format B7 ###################################### +brp_sptk_b2_tag13 brpiEx brpiRd nullWrt +brp_sptk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_sptk_many_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_dptk_many_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_dc_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_dc_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_tk_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_dc_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_dc_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_tk_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_tk_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_sptk_many_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_nt_b2_tag13 alias brp_sptk_b2_tag13 +brp_ret_dptk_many_nt_nt_imp_b2_tag13 alias brp_sptk_b2_tag13 +########################### Format B8 ###################################### +cover coverEx unpredRd nullWrt +clrrrb nopEx unpredRd clrrrbWrt +clrrrb_pr nopEx unpredRd clrrrbpWrt +rfi rfiEx unpredPsrRd rfiWrt +bsw_0 bsw0Ex unpredPsrRd psrWrt +bsw_1 bsw1Ex unpredPsrRd psrWrt +epc epcEx epcRd cplWrt +########################### Format B9 ###################################### +break_b_imm21 breakEx breakbRd breakWrt +nop_b_imm21 alias nop_i_imm21 +hint_b_imm21 alias hint_i_imm21 +########################### Format F1 ###################################### +fma_s0_f1_f3_f4_f2 fmaEx fmas0Rd frts0Wrt +fma_s1_f1_f3_f4_f2 fmaEx fmas1Rd frts1Wrt +fma_s2_f1_f3_f4_f2 fmaEx fmas2Rd frts2Wrt +fma_s3_f1_f3_f4_f2 fmaEx fmas3Rd frts3Wrt +fma_s_s0_f1_f3_f4_f2 fmasEx fmas0Rd frts0Wrt +fma_s_s1_f1_f3_f4_f2 fmasEx fmas1Rd frts1Wrt +fma_s_s2_f1_f3_f4_f2 fmasEx fmas2Rd frts2Wrt +fma_s_s3_f1_f3_f4_f2 fmasEx fmas3Rd frts3Wrt +fma_d_s0_f1_f3_f4_f2 fmadEx fmas0Rd frts0Wrt +fma_d_s1_f1_f3_f4_f2 fmadEx fmas1Rd frts1Wrt +fma_d_s2_f1_f3_f4_f2 fmadEx fmas2Rd frts2Wrt +fma_d_s3_f1_f3_f4_f2 fmadEx fmas3Rd frts3Wrt +fpma_s0_f1_f3_f4_f2 fpmaEx fmas0Rd frpts0Wrt +fpma_s1_f1_f3_f4_f2 fpmaEx fmas1Rd frpts1Wrt +fpma_s2_f1_f3_f4_f2 fpmaEx fmas2Rd frpts2Wrt +fpma_s3_f1_f3_f4_f2 fpmaEx fmas3Rd frpts3Wrt +fms_s0_f1_f3_f4_f2 fmsEx fmas0Rd frts0Wrt +fms_s1_f1_f3_f4_f2 fmsEx fmas1Rd frts1Wrt +fms_s2_f1_f3_f4_f2 fmsEx fmas2Rd frts2Wrt +fms_s3_f1_f3_f4_f2 fmsEx fmas3Rd frts3Wrt +fms_s_s0_f1_f3_f4_f2 fmssEx fmas0Rd frts0Wrt +fms_s_s1_f1_f3_f4_f2 fmssEx fmas1Rd frts1Wrt +fms_s_s2_f1_f3_f4_f2 fmssEx fmas2Rd frts2Wrt +fms_s_s3_f1_f3_f4_f2 fmssEx fmas3Rd frts3Wrt +fms_d_s0_f1_f3_f4_f2 fmsdEx fmas0Rd frts0Wrt +fms_d_s1_f1_f3_f4_f2 fmsdEx fmas1Rd frts1Wrt +fms_d_s2_f1_f3_f4_f2 fmsdEx fmas2Rd frts2Wrt +fms_d_s3_f1_f3_f4_f2 fmsdEx fmas3Rd frts3Wrt +fpms_s0_f1_f3_f4_f2 fpmsEx fmas0Rd frpts0Wrt +fpms_s1_f1_f3_f4_f2 fpmsEx fmas1Rd frpts1Wrt +fpms_s2_f1_f3_f4_f2 fpmsEx fmas2Rd frpts2Wrt +fpms_s3_f1_f3_f4_f2 fpmsEx fmas3Rd frpts3Wrt +fnma_s0_f1_f3_f4_f2 fnmaEx fmas0Rd frts0Wrt +fnma_s1_f1_f3_f4_f2 fnmaEx fmas1Rd frts1Wrt +fnma_s2_f1_f3_f4_f2 fnmaEx fmas2Rd frts2Wrt +fnma_s3_f1_f3_f4_f2 fnmaEx fmas3Rd frts3Wrt +fnma_s_s0_f1_f3_f4_f2 fnmasEx fmas0Rd frts0Wrt +fnma_s_s1_f1_f3_f4_f2 fnmasEx fmas1Rd frts1Wrt +fnma_s_s2_f1_f3_f4_f2 fnmasEx fmas2Rd frts2Wrt +fnma_s_s3_f1_f3_f4_f2 fnmasEx fmas3Rd frts3Wrt +fnma_d_s0_f1_f3_f4_f2 fnmadEx fmas0Rd frts0Wrt +fnma_d_s1_f1_f3_f4_f2 fnmadEx fmas1Rd frts1Wrt +fnma_d_s2_f1_f3_f4_f2 fnmadEx fmas2Rd frts2Wrt +fnma_d_s3_f1_f3_f4_f2 fnmadEx fmas3Rd frts3Wrt +fpnma_s0_f1_f3_f4_f2 fpnmaEx fmas0Rd frpts0Wrt +fpnma_s1_f1_f3_f4_f2 fpnmaEx fmas1Rd frpts1Wrt +fpnma_s2_f1_f3_f4_f2 fpnmaEx fmas2Rd frpts2Wrt +fpnma_s3_f1_f3_f4_f2 fpnmaEx fmas3Rd frpts3Wrt +########################### Format F2 ###################################### +xma_l_f1_f3_f4_f2 xmalEx threeFrRd oneFrWrt +xma_h_f1_f3_f4_f2 xmahEx threeFrRd oneFrWrt +xma_hu_f1_f3_f4_f2 xmahuEx threeFrRd oneFrWrt +########################### Format F3 ###################################### +fselect_f1_f3_f4_f2 fselEx threeFrRd oneFrWrt +########################### Format F4 ###################################### +fcmp_eq_s0_p1_p2_f2_f3 fcmpEqEx fcmps0Rd fcmps0Wrt +fcmp_eq_s1_p1_p2_f2_f3 fcmpEqEx fcmps1Rd fcmps1Wrt +fcmp_eq_s2_p1_p2_f2_f3 fcmpEqEx fcmps2Rd fcmps2Wrt +fcmp_eq_s3_p1_p2_f2_f3 fcmpEqEx fcmps3Rd fcmps3Wrt +fcmp_lt_s0_p1_p2_f2_f3 fcmpLtEx fcmps0Rd fcmps0Wrt +fcmp_lt_s1_p1_p2_f2_f3 fcmpLtEx fcmps1Rd fcmps1Wrt +fcmp_lt_s2_p1_p2_f2_f3 fcmpLtEx fcmps2Rd fcmps2Wrt +fcmp_lt_s3_p1_p2_f2_f3 fcmpLtEx fcmps3Rd fcmps3Wrt +fcmp_le_s0_p1_p2_f2_f3 fcmpLeEx fcmps0Rd fcmps0Wrt +fcmp_le_s1_p1_p2_f2_f3 fcmpLeEx fcmps1Rd fcmps1Wrt +fcmp_le_s2_p1_p2_f2_f3 fcmpLeEx fcmps2Rd fcmps2Wrt +fcmp_le_s3_p1_p2_f2_f3 fcmpLeEx fcmps3Rd fcmps3Wrt +fcmp_unord_s0_p1_p2_f2_f3 fcmpUnordEx fcmps0Rd fcmps0Wrt +fcmp_unord_s1_p1_p2_f2_f3 fcmpUnordEx fcmps1Rd fcmps1Wrt +fcmp_unord_s2_p1_p2_f2_f3 fcmpUnordEx fcmps2Rd fcmps2Wrt +fcmp_unord_s3_p1_p2_f2_f3 fcmpUnordEx fcmps3Rd fcmps3Wrt +fcmp_eq_unc_s0_p1_p2_f2_f3 fcmpEqEx fcmpUncs0Rd fcmps0Wrt +fcmp_eq_unc_s1_p1_p2_f2_f3 fcmpEqEx fcmpUncs1Rd fcmps1Wrt +fcmp_eq_unc_s2_p1_p2_f2_f3 fcmpEqEx fcmpUncs2Rd fcmps2Wrt +fcmp_eq_unc_s3_p1_p2_f2_f3 fcmpEqEx fcmpUncs3Rd fcmps3Wrt +fcmp_lt_unc_s0_p1_p2_f2_f3 fcmpLtEx fcmpUncs0Rd fcmps0Wrt +fcmp_lt_unc_s1_p1_p2_f2_f3 fcmpLtEx fcmpUncs1Rd fcmps1Wrt +fcmp_lt_unc_s2_p1_p2_f2_f3 fcmpLtEx fcmpUncs2Rd fcmps2Wrt +fcmp_lt_unc_s3_p1_p2_f2_f3 fcmpLtEx fcmpUncs3Rd fcmps3Wrt +fcmp_le_unc_s0_p1_p2_f2_f3 fcmpLeEx fcmpUncs0Rd fcmps0Wrt +fcmp_le_unc_s1_p1_p2_f2_f3 fcmpLeEx fcmpUncs1Rd fcmps1Wrt +fcmp_le_unc_s2_p1_p2_f2_f3 fcmpLeEx fcmpUncs2Rd fcmps2Wrt +fcmp_le_unc_s3_p1_p2_f2_f3 fcmpLeEx fcmpUncs3Rd fcmps3Wrt +fcmp_unord_unc_s0_p1_p2_f2_f3 fcmpUnordEx fcmpUncs0Rd fcmps0Wrt +fcmp_unord_unc_s1_p1_p2_f2_f3 fcmpUnordEx fcmpUncs1Rd fcmps1Wrt +fcmp_unord_unc_s2_p1_p2_f2_f3 fcmpUnordEx fcmpUncs2Rd fcmps2Wrt +fcmp_unord_unc_s3_p1_p2_f2_f3 fcmpUnordEx fcmpUncs3Rd fcmps3Wrt +########################### Format F5 ###################################### +fclass_m_p1_p2_f2_fclass9 fclassEx fclassRd twoPrWrt +fclass_m_unc_p1_p2_f2_fclass9 fclassEx fclassUncRd twoPrWrt +########################### Format F6 ###################################### +frcpa_s0_f1_p2_f2_f3 frcpaEx frcpas0Rd frPrs0Wrt +frcpa_s1_f1_p2_f2_f3 frcpaEx frcpas1Rd frPrs1Wrt +frcpa_s2_f1_p2_f2_f3 frcpaEx frcpas2Rd frPrs2Wrt +frcpa_s3_f1_p2_f2_f3 frcpaEx frcpas3Rd frPrs3Wrt +fprcpa_s0_f1_p2_f2_f3 fprcpaEx frcpas0Rd frPrs0Wrt +fprcpa_s1_f1_p2_f2_f3 fprcpaEx frcpas1Rd frPrs1Wrt +fprcpa_s2_f1_p2_f2_f3 fprcpaEx frcpas2Rd frPrs2Wrt +fprcpa_s3_f1_p2_f2_f3 fprcpaEx frcpas3Rd frPrs3Wrt +########################### Format F7 ###################################### +frsqrta_s0_f1_p2_f3 frsqrtaEx fr3s0Rd frPrs0Wrt +frsqrta_s1_f1_p2_f3 frsqrtaEx fr3s1Rd frPrs1Wrt +frsqrta_s2_f1_p2_f3 frsqrtaEx fr3s2Rd frPrs2Wrt +frsqrta_s3_f1_p2_f3 frsqrtaEx fr3s3Rd frPrs3Wrt +fprsqrta_s0_f1_p2_f3 fprsqrtaEx fr3s0Rd frPrs0Wrt +fprsqrta_s1_f1_p2_f3 fprsqrtaEx fr3s1Rd frPrs1Wrt +fprsqrta_s2_f1_p2_f3 fprsqrtaEx fr3s2Rd frPrs2Wrt +fprsqrta_s3_f1_p2_f3 fprsqrtaEx fr3s3Rd frPrs3Wrt +########################### Format F8 ###################################### +fmin_s0_f1_f2_f3 fminEx twoFrs0Rd frs0Wrt +fmin_s1_f1_f2_f3 fminEx twoFrs1Rd frs1Wrt +fmin_s2_f1_f2_f3 fminEx twoFrs2Rd frs2Wrt +fmin_s3_f1_f2_f3 fminEx twoFrs3Rd frs3Wrt +fmax_s0_f1_f2_f3 fmaxEx twoFrs0Rd frs0Wrt +fmax_s1_f1_f2_f3 fmaxEx twoFrs1Rd frs1Wrt +fmax_s2_f1_f2_f3 fmaxEx twoFrs2Rd frs2Wrt +fmax_s3_f1_f2_f3 fmaxEx twoFrs3Rd frs3Wrt +famin_s0_f1_f2_f3 faminEx twoFrs0Rd frs0Wrt +famin_s1_f1_f2_f3 faminEx twoFrs1Rd frs1Wrt +famin_s2_f1_f2_f3 faminEx twoFrs2Rd frs2Wrt +famin_s3_f1_f2_f3 faminEx twoFrs3Rd frs3Wrt +famax_s0_f1_f2_f3 famaxEx twoFrs0Rd frs0Wrt +famax_s1_f1_f2_f3 famaxEx twoFrs1Rd frs1Wrt +famax_s2_f1_f2_f3 famaxEx twoFrs2Rd frs2Wrt +famax_s3_f1_f2_f3 famaxEx twoFrs3Rd frs3Wrt +fpmin_s0_f1_f2_f3 fpminEx twoFrs0Rd frs0Wrt +fpmin_s1_f1_f2_f3 fpminEx twoFrs1Rd frs1Wrt +fpmin_s2_f1_f2_f3 fpminEx twoFrs2Rd frs2Wrt +fpmin_s3_f1_f2_f3 fpminEx twoFrs3Rd frs3Wrt +fpmax_s0_f1_f2_f3 fpmaxEx twoFrs0Rd frs0Wrt +fpmax_s1_f1_f2_f3 fpmaxEx twoFrs1Rd frs1Wrt +fpmax_s2_f1_f2_f3 fpmaxEx twoFrs2Rd frs2Wrt +fpmax_s3_f1_f2_f3 fpmaxEx twoFrs3Rd frs3Wrt +fpamin_s0_f1_f2_f3 fpaminEx twoFrs0Rd frs0Wrt +fpamin_s1_f1_f2_f3 fpaminEx twoFrs1Rd frs1Wrt +fpamin_s2_f1_f2_f3 fpaminEx twoFrs2Rd frs2Wrt +fpamin_s3_f1_f2_f3 fpaminEx twoFrs3Rd frs3Wrt +fpamax_s0_f1_f2_f3 fpamaxEx twoFrs0Rd frs0Wrt +fpamax_s1_f1_f2_f3 fpamaxEx twoFrs1Rd frs1Wrt +fpamax_s2_f1_f2_f3 fpamaxEx twoFrs2Rd frs2Wrt +fpamax_s3_f1_f2_f3 fpamaxEx twoFrs3Rd frs3Wrt +fpcmp_eq_s0_f1_f2_f3 fpcmpEqEx twoFrs0Rd frs0Wrt +fpcmp_eq_s1_f1_f2_f3 fpcmpEqEx twoFrs1Rd frs1Wrt +fpcmp_eq_s2_f1_f2_f3 fpcmpEqEx twoFrs2Rd frs2Wrt +fpcmp_eq_s3_f1_f2_f3 fpcmpEqEx twoFrs3Rd frs3Wrt +fpcmp_lt_s0_f1_f2_f3 fpcmpLtEx twoFrs0Rd frs0Wrt +fpcmp_lt_s1_f1_f2_f3 fpcmpLtEx twoFrs1Rd frs1Wrt +fpcmp_lt_s2_f1_f2_f3 fpcmpLtEx twoFrs2Rd frs2Wrt +fpcmp_lt_s3_f1_f2_f3 fpcmpLtEx twoFrs3Rd frs3Wrt +fpcmp_le_s0_f1_f2_f3 fpcmpLeEx twoFrs0Rd frs0Wrt +fpcmp_le_s1_f1_f2_f3 fpcmpLeEx twoFrs1Rd frs1Wrt +fpcmp_le_s2_f1_f2_f3 fpcmpLeEx twoFrs2Rd frs2Wrt +fpcmp_le_s3_f1_f2_f3 fpcmpLeEx twoFrs3Rd frs3Wrt +fpcmp_unord_s0_f1_f2_f3 fpcmpUnordEx twoFrs0Rd frs0Wrt +fpcmp_unord_s1_f1_f2_f3 fpcmpUnordEx twoFrs1Rd frs1Wrt +fpcmp_unord_s2_f1_f2_f3 fpcmpUnordEx twoFrs2Rd frs2Wrt +fpcmp_unord_s3_f1_f2_f3 fpcmpUnordEx twoFrs3Rd frs3Wrt +fpcmp_neq_s0_f1_f2_f3 fpcmpNeqEx twoFrs0Rd frs0Wrt +fpcmp_neq_s1_f1_f2_f3 fpcmpNeqEx twoFrs1Rd frs1Wrt +fpcmp_neq_s2_f1_f2_f3 fpcmpNeqEx twoFrs2Rd frs2Wrt +fpcmp_neq_s3_f1_f2_f3 fpcmpNeqEx twoFrs3Rd frs3Wrt +fpcmp_nlt_s0_f1_f2_f3 fpcmpNltEx twoFrs0Rd frs0Wrt +fpcmp_nlt_s1_f1_f2_f3 fpcmpNltEx twoFrs1Rd frs1Wrt +fpcmp_nlt_s2_f1_f2_f3 fpcmpNltEx twoFrs2Rd frs2Wrt +fpcmp_nlt_s3_f1_f2_f3 fpcmpNltEx twoFrs3Rd frs3Wrt +fpcmp_nle_s0_f1_f2_f3 fpcmpNleEx twoFrs0Rd frs0Wrt +fpcmp_nle_s1_f1_f2_f3 fpcmpNleEx twoFrs1Rd frs1Wrt +fpcmp_nle_s2_f1_f2_f3 fpcmpNleEx twoFrs2Rd frs2Wrt +fpcmp_nle_s3_f1_f2_f3 fpcmpNleEx twoFrs3Rd frs3Wrt +fpcmp_ord_s0_f1_f2_f3 fpcmpOrdEx twoFrs0Rd frs0Wrt +fpcmp_ord_s1_f1_f2_f3 fpcmpOrdEx twoFrs1Rd frs1Wrt +fpcmp_ord_s2_f1_f2_f3 fpcmpOrdEx twoFrs2Rd frs2Wrt +fpcmp_ord_s3_f1_f2_f3 fpcmpOrdEx twoFrs3Rd frs3Wrt +########################### Format F9 ###################################### +fmerge_s_f1_f2_f3 fmergesEx twoFrRd oneFrWrt +fmerge_ns_f1_f2_f3 fmergensEx twoFrRd oneFrWrt +fmerge_se_f1_f2_f3 fmergeseEx twoFrRd oneFrWrt +fmix_lr_f1_f2_f3 fmixlrEx twoFrRd oneFrWrt +fmix_r_f1_f2_f3 fmixrEx twoFrRd oneFrWrt +fmix_l_f1_f2_f3 fmixlEx twoFrRd oneFrWrt +fsxt_r_f1_f2_f3 fsxtrEx twoFrRd oneFrWrt +fsxt_l_f1_f2_f3 fsxtlEx twoFrRd oneFrWrt +fpack_f1_f2_f3 fpackEx twoFrRd oneFrWrt +fswap_f1_f2_f3 fswapEx twoFrRd oneFrWrt +fswap_nl_f1_f2_f3 fswapnlEx twoFrRd oneFrWrt +fswap_nr_f1_f2_f3 fswapnrEx twoFrRd oneFrWrt +fand_f1_f2_f3 fandEx twoFrRd oneFrWrt +fandcm_f1_f2_f3 fandcmEx twoFrRd oneFrWrt +for_f1_f2_f3 forEx twoFrRd oneFrWrt +fxor_f1_f2_f3 fxorEx twoFrRd oneFrWrt +fpmerge_s_f1_f2_f3 fpmergesEx twoFrRd oneFrWrt +fpmerge_ns_f1_f2_f3 fpmergensEx twoFrRd oneFrWrt +fpmerge_se_f1_f2_f3 fpmergeseEx twoFrRd oneFrWrt +########################### Format F10 ###################################### +fcvt_fx_s0_f1_f2 fcvtfxEx fr2s0Rd frts0Wrt +fcvt_fx_s1_f1_f2 fcvtfxEx fr2s1Rd frts1Wrt +fcvt_fx_s2_f1_f2 fcvtfxEx fr2s2Rd frts2Wrt +fcvt_fx_s3_f1_f2 fcvtfxEx fr2s3Rd frts3Wrt +fcvt_fxu_s0_f1_f2 fcvtfxuEx fr2s0Rd frts0Wrt +fcvt_fxu_s1_f1_f2 fcvtfxuEx fr2s1Rd frts1Wrt +fcvt_fxu_s2_f1_f2 fcvtfxuEx fr2s2Rd frts2Wrt +fcvt_fxu_s3_f1_f2 fcvtfxuEx fr2s3Rd frts3Wrt +fcvt_fx_trunc_s0_f1_f2 fcvtfxtEx fr2s0Rd frts0Wrt +fcvt_fx_trunc_s1_f1_f2 fcvtfxtEx fr2s1Rd frts1Wrt +fcvt_fx_trunc_s2_f1_f2 fcvtfxtEx fr2s2Rd frts2Wrt +fcvt_fx_trunc_s3_f1_f2 fcvtfxtEx fr2s3Rd frts3Wrt +fcvt_fxu_trunc_s0_f1_f2 fcvtfxutEx fr2s0Rd frts0Wrt +fcvt_fxu_trunc_s1_f1_f2 fcvtfxutEx fr2s1Rd frts1Wrt +fcvt_fxu_trunc_s2_f1_f2 fcvtfxutEx fr2s2Rd frts2Wrt +fcvt_fxu_trunc_s3_f1_f2 fcvtfxutEx fr2s3Rd frts3Wrt +fpcvt_fx_s0_f1_f2 fpcvtfxEx fr2s0Rd frpts0Wrt +fpcvt_fx_s1_f1_f2 fpcvtfxEx fr2s1Rd frpts1Wrt +fpcvt_fx_s2_f1_f2 fpcvtfxEx fr2s2Rd frpts2Wrt +fpcvt_fx_s3_f1_f2 fpcvtfxEx fr2s3Rd frpts3Wrt +fpcvt_fxu_s0_f1_f2 fpcvtfxuEx fr2s0Rd frpts0Wrt +fpcvt_fxu_s1_f1_f2 fpcvtfxuEx fr2s1Rd frpts1Wrt +fpcvt_fxu_s2_f1_f2 fpcvtfxuEx fr2s2Rd frpts2Wrt +fpcvt_fxu_s3_f1_f2 fpcvtfxuEx fr2s3Rd frpts3Wrt +fpcvt_fx_trunc_s0_f1_f2 fpcvtfxtEx fr2s0Rd frpts0Wrt +fpcvt_fx_trunc_s1_f1_f2 fpcvtfxtEx fr2s1Rd frpts1Wrt +fpcvt_fx_trunc_s2_f1_f2 fpcvtfxtEx fr2s2Rd frpts2Wrt +fpcvt_fx_trunc_s3_f1_f2 fpcvtfxtEx fr2s3Rd frpts3Wrt +fpcvt_fxu_trunc_s0_f1_f2 fpcvtfxutEx fr2s0Rd frpts0Wrt +fpcvt_fxu_trunc_s1_f1_f2 fpcvtfxutEx fr2s1Rd frpts1Wrt +fpcvt_fxu_trunc_s2_f1_f2 fpcvtfxutEx fr2s2Rd frpts2Wrt +fpcvt_fxu_trunc_s3_f1_f2 fpcvtfxutEx fr2s3Rd frpts3Wrt +########################### Format F11 ###################################### +fcvt_xf_f1_f2 fcvtxfEx oneFrRd oneFrWrt +########################### Format F12 ###################################### +fsetc_s0_amask7_omask7 fsetc0Ex fpsrRd fpsrWrt +fsetc_s1_amask7_omask7 fsetc1Ex fpsrRd fpsrWrt +fsetc_s2_amask7_omask7 fsetc2Ex fpsrRd fpsrWrt +fsetc_s3_amask7_omask7 fsetc3Ex fpsrRd fpsrWrt +########################### Format F13 ###################################### +fclrf_s0 fclrf0Ex fpsrRd fpsrWrt +fclrf_s1 fclrf1Ex fpsrRd fpsrWrt +fclrf_s2 fclrf2Ex fpsrRd fpsrWrt +fclrf_s3 fclrf3Ex fpsrRd fpsrWrt +########################### Format F14 ###################################### +fchkf_s0_target25 fchkf0Ex fpsrRd qualIpWrt +fchkf_s1_target25 fchkf1Ex fpsrRd qualIpWrt +fchkf_s2_target25 fchkf2Ex fpsrRd qualIpWrt +fchkf_s3_target25 fchkf3Ex fpsrRd qualIpWrt +########################### Format F15 ###################################### +break_f_imm21 alias break_i_imm21 +########################### Format F16 ###################################### +nop_f_imm21 alias nop_i_imm21 +hint_f_imm21 alias hint_i_imm21 +########################### Format X1 ###################################### +break_x_imm62 breakEx breakxRd breakWrt +########################### Format X2 ###################################### +movl_r1_imm64 movlEx nullRd oneGrWrt +########################### Format X3 ###################################### +brl_cond_spnt_few_target64 copyEx ipRd ipWrt +brl_cond_spnt_many_target64 alias brl_cond_spnt_few_target64 +brl_cond_sptk_few_target64 alias brl_cond_spnt_few_target64 +brl_cond_sptk_many_target64 alias brl_cond_spnt_few_target64 +brl_cond_dpnt_few_target64 alias brl_cond_spnt_few_target64 +brl_cond_dpnt_many_target64 alias brl_cond_spnt_few_target64 +brl_cond_dptk_few_target64 alias brl_cond_spnt_few_target64 +brl_cond_dptk_many_target64 alias brl_cond_spnt_few_target64 +brl_cond_spnt_few_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_spnt_many_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_sptk_few_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_sptk_many_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_dpnt_few_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_dpnt_many_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_dptk_few_clr_target64 alias brl_cond_spnt_few_target64 +brl_cond_dptk_many_clr_target64 alias brl_cond_spnt_few_target64 +########################### Format X4 ###################################### +brl_call_spnt_few_b1_target64 brCallEx callRd callWrt +brl_call_spnt_many_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_sptk_few_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_sptk_many_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dpnt_few_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dpnt_many_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dptk_few_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dptk_many_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_spnt_few_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_spnt_many_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_sptk_few_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_sptk_many_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dpnt_few_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dpnt_many_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dptk_few_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +brl_call_dptk_many_clr_b1_target64 alias brl_call_spnt_few_b1_target64 +########################### Format X5 ###################################### +nop_x_imm62 alias nop_i_imm21 +hint_x_imm62 alias hint_i_imm21 diff --git a/src/exec_hd.c b/src/exec_hd.c new file mode 100644 index 0000000..bc488aa --- /dev/null +++ b/src/exec_hd.c @@ -0,0 +1,1418 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Execution Head File + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "float.h" +#include "sim.h" +#include "combfns.h" +#include "memory.h" +#include "tlb.h" +#include "instinfo.h" +#include "sign_ext.h" +#include "interruption.h" +#include "libsym.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_exec.h" +#include "ssc.h" + +#define HYPERLAZY /* To support non-hyperlazy RSE, Ski must + implement a RNAT array instead of a single + reg */ + +#define NAT_BIT_SHIFT 3 +#define NAT_BIT_MASK 0x3f + +#define implemented_vm() NO /* not (yet) implemented */ + +/* XXX - use BitfR */ +#define NAT_COLLECT_BIT(bsp) (((bsp) >> NAT_BIT_SHIFT) & NAT_BIT_MASK) + +#define NATS_GROW(bsp, nregs) ((NAT_COLLECT_BIT(bsp) + (nregs)) / 63) +#if 1 +#define NATS_SHRINK(bsp, nregs) ((62 - NAT_COLLECT_BIT(bsp) + (nregs)) / 63) +#else +#define NATS_SHRINK(bsp, nregs) \ + ( ((NAT_COLLECT_BIT(bsp) - (nregs)) == 63) ? \ + 0 : ((62 - NAT_COLLECT_BIT(bsp) + (nregs)) / 63) ) +#endif + +#define ALU_1OP_EX(expr) \ + do { \ + DST1 = expr; \ + DSTNAT1 = SRCNAT1; \ + } while (0) + +#define ALU_2OP_EX(expr) \ + do { \ + DST1 = expr; \ + DSTNAT1 = SRCNAT1 || SRCNAT2; \ + } while (0) + +#define CMP_EX(cond) \ + do { \ + if (QUAL) { \ + BOOL res = cond; \ + \ + CMPRES1 = res; \ + CMPRES2 = !res; \ + } else { \ + CMPRES1 = 0; \ + CMPRES2 = 0; \ + } \ + DSTNAT1 = SRCNAT1 || SRCNAT2; \ + } while (0) + +#define ALAT_WRITE_CHECK use_alat +#define FM_mem_cache_update(a,b) +#define FM_rse_cache_update(a,b,c,d) + +#define LD_EX(type,size,nat1) \ + do { \ + type val; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (memRd##size(SRC1, MEM_LD_ACCESS, &val) == -1) \ + return StFault; \ + DST1 = val; \ + DSTNAT1 = nat1; \ + } while (0) + +#define LD16_EX(type,size,nat1) \ + do { \ + type val; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (memRd##size(SRC1, MEM_LD_ACCESS, &val) == -1) \ + return StFault; \ + DST1 = PSR_BE ? val.left : val.right; \ + DSTNAT1 = nat1; \ + DST2 = PSR_BE ? val.right : val.left; \ + } while (0) + +#define LD_A_EX(type,size) \ + do { \ + type val; \ + int ret; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(ADV_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if ((ret = memRd##size(SRC1, ADV_LD_ACCESS, &val)) == -1) \ + return StFault; \ + else if (ret == 1) \ + DST1 = 0; \ + else /* ret == 0 */ \ + DST1 = val; \ + DSTNAT1 = 0; \ + alat_inval_single_entry(NO, r1); \ + if (ALAT_WRITE_CHECK && !ret) \ + alat_write(NO, r1, SRC1, size); \ + } while (0) + +#define LD_S_EX(type,size) \ + do { \ + type val; \ + int ret; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (PSR_ED || SRCNAT1 || \ + (ret = specRd##size(SRC1, SPEC_LD_ACCESS, &val)) == 1) { \ + DST1 = 0; \ + DSTNAT1 = 1; \ + } else if (!ret) { \ + DST1 = val; \ + DSTNAT1 = 0; \ + } else \ + return StFault; \ + } while (0) + +#define LD_SA_EX(type,size) \ + do { \ + type val; \ + int ret = 1; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (PSR_ED || SRCNAT1 || \ + (ret = specRd##size(SRC1, SPEC_ADV_LD_ACCESS, &val)) == 1) {\ + DST1 = 0; \ + DSTNAT1 = 1; \ + } else if (!ret) { \ + DST1 = val; \ + DSTNAT1 = 0; \ + } else \ + return StFault; \ + alat_inval_single_entry(NO, r1); \ + if (ALAT_WRITE_CHECK && !ret) \ + alat_write(NO, r1, SRC1, size); \ + } while (0) + +#define LD_C_NC_EX(type,size) \ + do { \ + int miss; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + miss = ALAT_WRITE_CHECK ? alat_cmp(NO, r1, NO) : 1; \ + if (miss) { \ + LD_EX(type,size,NO); \ + if (ALAT_WRITE_CHECK) \ + alat_write(NO, r1, SRC1, size); \ + } else \ + GrRd(r1, DST1, DSTNAT1, NO); \ + } while (0) + +#define LD_C_CLR_EX(type,size) \ + do { \ + int miss; \ + \ + if (OUT_OF_FRAME(r1)) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + miss = ALAT_WRITE_CHECK ? alat_cmp(NO, r1, YES) : 1; \ + if (miss) \ + LD_EX(type,size,NO); \ + else \ + GrRd(r1, DST1, DSTNAT1, NO); \ + } while (0) + +#define LDF_EX(type,size,fn) \ + do { \ + type val; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if ((PSR_DFH && FPHI(f1)) || (PSR_DFL && FPLO(f1))) { \ + disabledFpregFault(FPHI(f1) << 1 | FPLO(f1), MEM_LD_ACCESS);\ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (memRd##size(SRC1, MEM_LD_ACCESS, &val) == -1) \ + return StFault; \ + FDST1 = fn##2freg(val); \ + } while (0) + +#define LDF_A_EX(type,size,fn,clrexp) \ + do { \ + type val; \ + int ret; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if ((PSR_DFH && FPHI(f1)) || (PSR_DFL && FPLO(f1))) { \ + disabledFpregFault(FPHI(f1) << 1 | FPLO(f1), ADV_LD_ACCESS);\ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(ADV_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if ((ret = memRd##size(SRC1, ADV_LD_ACCESS, &val)) == -1) \ + return StFault; \ + else if (ret == 1) \ + clrexp = 0; \ + alat_inval_single_entry(YES, f1); \ + if (ALAT_WRITE_CHECK && !ret) \ + alat_write(YES, f1, SRC1, size); \ + FDST1 = fn##2freg(val); \ + } while (0) + +#define LDF_S_EX(type,size,fn) \ + do { \ + BOOL fphi, fplo; \ + type val; \ + int ret; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + fphi = FPHI(f1); \ + fplo = FPLO(f1); \ + if ((PSR_DFH && fphi) || (PSR_DFL && fplo)) { \ + disabledFpregFault(fphi << 1 | fplo, SPEC_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (PSR_ED || SRCNAT1 || \ + (ret = specRd##size(SRC1, SPEC_LD_ACCESS, &val)) == 1) { \ + FDST1.special = YES; \ + FDST1.class = CLASS_NAT; \ + } else if (!ret) \ + FDST1 = fn##2freg(val); \ + else \ + return StFault; \ + } while (0) + +#define LDF_SA_EX(type,size,fn) \ + do { \ + BOOL fphi, fplo; \ + type val; \ + int ret = 1; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + fphi = FPHI(f1); \ + fplo = FPLO(f1); \ + if ((PSR_DFH && fphi) || (PSR_DFL && fplo)) { \ + disabledFpregFault(fphi << 1 | fplo, SPEC_ADV_LD_ACCESS); \ + return StFault; \ + } \ + FM_mem_cache_update(SRC1, info); \ + if (PSR_ED || SRCNAT1 || \ + (ret = specRd##size(SRC1, SPEC_ADV_LD_ACCESS, &val)) == 1) {\ + FDST1.special = YES; \ + FDST1.class = CLASS_NAT; \ + } else if (!ret) \ + FDST1 = fn##2freg(val); \ + else \ + return StFault; \ + alat_inval_single_entry(YES, f1); \ + if (ALAT_WRITE_CHECK && !ret) \ + alat_write(YES, f1, SRC1, size); \ + } while (0) + +#define LDF_C_NC_EX(type,size,fn) \ + do { \ + int miss; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if ((PSR_DFH && FPHI(f1)) || (PSR_DFL && FPLO(f1))) { \ + disabledFpregFault(FPHI(f1) << 1 | FPLO(f1), MEM_LD_ACCESS);\ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, NO) : 1; \ + if (miss) { \ + LDF_EX(type,size,fn); \ + if (ALAT_WRITE_CHECK) \ + alat_write(YES, f1, SRC1, size); \ + } else \ + FDST1 = FrRd(f1); \ + } while (0) + +#define LDF_C_CLR_EX(type,size,fn) \ + do { \ + int miss; \ + \ + if (f1 <= 1) { \ + illegalOpFault(); \ + return StFault; \ + } \ + if ((PSR_DFH && FPHI(f1)) || (PSR_DFL && FPLO(f1))) { \ + disabledFpregFault(FPHI(f1) << 1 | FPLO(f1), MEM_LD_ACCESS);\ + return StFault; \ + } \ + if (SRCNAT1) { \ + regNatConsumptionFault(MEM_LD_ACCESS); \ + return StFault; \ + } \ + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, YES) : 1; \ + if (miss) \ + LDF_EX(type,size,fn); \ + else \ + FDST1 = FrRd(f1); \ + } while (0) + +#define LDFP_MEM(size,var) \ + do { \ + FM_mem_cache_update(SRC1, info); \ + if (memRd##size(SRC1, MEM_LD_ACCESS, var) == -1) \ + return StFault; \ + } while (0) + +#define LDFP_ADV(size,var) \ + do { \ + FM_mem_cache_update(SRC1, info); \ + if ((ret = memRd##size(SRC1, ADV_LD_ACCESS, var)) == -1) \ + return StFault; \ + alat_inval_single_entry(YES, f1); \ + if (ALAT_WRITE_CHECK && !ret) \ + alat_write(YES, f1, SRC1, size); \ + } while (0) + +#define LDFP_DST_S() \ + do { \ + WORD val1, val2; \ + \ + val1 = PSR_BE ? WD0(dval) : WD1(dval); \ + val2 = PSR_BE ? WD1(dval) : WD0(dval); \ + FDST1 = sgl2freg(val1); \ + FDST2 = sgl2freg(val2); \ + } while (0) + +#define LDFP_DST_D() \ + do { \ + FDST1 = dbl2freg(PSR_BE ? val.left : val.right); \ + FDST2 = dbl2freg(PSR_BE ? val.right : val.left); \ + } while (0) + +#define LDFP_DST_8() \ + do { \ + if (PSR_BE) { \ + FDST1 = dword2freg(mant.left); \ + FDST2 = dword2freg(mant.right); \ + } else { \ + FDST1 = dword2freg(mant.right); \ + FDST2 = dword2freg(mant.left); \ + } \ + } while (0) + +#define LDFP_SPEC(size,atype,var,type) \ + do { \ + FM_mem_cache_update(SRC1, info); \ + if (PSR_ED || SRCNAT1 || \ + (ret = specRd##size(SRC1, atype, var)) == 1) { \ + FDST1.special = YES; \ + FDST1.class = CLASS_NAT; \ + FDST2.special = YES; \ + FDST2.class = CLASS_NAT; \ + } else if (!ret) \ + LDFP_DST_##type(); \ + else \ + return StFault; \ + } while (0) + +#define POST_INC() (DST2 = SRC1 + SRC2, DSTNAT2 = SRCNAT2) +#define POST_INC_SPEC() (DST2 = SRC1 + SRC2, DSTNAT2 = SRCNAT1 || SRCNAT2) + +#define LDFP_POST_INC(inc) (DST1 = SRC1 + inc, DSTNAT1 = 0) +#define LDFP_POST_INC_SPEC(inc) (DST1 = SRC1 + inc, DSTNAT1 = SRCNAT1) + +/* XXX - should be named ILLEGAL_GR_ACCESS? */ +#define OUT_OF_FRAME(reg) ((reg) >= GR_STK_BASE+sof || !(reg)) + +#define FPHI(reg) ((reg) >= 32) +#define FPLO(reg) ((reg) >= 2 && (reg) <= 31) + +extern BOOL use_alat; + +void doSyscall(HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG arg4, + REG arg5, REG arg6, REG arg7, REG *ret, REG *stat); +void switchBanks(void); +void arithFlagsFromEflags(void); +void setIAmode(void); +void clearPdecode(ADDR adr, unsigned size); +void addLM(ADDR adr, size_t len); +int isbpt(ADDR adr); + +/* consider #include'ing trace.h instead of declaring the following var/fns */ +extern unsigned traceEnb; +void tracePrevPFS(REG prevPfs); +void traceBrPred(REG br); +void traceArTgt(REG ar); + +void alat_inval_single_entry(BOOL fpreg, int rega); +void alat_write(BOOL fpreg, int rega, ADDR pa, unsigned size); +int alat_cmp(BOOL fpreg, int rega, BOOL clearit); +void alat_inval_multiple_entries(ADDR pa, unsigned size); +void alat_inval_all_entries(void); + +/* Forward declarations */ +int rse_load(void); +int rse_store(void); +FREG fill2freg(BYTE, WORD, DWORD); +FREG qword2freg(QWORD); +BOOL reservedIpsrField(REG); +BOOL reservedCrField(unsigned, REG*); +BOOL reservedCR(unsigned); +BOOL reservedAR(unsigned); +Status swizzleComb(INSTINFO*); + +/* RSE Auxiliary Functions */ + +static int wrap(int reg_num) +{ + if (reg_num < 0) + return reg_num + N_STACK_PHYS; + if (reg_num > (N_STACK_PHYS - 1)) + return reg_num - N_STACK_PHYS; + return reg_num; +} + +static void rse_invalidate_non_current_regs(void) +{ + dirty = dirtyNat = 0; + clean = cleanNat = 0; + invalid = N_STACK_PHYS - sof; +} + +/* + * Returns the number of GRs stored in the RSE backing store or -1 on faults + */ +int rse_store(void) +{ + unsigned ncb; + int status; + +#ifdef RSE_DEBUG +rseDB("mandatory RSE store"); +#endif + if ((ncb = NAT_COLLECT_BIT(BSPST)) == 63) { + if (!rseWrt(BSPST, RNAT)) + return -1; + SIGN(RNAT) = 0; + FM_rse_cache_update(BSPST, UATAG_RSEWRT, RFILE_AR, RNAT_ID); + BSPST += 8; + dirtyNat--; +#ifndef HYPERLAZY +/* In hyperlazy implementations this is not needed */ + cleanNat++; +#endif + status = 0; + } else { + unsigned RSEStoreRegNum; +#if 1 + RSEStoreRegNum = wrap((int)bol - dirty) + GR_STK_BASE; +#else +/* If we ever enable this code, change 128 to appropriate #define */ + RSEStoreRegNum = grmap[128 - (int)dirty]; +#endif + if (!rseWrt(BSPST, grs[RSEStoreRegNum].val)) + return -1; + if (grs[RSEStoreRegNum].nat) + RNAT |= (REG)1 << ncb; + else + RNAT &= ~((REG)1 << ncb); + FM_rse_cache_update(BSPST, UATAG_RSEWRT, RFILE_GR, RSEStoreRegNum); + BSPST += 8; + dirty--; +#ifndef HYPERLAZY +/* Hyperlazy implementations increment invalid instead of clean */ + clean++; +#else + invalid++; +#endif + status = 1; + } + /* XXX - can this be avoided in app. mode? */ + /* Setting these PSR bits is valid *only* for mandatory RSE stores. + Change this if this function is to be used for eager RSE stores */ + PSR_DA = PSR_DD = NO; + return status; +} + +/* + * Returns the number of GRs loaded from the RSE backing store or -1 on faults + */ +/* + * This routine causes a segmentation violation when compiled w/ opt > 1 + * if grmap is used instead of the wrap call + */ +int rse_load(void) +{ + ADDR BspLoad = BSP - (clean + cleanNat + dirty + dirtyNat + 1) * 8; + unsigned ncb; + int status; + + if ((ncb = NAT_COLLECT_BIT(BspLoad)) == 63) { + if (!rseRd(BspLoad, &RNAT)) + return -1; + FM_rse_cache_update(BspLoad, UATAG_RSERD, RFILE_AR, RNAT_ID); + cleanNat++; + status = 0; + } else { + DWORD val; + unsigned RSELoadRegNum; + + if (!rseRd(BspLoad, &val)) + return -1; +#if 1 + RSELoadRegNum = wrap((int)bol - (clean + dirty + 1)) + GR_STK_BASE; +#else +/* XXX If we ever enable this code, change 127 to appropriate #define */ + RSELoadRegNum = grmap[127 - (int)clean - (int)dirty]; +#endif + grs[RSELoadRegNum].val = val; + grs[RSELoadRegNum].nat = (RNAT >> ncb) & 0x1; /* XXX - use BitfX */ + FM_rse_cache_update(BspLoad, UATAG_RSERD, RFILE_GR, RSELoadRegNum); + clean++; + invalid--; + status = 1; + } + PSR_DA = PSR_DD = NO; + return status; +} + +/* eclipse - made rse_new_frame non-static for access outside library */ +/* static BOOL rse_new_frame(int growth) */ +BOOL rse_new_frame(int growth) +{ + if (growth <= (int)invalid) + invalid -= growth; + else { + growth -= invalid; + if (growth <= clean) { + clean -= growth; + cleanNat = NATS_SHRINK(BSP, clean + dirty + 1) - dirtyNat; + invalid = 0; + } else { + int i, j; + + growth -= clean; + for (i = growth; i > 0; i -= j) { + if ((j = rse_store()) == -1) + return NO; + /* The SDM includes call to... */ + /* deliver_unmasked_pending_external_interrupt(); */ + } + clean = cleanNat = 0; + invalid = 0; + } + } + return YES; +} + +static void rse_restore_frame(int preserved, int growth, int old) +{ + int preservedNat = NATS_SHRINK(BSP, preserved); + + BSP -= (preserved + preservedNat) * 8; + + /* Growing into the dirty region in a return */ + if (growth > (invalid + clean)) { + invalid += preserved + old; + dirty -= preserved; + dirtyNat -= preservedNat; + /* If there were eager stores, it's possible that dirty + and dirtyNat become negative, which is wrong */ + + sof = soil = sor = rrbg = rrbf = rrbp = 0; + return; + } + + invalid -= growth; + + /* Growing into the clean region */ + if (invalid < 0) { + clean += invalid; + cleanNat = NATS_SHRINK(BSP, clean + dirty + 1) - dirtyNat; + invalid = 0; + } + + if (preserved <= (int)dirty) { + dirty -= preserved; + dirtyNat -= preservedNat; + } else { + preserved -= dirty; + preservedNat -= dirtyNat; + if (preserved <= (int)clean) { + clean -= preserved; + cleanNat -= preservedNat; + dirty = dirtyNat = 0; + BSPST = BSP; + } else { + preserved -= clean; + preservedNat -= cleanNat; + clean = cleanNat = 0; + dirty = -preserved; + dirtyNat = -preservedNat; + BSPST = BSP - (dirty + dirtyNat) * 8; + cfle = YES; + preInst |= PRE_CFLE; + } + } +} + +static void rotate_regs(void) +{ + if (sor) + rrbg = rrbg ? (rrbg - 1) : (sor - 1); + rrbf = rrbf ? (rrbf - 1) : (FR_ROT_SIZE - 1); + rrbp = rrbp ? (rrbp - 1) : (PR_ROT_SIZE - 1); +} + +/* Multimedia Auxiliary Functions */ + +static unsigned numOnes(DWORD n) +{ + unsigned cnt; + + for (cnt = 0; n; cnt++) + n &= n - 1; /* clear least significant set bit */ + return cnt; +} + +static BYTE unsignedSat8(long long val) +{ + if (val < 0x00LL) + return 0x00; + + if (val > 0xFFLL) + return 0xFF; + + return val; +} + +static BYTE signedSat8(long long val) +{ + if (val < 0xFFFFFFFFFFFFFF80LL) + return 0x80; + + if (val > 0x7FLL) + return 0x7F; + + return val; +} + +static HWORD unsignedSat16(long long val) +{ + if (val < 0x0000LL) + return 0x0000; + + if (val > 0xFFFFLL) + return 0xFFFF; + + return val; +} + +static HWORD signedSat16(long long val) +{ + if (val < 0xFFFFFFFFFFFF8000LL) + return 0x8000; + + if (val > 0x7FFFLL) + return 0x7FFF; + + return val; +} + +static HWORD shaddSat16(long long val1, long long val2, int shamt) +{ + long long temp = val1 << shamt; + + if (temp < 0xFFFFFFFFFFFF8000LL) + return 0x8000; + + if (temp > 0x7FFFLL) + return 0x7FFF; + + return signedSat16(temp + val2); +} + +/* FP Auxiliary Functions */ + +/********************************************************* + * FP Value special class unorm sign exp mant * + * NaTVal YES NAT - - - - * + * Infinity YES INF - 0/1 - - * + * sNaN YES SNAN - 0/1 - m * + * qNaN YES QNAN - 0/1 - m * + * Unsupp YES UNSUPP -? 0/1 - m * + * Normal NO NONE 0 0/1 !0 m * + * Zero NO NONE 64 0/1 0 - * + * Pseudo-Zero NO NONE 64 0/1 !0 - * + * FR0 NO NONE 255 0 0 - * + * Exp0 NO DE0 0..63 0/1 C040 m * + * Unorm NO NONE 1..63 0/1 !0 m * + *********************************************************/ + +static int numLzeroes(DWORD *mant) +{ + int lz = 0; + + if (!*mant) + return 64; + + if (!(*mant >> 32)) { + *mant <<= 32; + lz += 32; + } + if (!(*mant >> 48)) { + *mant <<= 16; + lz += 16; + } + if (!(*mant >> 56)) { + *mant <<= 8; + lz += 8; + } + if (!(*mant >> 60)) { + *mant <<= 4; + lz += 4; + } + if (!(*mant >> 62)) { + *mant <<= 2; + lz += 2; + } + if (!(*mant >> 63)) { + *mant <<= 1; + lz += 1; + } + return lz; +} + +#ifdef HPUX9 +#pragma OPTIMIZE OFF +#endif +FREG fill2freg(BYTE sign, WORD exp, DWORD mant) +{ + FREG fr; + + if (NATVAL(sign, exp, mant)) { + fr.special = YES; + fr.class = CLASS_NAT; + return fr; + } + + fr.sign = sign; + if (exp == 0x1FFFF) { /* special */ + fr.special = YES; + if (mant == 0x8000000000000000ULL) + fr.class = CLASS_INF; + else if (mant >= 0xC000000000000000ULL) { + fr.class = CLASS_QNAN; + fr.mant = mant; + } else if (mant >= 0x8000000000000001ULL) { + fr.class = CLASS_SNAN; + fr.mant = mant; + } else { + fr.class = CLASS_UNSUPP; + fr.mant = mant; + } + return fr; + } + + if (mant) { + fr.unorm = numLzeroes(&mant); + if (exp) + fr.class = CLASS_NONE; + else { + fr.class = CLASS_DE0; + exp = 0xC001; + } + fr.exp = exp + EXTRA_BIAS - fr.unorm; + fr.mant = mant; + } else { /* zero/pseudo-zero */ + fr.class = CLASS_NONE; + fr.unorm = 64; + fr.exp = exp ? exp + EXTRA_BIAS : 0; + } + fr.special = NO; + return fr; +} +#ifdef HPUX9 +#pragma OPTIMIZE ON +#endif + +static FREG sgl2freg(WORD val) +{ + BYTE sign; + WORD exp; + DWORD mant; + + sign = BitfX32(val,0,1); + exp = BitfX32(val,1,8); + mant = BitfX32(val,9,23); + + if (!exp && mant) { /* denormal */ + mant <<= 40; + exp = 0xFF81; + } else if (exp == 0xFF) { /* inf/NaN */ + mant = (1ULL << 23 | mant) << 40; + exp = 0x1FFFF; + } else if (exp > 0) { /* normal */ + mant = (1ULL << 23 | mant) << 40; + exp += 0xFF80; + } + return fill2freg(sign, exp, mant); +} + +static FREG dbl2freg(DWORD val) +{ + BYTE sign; + WORD exp; + DWORD mant; + + sign = BitfX(val,0,1); + exp = BitfX(val,1,11); + mant = BitfX(val,12,52); + + if (!exp && mant) { /* denormal */ + mant <<= 11; + exp = 0xFC01; + } else if (exp == 0x7FF) { /* inf/NaN */ + mant = (1ULL << 52 | mant) << 11; + exp = 0x1FFFF; + } else if (exp > 0) { /* normal */ + mant = (1ULL << 52 | mant) << 11; + exp += 0xFC00; + } + return fill2freg(sign, exp, mant); +} + +static FREG ext2freg(QWORD val) +{ + BYTE sign; + WORD exp; + DWORD mant; + + if (PSR_BE) { + sign = BitfX(val.left,0,1); + exp = BitfX(val.left,1,15); + mant = BitfX(val.left,16,48) << 16 | BitfX(val.right,0,16); + } else { + sign = BitfX(val.left,48,1); + exp = BitfX(val.left,49,15); + mant = val.right; + } + + if (exp == 0x7FFF) /* inf/NaN */ + exp = 0x1FFFF; + else if (exp > 0) /* normal */ + exp += 0xC000; + return fill2freg(sign, exp, mant); +} + +static FREG dword2freg(DWORD mant) +{ + FREG fr; + + fr.sign = 0; + fr.special = NO; + if (mant) { + fr.unorm = numLzeroes(&mant); + fr.exp = INTEGER_EXP - fr.unorm; + fr.mant = mant; + fr.class = CLASS_NONE; + } else { + fr.unorm = 64; + fr.exp = INTEGER_EXP; + } + return fr; +} + +FREG qword2freg(QWORD val) +{ + return fill2freg(BitfX(val.left,46,1), BitfX(val.left,47,17), val.right); +} + +void freg2spill(FREG fr, BYTE *sign, WORD *exp, DWORD *mant) +{ + *sign = fr.sign; + if (fr.special) { + *exp = 0x1FFFF; + switch (fr.class) { + case CLASS_QNAN: + *mant = fr.mant; + return; + case CLASS_SNAN: + *mant = fr.mant; + return; + case CLASS_NAT: + *sign = 0; + *exp = 0x1FFFE; + *mant = 0x0ULL; + return; + case CLASS_INF: + *mant = 0x8000000000000000ULL; + return; + case CLASS_UNSUPP: + *mant = fr.mant; + return; + } + } + if (fr.unorm >= 64) { /* zero/pseudo-zero */ + *exp = fr.exp ? fr.exp - EXTRA_BIAS : 0; + *mant = 0; + } else { + *exp = fr.class == CLASS_DE0 ? 0 : fr.exp - EXTRA_BIAS + fr.unorm; + *mant = fr.mant >> fr.unorm; + } +} + +static WORD freg2sgl(FREG fr) +{ + BYTE sign; + WORD exp, val; + DWORD mant; + + freg2spill(fr, &sign, &exp, &mant); + BitfR32(val,0,1) = sign; + if (SIGN(mant)) { + BitfR32(val,1,1) = BitfX32(exp,15,1); + BitfR32(val,2,7) = BitfX32(exp,25,7); + } else + BitfR32(val,1,8) = 0; + BitfR32(val,9,23) = BitfX(mant,1,23); + return val; +} + +static DWORD freg2dbl(FREG fr) +{ + BYTE sign; + WORD exp; + DWORD mant, dval; + + freg2spill(fr, &sign, &exp, &mant); + BitfR(dval,0,1) = sign; + if (SIGN(mant)) { + BitfR(dval,1,1) = BitfX32(exp,15,1); + BitfR(dval,2,10) = BitfX32(exp,22,10); + } else + BitfR(dval,1,11) = 0; + BitfR(dval,12,52) = BitfX(mant,1,52); + return dval; +} + +static QWORD freg2ext(FREG fr) +{ + BYTE sign; + WORD exp; + DWORD mant; + QWORD qval; + + freg2spill(fr, &sign, &exp, &mant); + BitfR(qval.left,0,1) = sign; + BitfR(qval.left,1,1) = BitfX32(exp,15,1); + BitfR(qval.left,2,14) = BitfX32(exp,18,14); + BitfR(qval.left,16,48) = BitfX(mant,0,48); + BitfR(qval.right,0,16) = BitfX(mant,48,16); + return qval; +} + +static DWORD freg2dword(FREG fr) +{ + BYTE sign; + WORD exp; + DWORD mant; + + freg2spill(fr, &sign, &exp, &mant); + return mant; +} + +static void fpSimdFault(unsigned ret0, unsigned ret1) +{ + int code = 0; + + if (ret0 & FP_FAULT) + code |= ret0 & FP_FAULT; + if (ret1 & FP_FAULT) + code |= (ret1 & FP_FAULT) << 4; + fpExceptionFault(code); +} + +static void fpSimdTrap(unsigned delta, unsigned ret0, unsigned ret1) +{ + int code = 0; + + if (ret0 & FP_TRAP) + code |= (ret0 >> 11) << 4; + if (ret1 & FP_TRAP) + code |= (ret1 >> 11); + fpExceptionTrap(delta, code); +} + + +/* Reserved Register/Field Functions */ + +static BOOL reservedRscField(REG val) +{ + return BitfX(val,0,34) || BitfX(val,48,11); +} + +static BOOL reservedFpsrField(REG val) +{ + return BitfX(val,0,6) != 0 || BitfX(val,51,1) != 0 || + BitfX(val,15,2) == 1 || BitfX(val,28,2) == 1 || + BitfX(val,41,2) == 1 || BitfX(val,54,2) == 1; +} + +static BOOL reservedPfsField(REG val) +{ + BYTE psof, psoil, psor, prrbg, prrbf, prrbp; + + if (BitfX(val,2,4) || BitfX(val,12,14)) + return YES; + psof = XFM_SOF(val); + psoil = XFM_SOIL(val); + psor = XFM_SOR(val) << 3; + prrbg = XFM_RRBG(val); + prrbf = XFM_RRBF(val); + prrbp = XFM_RRBP(val); + if (psof > N_STACK_VIRT || psoil > psof || psor > psof || + (psor && prrbg >= psor) || (!psor && prrbg) || + prrbf >= FR_ROT_SIZE || prrbp >= PR_ROT_SIZE) + return YES; + return NO; +} + +static BOOL reservedUserMaskField(REG val) +{ + return BitfX(val,0,58) || BitfX(val,63,1); +} + +static BOOL reservedSystemMaskField(REG val) +{ + return BitfX(val,0,19) || BitfX(val,32,4) || BitfX(val,47,1) || + BitfX(val,51,7) || BitfX(val,63,1); +} + +static BOOL reservedDcrField(REG val) +{ + return BitfX(val,0,49) || BitfX(val,56,5); +} + +static BOOL reservedPtaField(REG val) +{ + return BitfX(val,49,6) || BitfX(val,56,6) < 15 || BitfX(val,62,1); +} + +BOOL reservedIpsrField(REG val) +{ + return BitfX(val,0,18) || BitfX(val,21,2) == 3 || BitfX(val,32,4) || + BitfX(val,47,1) || BitfX(val,51,7) || BitfX(val,63,1); +} + +static BOOL reservedIsrField(REG val) +{ + return BitfX(val,0,20) || BitfX(val,21,2) == 3 || + BitfX(val,32,8); +} + +static BOOL reservedIfsField(REG val) +{ + BYTE psof, psoil, psor, prrbg, prrbf, prrbp; + + if (BitfX(val,1,25)) + return YES; + if (!BitfX(val,0,1)) /* if (new_IFS.v == 0) */ + return NO; + psof = XFM_SOF(val); + psoil = XFM_SOIL(val); + psor = XFM_SOR(val) << 3; + prrbg = XFM_RRBG(val); + prrbf = XFM_RRBF(val); + prrbp = XFM_RRBP(val); + if (psof > N_STACK_VIRT || psoil > psof || psor > psof || + (psor && prrbg >= psor) || (!psor && prrbg) || + prrbf >= FR_ROT_SIZE || prrbp >= PR_ROT_SIZE) + return YES; + return NO; +} + +static BOOL reservedLidField(REG val) +{ + return BitfX(val,48,16) != 0; +} + +static BOOL reservedIvrField(REG val) +{ + return BitfX(val,0,56) != 0; +} + +static BOOL reservedTprField(REG val) +{ + return BitfX(val,48,8) != 0; +} + +static BOOL reservedItvField(REG val) +{ + return BitfX(val,48,3) || BitfX(val,52,4); +} + +static BOOL reservedLrrField(REG val) +{ + return BitfX(val,49,1) || BitfX(val,52,1) || + BitfX(val,53,3) == 1 || BitfX(val,53,3) == 3 || BitfX(val,53,3) == 6; +} + +BOOL reservedCrField(unsigned cr, REG *val) +{ + switch (cr) { + case DCR_ID: + if (reservedDcrField(*val)) + return YES; + break; + case IVA_ID: + *val &= ~ONES(15); + break; + case PTA_ID: + if (reservedPtaField(*val)) + return YES; + break; + case IPSR_ID: + if (reservedIpsrField(*val)) + return YES; + break; + case ISR_ID: + if (reservedIsrField(*val)) + return YES; + break; + case IFS_ID: + if (reservedIfsField(*val)) + return YES; + break; + case IHA_ID: + *val &= ~ONES(2); + break; + case LID_ID: + if (reservedLidField(*val)) + return YES; + *val = WD1(*val); + break; + /* XXX - Is this needed since IVR is read-only? */ + case IVR_ID: + if (reservedIvrField(*val)) + return YES; + break; + case TPR_ID: + if (reservedTprField(*val)) + return YES; + *val &= 0x100F0; + break; + case EOI_ID: + *val = 0; + break; + case ITV_ID: + case PMV_ID: + case CMCV_ID: + if (reservedItvField(*val)) + return YES; + *val &= ONES(17) & ~0x1000; + break; + case LRR0_ID: + case LRR1_ID: + if (reservedLrrField(*val)) + return YES; + *val &= ONES(17) & ~0x1000; + break; + } + return NO; +} + +static BOOL reservedRrField(REG val) +{ + return BitfX(val,0,32) || BitfX(val,32,24) >> rid_len || BitfX(val,62,1) || + unimplPageSize(BitfX(val,56,6)); +} + +static void ignoredDbrField(unsigned ind, REG *val) +{ + if (ind % 2) + BitfR(*val,2,2) = 0; +} + +static void ignoredIbrField(unsigned ind, REG *val) +{ + if (ind % 2) + BitfR(*val,1,3) = 0; +} + +static BOOL reservedPkrField(REG val) +{ + return BitfX(val,0,32) || BitfX(val,32,24) >> key_len || BitfX(val,56,4); +} + +static BOOL reservedPmcField(REG val) +{ + /* Check for unimplemented events */ + /* return BitfX(val,0,48) || BitfX(val,56,1); */ + return NO; +} + +static BOOL reservedARi(unsigned ar) +{ + return ar <= 47 || (ar >= 67 && ar <= 111); +} + +static BOOL reservedARm(unsigned ar) +{ + return (ar >= 8 && ar <= 15) || + ar == 20 || + (ar >= 22 && ar <= 23) || + ar == 31 || + (ar >= 33 && ar <= 35) || + (ar >= 37 && ar <= 39) || + (ar >= 41 && ar <= 43) || + (ar >= 45 && ar <= 47) || + (ar >= 64 && ar <= 111); +} + +BOOL reservedAR(unsigned ar) +{ + return (ar >= 8 && ar <= 15) || + ar == 20 || + (ar >= 22 && ar <= 23) || + ar == 31 || + (ar >= 33 && ar <= 35) || + (ar >= 37 && ar <= 39) || + (ar >= 41 && ar <= 43) || + (ar >= 45 && ar <= 47) || + (ar >= 67 && ar <= 111); +} + +static BOOL ignoredAR(unsigned ar) +{ + return (ar >= 48 && ar <= 63) || + (ar >= 112 && ar <= 127); +} + +BOOL reservedCR(unsigned cr) +{ + return (cr >= 3 && cr <= 7) || + (cr >= 10 && cr <= 15) || + cr == 18 || + (cr >= 26 && cr <= 63) || + (cr >= 75 && cr <= 79) || + (cr >= 82 && cr <= 127); +} + +static BOOL readonlyCR(unsigned cr) +{ + return cr == IRR0_ID || cr == IRR1_ID || cr == IRR2_ID || cr == IRR3_ID || + cr == IVR_ID; +} + +static BOOL interruptionCR(unsigned cr) +{ + return cr >= IPSR_ID && cr <= IHA_ID; +} + +Status illComb(INSTINFO *info) +{ + illegalOpFault(); + return StFault; +} + +Status illQpComb(INSTINFO *info) +{ + if (PrRd(qp) != 1) + return StSuccess; + illegalOpFault(); + return StFault; +} + +Status illBQpComb(INSTINFO *info) +{ + if (PrRd(qp) != 1) + return StSuccess; + illegalOpFault(); + return StFault; +} + +Status ignComb(INSTINFO *info) +{ + return StSuccess; +} + +Status movGrComb(INSTINFO *info) +{ + REG src1; + BOOL srcnat1; + + if (PrRd(qp) != 1) + return StSuccess; +#if 0 + if (OUT_OF_FRAME(r1)) { + illegalOpFault(); + return StFault; + } +#endif + GrRd(r3, src1, srcnat1, NO); + GrWrt(r1, src1, srcnat1, NO); + return StSuccess; +} + +Status swizzleComb(INSTINFO *info) +{ + REG src2, dst1; + BOOL srcnat1, srcnat2, dstnat1; + + if (PrRd(qp) != 1) + return StSuccess; +#if 0 + if (OUT_OF_FRAME(r1)) { + illegalOpFault(); + return StFault; + } +#endif + SRCNAT1 = 0; + GrRd(r3, SRC2, SRCNAT2, NO); + ALU_2OP_EX(BitfX(SRC2,32,2) << 61 | (WORD)SRC2); + GrWrt(r1, DST1, DSTNAT1, NO); + return StSuccess; +} diff --git a/src/exportui.h b/src/exportui.h new file mode 100644 index 0000000..31fd3cc --- /dev/null +++ b/src/exportui.h @@ -0,0 +1,202 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Exported User Interface Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_EXPORTUI_H +#define _SKI_EXPORTUI_H + +/*-------------------------------------------------------------------------- + * Interface to expression evaluation + *-------------------------------------------------------------------------*/ + +BOOL evalExpr(const char *expr, unsigned base, REG *retval); +/* + char *expr Expression. Must not have embedded spaces. + unsigned base Default base for constants: 10 or 16. + REG *retval Evaluated expression. + (retval) Did the expression evaluation succeed? + */ + + +/*-------------------------------------------------------------------------- + * Interface to internal symbol registration + *-------------------------------------------------------------------------*/ + +typedef enum { + SINGLE_SYM, + REGSET_SYM, + BITF_SYM, + RS_BITF_SYM, + REG_SYM, /* generic 64-bit data items */ + BYTE_SYM, /* generic 8-bit data items */ + BOOL_SYM, /* boolean data items */ + STR_SYM, /* string data items */ + IP_SYM, /* IP */ + PSR_SYM, /* PSR */ + GR_SYM, /* GRs */ + GRNAT_SYM, /* GR Nats */ + PR_SYM, /* PRs */ +#if 0 + FR_SYM, /* FRs */ +#endif + FRMANT_SYM, /* FR mantissas */ + FREXP_SYM, /* FR exponents */ + FRSGN_SYM, /* FR signs */ + RRBGF_SYM, /* rrbg and rrbf */ + RRBP_SYM /* rrbp */ +} Symtyp; + +void isymIns(const char *sname, void *pval, Symtyp type, BOOL ronly, int len, + int start, REG align, int dbase); +/* + const char *sname symbol name + void *pval pointer to the symbol data item + Symtyp type symbol type + BOOL ronly is the symbol read-only? + int len symbol bit field size extending to the right of + "start" (if 0, symbol is not a subfield) + int start symbol bit-field starting position in little-endian + notation (ignored if "len" is 0) + REG align symbol alignment (if 1, no align restriction) + int dbase default base for "=" cmd: 10 or 16 + */ + + +/*-------------------------------------------------------------------------- + * Interface to command registration + *-------------------------------------------------------------------------*/ + +typedef BOOL (*PFV)(unsigned argc, char **argv); +/* + argc command argument count + argv command arguments + (retval) error detected when running the command? + */ + +extern FILE *cmdFile; /* handle to the "." (command) file */ + +BOOL menuIns(const char *keywd, int minargs, int maxargs, const char *descrip, + PFV fcn, const char *format); +/* + char *keywd command name + int minargs command minimum arguments + int maxargs command maximum arguments + char *descrip command description (needed for the help cmd) + PFV fcn command function + char *format command format (needed for the help cmd) + (retval) call succeeded + */ + + +/*-------------------------------------------------------------------------- + * Interface to register window registration and use + *-------------------------------------------------------------------------*/ + +typedef char * (*PLF)(unsigned line); +/* + line register window line to display + (retval) pointer to a buffer containing the line to display + */ + +BOOL regwIns(const char *tag, const char *title, PLF fcn, const char *size); +/* + char *tag registered window name. + Ski creates two X resources: "show" and + "regw" which can be used to control the register + window display in X + char *title register window title + PLF fcn function that returns a register window line + char *size expression for the register window size + (retval) call succeeded + */ + +BOOL regwMakeActivew(const char *tag); +/* + char *tag registered window name + (retval) was the register window made active? + */ + + +/*-------------------------------------------------------------------------- + * Interface to data window registration and use + *-------------------------------------------------------------------------*/ + +typedef char * (*PBF)(unsigned datwSz); /* ptr to buffer display fcn */ +/* + datwSz available data window size + (retval) pointer to the display buffer + */ + +BOOL datwIns(const char *tag, const char *title, PBF bdfcn); +/* + char *tag registered data window name + Ski creates the X resources: "show" which can + be used to control the data window display in X (see + the apps-default file) + char *title data window title + PBF bdfcn function that returns a data window buffer + (retval) call succeeded + */ + +BOOL datwMakeActivew(const char *tag); +/* + char *tag registered data window name + (retval) was the data window made active? + */ + +unsigned datwSz(const char *tag); +/* + char *tag registered data window name + (retval) data window size + */ + + +/*-------------------------------------------------------------------------- + * Interface to command line option registration + *-------------------------------------------------------------------------*/ + +#define IFACELEN 4 +#define ARGSIZ 30 + +typedef enum { + ARG_BOOL, ARG_INT4, ARG_INT8, ARG_STRING +} ARG; + +BOOL argIns(char *name, void *var, ARG kind, char *iface, char *descr); +/* + char *name argument (cmd line option) name. Must include "-" + void *var pointer to variable controlling the arg functionality + ARG kind variable type + char *iface interface for which the argument is valid: "bcx" makes + an option valid for batch, curses, and X interfaces + char *descr argument description + (retval) was the cmd line option inserted in the table? + */ + +/* return -1 for unrecognized option, 0 for BOOL option, 1 for the rest */ +extern int lookupOption(char *argname, char *argval); + +/* return index of first argument after options or -1 on failure */ +extern int parseOptions(int argc, char *argv[]); + +/* display all known options */ +extern void displayOptions(void); + +#endif /* _SKI_EXPORTUI_H */ diff --git a/src/fake-xterm/.deps/ski-fake-xterm.Po b/src/fake-xterm/.deps/ski-fake-xterm.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/src/fake-xterm/.deps/ski-fake-xterm.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/fake-xterm/Makefile b/src/fake-xterm/Makefile new file mode 100644 index 0000000..dcf557a --- /dev/null +++ b/src/fake-xterm/Makefile @@ -0,0 +1,492 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# src/fake-xterm/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = ../.. + +pkgdatadir = $(datadir)/ski +pkglibdir = $(libdir)/ski +pkgincludedir = $(includedir)/ski +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +bin_PROGRAMS = ski-fake-xterm$(EXEEXT) +subdir = src/fake-xterm +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +ski_fake_xterm_SOURCES = ski-fake-xterm.c +ski_fake_xterm_OBJECTS = ski-fake-xterm.$(OBJEXT) +ski_fake_xterm_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = ski-fake-xterm.c +DIST_SOURCES = ski-fake-xterm.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run aclocal-1.9 -I macros +ALLOCA = +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoconf +AUTOHEADER = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run autoheader +AUTOMAKE = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run automake-1.9 +AWK = gawk +CC = cc +CCAS = cc +CCASFLAGS = -g -O2 +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -DLINUX -D_GNU_SOURCE -D__norcsid -fno-strict-aliasing -Wall -Wunused +CPP = cc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DWARF_CFLAGS = +DWARF_LIBS = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +FREEBSD_FALSE = +FREEBSD_TRUE = # +GPERF = gperf +GREP = /bin/grep +HOST_OS = linux +HPUX_FALSE = +HPUX_TRUE = # +INCLTDL = -I${top_srcdir}/libltdl +INSIDE_GNOME_COMMON_FALSE = +INSIDE_GNOME_COMMON_TRUE = # +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LEX = flex +LEXLIB = -lfl +LEX_OUTPUT_ROOT = lex.yy +LIBLTDL = ${top_builddir}/libltdl/libltdlc.la +LIBOBJS = +LIBS = -lelf -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LINUX_FALSE = # +LINUX_TRUE = +LN_S = ln -s +LTLIBOBJS = +LT_AGE = 0 +LT_CURRENT = 3 +LT_RELEASE = 1.1 +LT_REVISION = 0 +MAINT = +MAINTAINER_MODE_FALSE = # +MAINTAINER_MODE_TRUE = +MAKEINFO = ${SHELL} /home/ahs3/projects/ski/wip.hg/missing --run makeinfo +OBJEXT = o +PACKAGE = ski +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PAGER = less +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +SKI_BINARY_AGE = 0 +SKI_INTERFACE_AGE = 0 +SKI_MAJOR_VERSION = 1 +SKI_MICRO_VERSION = 3 +SKI_MINOR_VERSION = 1 +SKI_RELEASE = gplv2 +SKI_VERSION = 1.1.3 +STRIP = strip +VERSION = 1.1.3 +WITH_NETDEV_FALSE = # +WITH_NETDEV_TRUE = +WITH_X_INTERFACE_FALSE = +WITH_X_INTERFACE_TRUE = # +YACC = bison -y +YFLAGS = -d +ac_ct_CC = cc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +encdir = $(top_srcdir)/src/encodings +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = i686-pc-linux-gnu +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = /home/ahs3/projects/ski/wip.hg/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = libltdl +sysconfdir = ${prefix}/etc +target_alias = +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/fake-xterm/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/fake-xterm/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ski-fake-xterm$(EXEEXT): $(ski_fake_xterm_OBJECTS) $(ski_fake_xterm_DEPENDENCIES) + @rm -f ski-fake-xterm$(EXEEXT) + $(LINK) $(ski_fake_xterm_LDFLAGS) $(ski_fake_xterm_OBJECTS) $(ski_fake_xterm_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/ski-fake-xterm.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/fake-xterm/Makefile.am b/src/fake-xterm/Makefile.am new file mode 100644 index 0000000..06ab062 --- /dev/null +++ b/src/fake-xterm/Makefile.am @@ -0,0 +1,23 @@ +## Process this file with automake to produce makefile.in +## +## +## Copyright (C) 2007, Hewlett-Packard Development Company, L.P. +## +## 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., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +## +## + +bin_PROGRAMS= ski-fake-xterm + diff --git a/src/fake-xterm/Makefile.in b/src/fake-xterm/Makefile.in new file mode 100644 index 0000000..be00572 --- /dev/null +++ b/src/fake-xterm/Makefile.in @@ -0,0 +1,492 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = ski-fake-xterm$(EXEEXT) +subdir = src/fake-xterm +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/macros/aclocal-include.m4 \ + $(top_srcdir)/macros/compilers.m4 $(top_srcdir)/macros/sed.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +ski_fake_xterm_SOURCES = ski-fake-xterm.c +ski_fake_xterm_OBJECTS = ski-fake-xterm.$(OBJEXT) +ski_fake_xterm_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = ski-fake-xterm.c +DIST_SOURCES = ski-fake-xterm.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DWARF_CFLAGS = @DWARF_CFLAGS@ +DWARF_LIBS = @DWARF_LIBS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FREEBSD_FALSE = @FREEBSD_FALSE@ +FREEBSD_TRUE = @FREEBSD_TRUE@ +GPERF = @GPERF@ +GREP = @GREP@ +HOST_OS = @HOST_OS@ +HPUX_FALSE = @HPUX_FALSE@ +HPUX_TRUE = @HPUX_TRUE@ +INCLTDL = @INCLTDL@ +INSIDE_GNOME_COMMON_FALSE = @INSIDE_GNOME_COMMON_FALSE@ +INSIDE_GNOME_COMMON_TRUE = @INSIDE_GNOME_COMMON_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LINUX_FALSE = @LINUX_FALSE@ +LINUX_TRUE = @LINUX_TRUE@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ +LT_REVISION = @LT_REVISION@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PAGER = @PAGER@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SKI_BINARY_AGE = @SKI_BINARY_AGE@ +SKI_INTERFACE_AGE = @SKI_INTERFACE_AGE@ +SKI_MAJOR_VERSION = @SKI_MAJOR_VERSION@ +SKI_MICRO_VERSION = @SKI_MICRO_VERSION@ +SKI_MINOR_VERSION = @SKI_MINOR_VERSION@ +SKI_RELEASE = @SKI_RELEASE@ +SKI_VERSION = @SKI_VERSION@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WITH_NETDEV_FALSE = @WITH_NETDEV_FALSE@ +WITH_NETDEV_TRUE = @WITH_NETDEV_TRUE@ +WITH_X_INTERFACE_FALSE = @WITH_X_INTERFACE_FALSE@ +WITH_X_INTERFACE_TRUE = @WITH_X_INTERFACE_TRUE@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +encdir = @encdir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/fake-xterm/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/fake-xterm/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ski-fake-xterm$(EXEEXT): $(ski_fake_xterm_OBJECTS) $(ski_fake_xterm_DEPENDENCIES) + @rm -f ski-fake-xterm$(EXEEXT) + $(LINK) $(ski_fake_xterm_LDFLAGS) $(ski_fake_xterm_OBJECTS) $(ski_fake_xterm_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ski-fake-xterm.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/fake-xterm/ski-fake-xterm.c b/src/fake-xterm/ski-fake-xterm.c new file mode 100644 index 0000000..5800704 --- /dev/null +++ b/src/fake-xterm/ski-fake-xterm.c @@ -0,0 +1,105 @@ +/* fake-xterm + * Behaves like xterm -S, but logs the output to a file. + * + * Original idea by Matthew Chapman + * This by Ian Wienand (C) 2003 + * + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + int fd = 0; + int c; + char buf[BUFSIZ]; + int fileout_flag = 0; + int fileout_fd = 1; + + opterr = 0; + + while ((c = getopt(argc, argv, "S:o:h")) != -1) + switch (c) { + case 'h': + fprintf(stdout, + "fake-xterm -o file [arguments to xterm, must include -S]\n"); + return 0; + case 'S': + /* the format of -S arg to xterm is + -Sppnn + where + pp is the pseduo terminal to use in slave mode. + nn is the file descriptor you get your input from + */ + fd = atoi(&optarg[2]); + break; + case 'o': + if (fileout_flag) /* -geo 80x25 matches this too unfortunately */ + continue; + fileout_flag = 1; + fileout_fd = + open(optarg, O_CREAT | O_RDWR | O_TRUNC, + S_IRUSR | S_IWUSR); + if (fileout_fd == -1) { + perror("open file"); + return 1; + } + break; + case '?': + break; + default: + abort(); + } + + if (fd <= 0) { + fprintf(stderr, "fake-xterm: Must specifiy -S\n"); + return 1; + } + + /* xterms write back their window id, apparently. + (undocumented feature) */ + if (write(fd, "0000000\n\r", 9) == -1) { + perror("writeback"); + return 1; + } + + while ((c = read(fd, buf, sizeof(buf)))) { + if (c == -1) { + perror("xread"); + return 1; + } + + if (write(fileout_fd, buf, c) == -1) { + perror("log write"); + return 1; + } + + } + + close(fileout_fd); + close(fd); + + exit(0); + +} diff --git a/src/fields.h b/src/fields.h new file mode 100644 index 0000000..1af43eb --- /dev/null +++ b/src/fields.h @@ -0,0 +1,436 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Field Macros + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_FIELDS_H +#define _SKI_FIELDS_H + +typedef DWORD INST; + +#define B0(x) BitfR(x,0,8) +#define B1(x) BitfR(x,8,8) +#define B2(x) BitfR(x,16,8) +#define B3(x) BitfR(x,24,8) +#define B4(x) BitfR(x,32,8) +#define B5(x) BitfR(x,40,8) +#define B6(x) BitfR(x,48,8) +#define B7(x) BitfR(x,56,8) +#define Bn(x,n) BitfX(x,8*n,8) + +#define HW0(x) BitfR(x,0,16) +#define HW1(x) BitfR(x,16,16) +#define HW2(x) BitfR(x,32,16) +#define HW3(x) BitfR(x,48,16) +#define HWn(x,n) BitfX(x,16*n,16) + +#define WD0(x) BitfR(x,0,32) +#define WD1(x) BitfR(x,32,32) + +#define SIGN(x) BitfR(x,0,1) +#define EXP(x) BitfR(x,1,15) + +/* Instruction Field Macros */ + +#define SLOT(x) BitfR(x,60,2) + +/* Register Field Macros */ + +/* GRs */ +#define GP_ID 1 +#define SP_ID 12 +#define TP_ID 13 + +/* BRs */ +#define RP_ID 0 + +/* ARs */ +#define K0_ID 0 +#define K1_ID 1 +#define K2_ID 2 +#define K3_ID 3 +#define K4_ID 4 +#define K5_ID 5 +#define K6_ID 6 +#define K7_ID 7 +#define RSC_ID 16 +#define BSP_ID 17 +#define BSPST_ID 18 +#define RNAT_ID 19 +#define CCV_ID 32 +#define UNAT_ID 36 +#define FPSR_ID 40 +#define ITC_ID 44 + +#define PFS_ID 64 +#define LC_ID 65 +#define EC_ID 66 + +/* CRs */ +#define DCR_ID 0 +#define ITM_ID 1 +#define IVA_ID 2 +#define PTA_ID 8 +#define GPTA_ID 9 +#define IPSR_ID 16 +#define ISR_ID 17 +#define IIP_ID 19 +#define IFA_ID 20 +#define ITIR_ID 21 +#define IIPA_ID 22 +#define IFS_ID 23 +#define IIM_ID 24 +#define IHA_ID 25 +#define LID_ID 64 +#define IVR_ID 65 +#define TPR_ID 66 +#define EOI_ID 67 +#define IRR0_ID 68 +#define IRR1_ID 69 +#define IRR2_ID 70 +#define IRR3_ID 71 +#define ITV_ID 72 +#define PMV_ID 73 +#define CMCV_ID 74 +#define LRR0_ID 80 +#define LRR1_ID 81 + +/* RSC */ +#define XRSC_LOADRS(x) BitfR(x,34,14) +#define XRSC_BE(x) BitfR(x,59,1) +#define XRSC_PL(x) BitfR(x,60,2) +#define XRSC_MODE(x) BitfR(x,62,2) + +/* PFS */ +#define XFS_PPL(x) BitfR(x,0,2) +#define XFS_PEC(x) BitfR(x,6,6) + +/* CFM */ +#define XFM_RRBP(x) BitfR(x,26,6) +#define XFM_RRBF(x) BitfR(x,32,7) +#define XFM_RRBG(x) BitfR(x,39,7) +#define XFM_SOR(x) BitfR(x,46,4) +#define XFM_SOIL(x) BitfR(x,50,7) +#define XFM_SOF(x) BitfR(x,57,7) + +/* PSR */ +#define X_PSR_VM(x) BitfR(x,17,1) +#define X_PSR_IA(x) BitfR(x,18,1) +#define X_PSR_BN(x) BitfR(x,19,1) +#define X_PSR_ED(x) BitfR(x,20,1) +#define X_PSR_RI(x) BitfR(x,21,2) +#define X_PSR_DD(x) BitfR(x,24,1) +#define X_PSR_DA(x) BitfR(x,25,1) +#define X_PSR_IT(x) BitfR(x,27,1) +#define X_PSR_MC(x) BitfR(x,28,1) +#define X_PSR_IS(x) BitfR(x,29,1) +#define X_PSR_CPL(x) BitfR(x,30,2) +#define X_PSR_RT(x) BitfR(x,36,1) +#define X_PSR_PP(x) BitfR(x,42,1) +#define X_PSR_SP(x) BitfR(x,43,1) +#define X_PSR_DT(x) BitfR(x,46,1) +#define X_PSR_PK(x) BitfR(x,48,1) +#define X_PSR_IC(x) BitfR(x,50,1) +#define X_PSR_MFH(x) BitfR(x,58,1) +#define X_PSR_MFL(x) BitfR(x,59,1) +#define X_PSR_AC(x) BitfR(x,60,1) +#define X_PSR_UP(x) BitfR(x,61,1) +#define X_PSR_BE(x) BitfR(x,62,1) +#define X_PSR_UM(x) BitfR(x,58,6) + +/* iA State */ +/* GR mappings */ +#define EAX_ID 8 +#define ECX_ID 9 +#define EDX_ID 10 +#define EBX_ID 11 +#define ESP_ID 12 +#define EBP_ID 13 +#define ESI_ID 14 +#define EDI_ID 15 +#define ES_ID 16 +#define CS_ID 17 +#define SS_ID 18 +#define DS_ID 19 +#define FS_ID 20 +#define GS_ID 21 +#define LDT_ID 22 +#define ESD_ID 24 +#define CSD_GR_ID 25 +#define SSD_GR_ID 26 +#define DSD_ID 27 +#define FSD_ID 28 +#define GSD_ID 29 +#define LDTD_ID 30 +#define GDTD_ID 31 + +/* AR mappings */ +#define IOBASE_ID 0 +#define TSS_ID 1 +#define TSSD_ID 2 +#define IDTD_ID 3 +#define CR3_CR2_ID 4 +#define DR6_DR7_ID 5 +#define FCR_ID 21 +#define EFLAGS_ID 24 +#define CSD_ID 25 +#define SSD_ID 26 +#define CFLG_ID 27 +#define FSR_ID 28 +#define FIR_ID 29 +#define FDR_ID 30 +/* XXX - Temporary */ +#define CSD_AR_ID CSD_ID +#define SSD_AR_ID SSD_ID + +#define EIP_ID 1 /* use one of the scratch GRs */ + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + DWORD g:1; + DWORD d:1; + DWORD rv:2; + DWORD p:1; + DWORD dpl:2; + DWORD s:1; + DWORD type:4; + DWORD lim:20; + DWORD base:32; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + DWORD base:32; + DWORD lim:20; + DWORD type:4; + DWORD s:1; + DWORD dpl:2; + DWORD p:1; + DWORD rv:2; + DWORD d:1; + DWORD g:1; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} IASegDesc, *IASegDescPtr; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + DWORD rv63_26:38; + DWORD le:1; + DWORD be:1; + DWORD lt:1; + DWORD rv22:1; + DWORD id:1; + DWORD vip:1; + DWORD vif:1; + DWORD ac:1; + DWORD vm:1; + DWORD rf:1; + DWORD rv15:1; + DWORD nt:1; + DWORD iopl:2; + DWORD of:1; + DWORD df:1; + DWORD if_:1; + DWORD tf:1; + DWORD sf:1; + DWORD zf:1; + DWORD rv5:1; + DWORD af:1; + DWORD rv3:1; + DWORD pf:1; + DWORD rv1:1; + DWORD cf:1; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + DWORD cf:1; + DWORD rv1:1; + DWORD pf:1; + DWORD rv3:1; + DWORD af:1; + DWORD rv5:1; + DWORD zf:1; + DWORD sf:1; + DWORD tf:1; + DWORD if_:1; + DWORD df:1; + DWORD of:1; + DWORD iopl:2; + DWORD nt:1; + DWORD rv15:1; + DWORD rf:1; + DWORD vm:1; + DWORD ac:1; + DWORD vif:1; + DWORD vip:1; + DWORD id:1; + DWORD rv22:1; + DWORD lt:1; + DWORD be:1; + DWORD le:1; + DWORD rv63_26:38; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} IAeflags, *IAeflagsPtr; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + DWORD ig63_41:23; /* CR4 */ + DWORD pce:1; + DWORD pge:1; + DWORD mce:1; + DWORD pae:1; + DWORD pse:1; + DWORD de:1; + DWORD tsd:1; + DWORD pvi:1; + DWORD vme:1; + DWORD pg:1; /* CR0 */ + DWORD cd:1; + DWORD nw:1; + DWORD ig28_19:10; + DWORD am:1; + DWORD rv17:1; + DWORD wp:1; + DWORD ig15_10:6; + DWORD nm:1; + DWORD ii:1; + DWORD if_:1; + DWORD io:1; + DWORD ne:1; + DWORD et:1; + DWORD ts:1; + DWORD em:1; + DWORD mp:1; + DWORD pe:1; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + DWORD pe:1; + DWORD mp:1; + DWORD em:1; + DWORD ts:1; + DWORD et:1; + DWORD ne:1; + DWORD io:1; + DWORD if_:1; + DWORD ii:1; + DWORD nm:1; + DWORD ig15_10:6; + DWORD wp:1; + DWORD rv17:1; + DWORD am:1; + DWORD ig28_19:10; + DWORD nw:1; + DWORD cd:1; + DWORD pg:1; /* CR0 */ + DWORD vme:1; + DWORD pvi:1; + DWORD tsd:1; + DWORD de:1; + DWORD pse:1; + DWORD pae:1; + DWORD mce:1; + DWORD pge:1; + DWORD pce:1; + DWORD ig63_41:23; /* CR4 */ +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} IAcflg, *IAcflgPtr; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + DWORD pfla:32; /* CR2 */ + DWORD pdb:20; /* CR3 */ + DWORD rv11_5:7; + DWORD pcd:1; + DWORD pwt:1; + DWORD rv2_0:3; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + DWORD rv2_0:3; + DWORD pwt:1; + DWORD pcd:1; + DWORD rv11_5:7; + DWORD pdb:20; /* CR3 */ + DWORD pfla:32; /* CR2 */ +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} IAcr3cr2, *IAcr3cr2Ptr; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + DWORD len3:2; /* DR7 */ + DWORD rw3:2; + DWORD len2:2; + DWORD rw2:2; + DWORD len1:2; + DWORD rw1:2; + DWORD len0:2; + DWORD rw0:2; + DWORD rv15_14:2; + DWORD gd:1; + DWORD rv12_10:3; + DWORD ge:1; + DWORD le:1; + DWORD g3:1; + DWORD l3:1; + DWORD g2:1; + DWORD l2:1; + DWORD g1:1; + DWORD l1:1; + DWORD g0:1; + DWORD l0:1; + DWORD rv31_16:16; /* DR6 */ + DWORD bt:1; + DWORD bs:1; + DWORD bd:1; + DWORD rv12_4:9; + DWORD b3_:1; + DWORD b2_:1; + DWORD b1_:1; + DWORD b0_:1; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + DWORD b0_:1; + DWORD b1_:1; + DWORD b2_:1; + DWORD b3_:1; + DWORD rv12_4:9; + DWORD bd:1; + DWORD bs:1; + DWORD bt:1; + DWORD rv31_16:16; /* DR6 */ + DWORD l0:1; + DWORD g0:1; + DWORD l1:1; + DWORD g1:1; + DWORD l2:1; + DWORD g2:1; + DWORD l3:1; + DWORD g3:1; + DWORD le:1; + DWORD ge:1; + DWORD rv12_10:3; + DWORD gd:1; + DWORD rv15_14:2; + DWORD rw0:2; + DWORD len0:2; + DWORD rw1:2; + DWORD len1:2; + DWORD rw2:2; + DWORD len2:2; + DWORD rw3:2; + DWORD len3:2; /* DR7 */ +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} IAdr6dr7, *IAdr6dr7Ptr; + +#endif /* _SKI_FIELDS_H */ diff --git a/src/float.c b/src/float.c new file mode 100644 index 0000000..0057ba3 --- /dev/null +++ b/src/float.c @@ -0,0 +1,1884 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Floating-Point Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" /* for SIGN() */ +#include "state.h" /* for FREG */ +#include "float.h" +#include "sim.h" /* for ONES() */ + +FREG fill2freg(BYTE sign, WORD exp, DWORD mant); + +/* + * The flags/ISR settings as a result of an FP operation is indicated in + * the return value from functions like "fma" as follows: + * + * Bits 5:0 -- FPSR flags (IUOZDV) + * Bits 9:6 -- ISR faults (SWA,Z,D,V) + * Bits 14:11 -- ISR traps (FPA,I,U,O) + */ + +#define I_MASK 0x20 +#define U_MASK 0x10 +#define O_MASK 0x08 +#define Z_MASK 0x04 +#define D_MASK 0x02 +#define V_MASK 0x01 +#define IU_MASK (I_MASK|U_MASK) +#define IO_MASK (I_MASK|O_MASK) + +#define SWA_FAULT 0x200 +#define Z_FAULT 0x100 +#define D_FAULT 0x080 +#define V_FAULT 0x040 + +#define FPA_TRAP 0x4000 +#define I_TRAP 0x2000 +#define U_TRAP 0x1000 +#define O_TRAP 0x0800 +#define IU_TRAP (I_TRAP|U_TRAP) +#define IO_TRAP (I_TRAP|O_TRAP) + +/* XXX - Is special almost always checked before these are used? */ +/* XXX - Should ZERO/UNORM/NORM also have a class? */ +/* XXX - Should ZERO be special? */ +#define QNAN(x) ((x)->special && (x)->class == CLASS_QNAN) +#define SNAN(x) ((x)->special && (x)->class == CLASS_SNAN) +#define NATV(x) ((x)->special && (x)->class == CLASS_NAT) +#define INF(x) ((x)->special && (x)->class == CLASS_INF) +#define NOT_INF(x) ((x)->special && (x)->class != CLASS_INF) +#define UNSUPP(x) ((x)->special && (x)->class == CLASS_UNSUPP) +#define ZERO(x) (!(x)->special && (x)->unorm >= 64) +#define UNORM(x) (!(x)->special && \ + (((x)->unorm < 64 && (x)->unorm != 0) || \ + ((x)->unorm == 64 && (x)->exp != 0) || \ + ((x)->class == CLASS_DE0))) + +#define RC(x) BitfX8(x,2,2) +#define PC(x) BitfX8(x,4,2) +#define WRE(x) BitfX8(x,6,1) +#define FTZ(x) BitfX8(x,7,1) + +typedef enum {FPRND_RN, FPRND_RM, FPRND_RP, FPRND_RZ} RMODE; + +#define SGL_MANT_WIDTH 24 +#define DBL_MANT_WIDTH 53 +#define EXT_MANT_WIDTH 64 + +#define SGL_EXP_WIDTH 8 +#define DBL_EXP_WIDTH 11 +#define EXT_EXP_WIDTH 15 +#define WRE_EXP_WIDTH 17 + +#define SGL_BIAS ((1<<(SGL_EXP_WIDTH-1))-1) +#define DBL_BIAS ((1<<(DBL_EXP_WIDTH-1))-1) +#define EXT_BIAS ((1<<(EXT_EXP_WIDTH-1))-1) +#define WRE_BIAS ((1<<(WRE_EXP_WIDTH-1))-1) +#define INT_BIAS (WRE_BIAS+EXTRA_BIAS) + +#define SGL_EMIN (-(SGL_BIAS-1)+INT_BIAS) +#define DBL_EMIN (-(DBL_BIAS-1)+INT_BIAS) +#define EXT_EMIN (-(EXT_BIAS-1)+INT_BIAS) +#define WRE_EMIN (-(WRE_BIAS-1)+INT_BIAS) + +#define SGL_EMAX (SGL_BIAS+INT_BIAS) +#define DBL_EMAX (DBL_BIAS+INT_BIAS) +#define EXT_EMAX (EXT_BIAS+INT_BIAS) +#define WRE_EMAX (WRE_BIAS+INT_BIAS) + +#define Carry(l, r, s) (((l & r) | ((l ^ r) & ~s)) & 0x8000000000000000ULL) + +/*################################ Functions ###############################*/ + +static void mult(DWORD l, DWORD r, DWORD *rh, DWORD *rl) +{ + DWORD lH, lL, rH, rL, lHrL, lLrH; + + lH = l >> 32; + lL = l & 0xFFFFFFFFULL; + rH = r >> 32; + rL = r & 0xFFFFFFFFULL; + + lHrL = lH * rL; + lLrH = lL * rH; + + *rh = lH * rH + (lHrL >> 32) + (lLrH >> 32); + + lHrL <<= 32; + lLrH <<= 32; + lH = lHrL + lLrH; + if (Carry(lHrL, lLrH, lH)) + (*rh)++; + + lL *= rL; + *rl = lH + lL; + if (Carry(lH, lL, *rl)) + (*rh)++; +} + +static unsigned sNaN(BYTE traps, const FREG *f, FREG *d) +{ + if (traps & V_MASK) { + d->special = YES; /* XXX - needed? */ + d->class = CLASS_QNAN; + d->sign = f->sign; /* XXX - check this */ + d->mant = f->mant | 0x4000000000000000ULL; + return V_MASK; + } else + return V_FAULT; +} + +static unsigned qNaN(BYTE traps, FREG *d) +{ + if (traps & V_MASK) { + d->class = CLASS_QNAN; + d->sign = 1; + d->mant = 0xC000000000000000ULL; + return V_MASK; + } else + return V_FAULT; +} + +static unsigned invInput(BYTE traps) +{ + return traps & V_MASK ? V_MASK : V_FAULT; +} + +static unsigned denInput(BYTE traps) +{ + return traps & D_MASK ? D_MASK : D_FAULT; +} + +static unsigned unormChk1(const FREG *f1, BYTE traps) +{ + return UNORM(f1) ? denInput(traps) : 0; +} + +static unsigned unormChk2(const FREG *f1, const FREG *f2, BYTE traps) +{ + return UNORM(f1) || UNORM(f2) ? denInput(traps) : 0; +} + +static unsigned unormChk3(const FREG *f1, const FREG *f2, const FREG *f3, + BYTE traps) +{ + return UNORM(f1) || UNORM(f2) || UNORM(f3) ? denInput(traps) : 0; +} + +static unsigned special1(const FREG *a, const FREG *b, const FREG *c, FREG *d, + BYTE traps) +{ + unsigned flags = 0; + + d->special = YES; + + if (NATV(a) || NATV(b) || NATV(c)) { + d->class = CLASS_NAT; + return 0; + } + if (UNSUPP(a) || UNSUPP(b) || UNSUPP(c)) + return qNaN(traps, d); + if (SNAN(a) || SNAN(b) || SNAN(c)) { + if (traps & V_MASK) + flags = V_MASK; + else + return V_FAULT; + } + if (SNAN(b)) { + d->class = CLASS_QNAN; + d->sign = b->sign; + d->mant = b->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(b)) { + *d = *b; + return flags; + } + if (SNAN(c)) { + d->class = CLASS_QNAN; + d->sign = c->sign; + d->mant = c->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(c)) { + *d = *c; + return flags; + } + if (SNAN(a)) { + d->class = CLASS_QNAN; + d->sign = a->sign; + d->mant = a->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(a)) { + *d = *a; + return 0; + } + return -2; +} + +static unsigned special2(const FREG *a, const FREG *b, const FREG *c, FREG *d, + BYTE traps) +{ + /* We know that at least 1 input is an infinity */ + /* d->special has already been set by special1 */ + + if (INF(a) || INF(b)) { + BYTE s = a->sign ^ b->sign; /* XXX - BOOL? */ + + if ((ZERO(a) && !a->exp) || (ZERO(b) && !b->exp) + || (INF(c) && s != c->sign)) + return qNaN(traps, d); + d->sign = s; + } else /* c must be an infinity */ + d->sign = c->sign; + d->class = CLASS_INF; + return unormChk3(a, b, c, traps); +} + +static BOOL incrMant(RMODE rmode, BOOL last, BOOL guard, BOOL sticky, BOOL sign) +{ + switch (rmode) { + case FPRND_RN: + return guard && (last || sticky); + case FPRND_RM: + return sign && (guard || sticky); + case FPRND_RP: + return !sign && (guard || sticky); + case FPRND_RZ: + return NO; + } + /*NOTREACHED*/ + return NO; +} + +/* Set exp and mant to infinity or max abs norm */ +static BOOL overflow(RMODE rmode, unsigned emax, unsigned mwidth, FREG *d) +{ + DWORD ovfMant; + BOOL inf; + + switch (mwidth) { + case SGL_MANT_WIDTH: + ovfMant = 0xFFFFFF0000000000ULL; + break; + case DBL_MANT_WIDTH: + ovfMant = 0xFFFFFFFFFFFFF800ULL; + break; + case EXT_MANT_WIDTH: + ovfMant = 0xFFFFFFFFFFFFFFFFULL; + break; + } + switch (rmode) { + case FPRND_RN: + inf = YES; + break; + case FPRND_RM: + inf = d->sign; + break; + case FPRND_RP: + inf = !d->sign; + break; + case FPRND_RZ: + inf = NO; + break; + } + if (inf) { + d->special = YES; + d->class = CLASS_INF; + } else { + d->exp = emax; + d->mant = ovfMant; + } + return inf; +} + +static unsigned round(FREG *d, unsigned mantWidth, RMODE rmode, DWORD resLo) +{ + BOOL last, guard, sticky; + unsigned fpa = 0; + +#if 0 + if (d->exp && d->exp < expMin) { /* Underflow */ + /* XXX - fill this in */; + } +#endif + if (mantWidth == 0) { + sticky = (d->mant & ONES(63)) || resLo; + guard = (d->mant >> 63) & 1; + + if (incrMant(rmode, NO, guard, sticky, d->sign)) { + d->mant = 1ULL << 63; + d->exp++; + fpa = FPA_TRAP; + } else + d->mant = 0; + } else if (mantWidth != 64) { + if (mantWidth != 63) + sticky = (d->mant & ONES(63-mantWidth)) || resLo; + else + sticky = resLo != 0; + guard = (d->mant >> (63-mantWidth)) & 1; + last = (d->mant >> (64-mantWidth)) & 1; + + if (incrMant(rmode, last, guard, sticky, d->sign)) { + DWORD mant = (d->mant >> (64-mantWidth)) + 1; + + fpa = FPA_TRAP; + if (mant >> mantWidth) { + d->mant = mant << (63-mantWidth); + d->exp++; + } else + d->mant = mant << (64-mantWidth); + } else + d->mant = (d->mant >> (64-mantWidth)) << (64-mantWidth); + } else { + sticky = (resLo << 1) != 0; + guard = SIGN(resLo); + last = d->mant & 1; + + if (incrMant(rmode, last, guard, sticky, d->sign)) { + d->mant++; + fpa = FPA_TRAP; + if (!d->mant) { + d->exp++; + d->mant = 1ULL<<63; + } + } + } + if (!d->mant) { + d->unorm = 64; + d->exp = 0; + } + return fpa | (guard || sticky ? I_MASK : 0); +} + +/*ARGSUSED*/ +static BOOL underflowTrap(BYTE traps, BYTE controls) +{ + return !(traps & U_MASK); +} + +static void modExp(FREG *d, FPPC prec) +{ + d->exp -= EXTRA_BIAS; + if (prec == PC_SIMD) { + d->exp -= WRE_BIAS - SGL_BIAS; + d->exp %= 1 << SGL_EXP_WIDTH; + d->exp += WRE_BIAS - SGL_BIAS; + } else + d->exp %= 1 << WRE_EXP_WIDTH; + *d = fill2freg(d->sign, d->exp, d->mant); +} + +static unsigned normalize(FREG *d, DWORD low, unsigned flags, RMODE rmode, + FPPC prec, BYTE traps, BYTE controls) +{ + unsigned mantWidth, expMin, expMax, f2; + FREG d2; + + /* Set mantWidth, expMin, & expMax from prec and controls */ + switch (prec) { + case PC_DYN: + switch ((int)PC(controls)) { + case 0: + mantWidth = SGL_MANT_WIDTH; + break; + case 2: + mantWidth = DBL_MANT_WIDTH; + break; + case 3: + mantWidth = EXT_MANT_WIDTH; + break; + } + expMin = WRE(controls) ? WRE_EMIN : EXT_EMIN; + expMax = WRE(controls) ? WRE_EMAX : EXT_EMAX; + break; + case PC_SGL: + mantWidth = SGL_MANT_WIDTH; + expMin = WRE(controls) ? WRE_EMIN : SGL_EMIN; + expMax = WRE(controls) ? WRE_EMAX : SGL_EMAX; + break; + case PC_DBL: + mantWidth = DBL_MANT_WIDTH; + expMin = WRE(controls) ? WRE_EMIN : DBL_EMIN; + expMax = WRE(controls) ? WRE_EMAX : DBL_EMAX; + break; + case PC_SIMD: + mantWidth = SGL_MANT_WIDTH; + expMin = SGL_EMIN; + expMax = SGL_EMAX; + break; + } + d->class = CLASS_NONE; + d2 = *d; + f2 = flags; + + flags |= round(d, mantWidth, rmode, low); + if (d->exp > expMax) { /* Overflow */ + if (traps & O_MASK) { + BOOL fpa; + + /* XXX - SWA trap if ignore O disable? */ + fpa = overflow(rmode, expMax, mantWidth, d); + flags |= IO_MASK; + if (!(traps & I_MASK)) { + flags |= I_TRAP; + if (fpa) + flags |= FPA_TRAP; + } + } else { + modExp(d, prec); + flags |= O_MASK | O_TRAP; + if (flags & I_MASK) + flags |= I_TRAP; + } + } else if (d->exp < expMin) { /* Underflow */ + if (underflowTrap(traps, controls)) { + modExp(d, prec); + flags |= U_MASK | U_TRAP; + if (flags & I_MASK) + flags |= I_TRAP; + } else if (FTZ(controls)) { + d->unorm = 64; + d->exp = 0; + flags |= IU_MASK; + if (!(traps & I_MASK)) { + flags |= I_TRAP; + flags &= ~FPA_TRAP; + } + } else { + unsigned ufl = expMin - d2.exp; + + *d = d2; + flags = f2; + if (ufl < mantWidth) + mantWidth -= ufl; + else { + d->exp = expMin - mantWidth; + if (ufl > mantWidth) + d->mant = 0x1; + mantWidth = 0; + } + flags |= round(d, mantWidth, rmode, low); + if (d->mant) { + d->unorm = expMin - d->exp; + if (expMin == EXT_EMIN && d->unorm) + d->class = CLASS_DE0; + } + if (flags & I_MASK) { + flags |= U_MASK; + if (!(traps & I_MASK)) + flags |= I_TRAP; + } + } + } else if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; +} + +static int numLz(DWORD *hi, DWORD *lo) +{ + int lzeroes = 0; + + if (!(*hi >> 32)) { + *hi = *hi << 32 | *lo >> 32; + *lo <<= 32; + lzeroes += 32; + } + if (!(*hi >> 48)) { + *hi = *hi << 16 | *lo >> 48; + *lo <<= 16; + lzeroes += 16; + } + if (!(*hi >> 56)) { + *hi = *hi << 8 | *lo >> 56; + *lo <<= 8; + lzeroes += 8; + } + if (!(*hi >> 60)) { + *hi = *hi << 4 | *lo >> 60; + *lo <<= 4; + lzeroes += 4; + } + if (!(*hi >> 62)) { + *hi = *hi << 2 | *lo >> 62; + *lo <<= 2; + lzeroes += 2; + } + if (!(*hi >> 63)) { + *hi = *hi << 1 | *lo >> 63; + *lo <<= 1; + lzeroes += 1; + } + return lzeroes; +} + +/* Sets d = a * b + c */ +static unsigned fmpyadd(const FREG *a, const FREG *b, FREG *c, FREG *d, + FPPC prec, BYTE traps, BYTE controls) +{ + unsigned flags; + RMODE rmode; + FREG m; + DWORD mLo, mant, mantLo, cLo, left, leftLo, right, rightLo; + BOOL extent; + int lzeroes, delta; + + if ((flags = unormChk3(a, b, c, traps)) & FP_FAULT) + return flags; + + rmode = RC(controls); + m.sign = a->sign ^ b->sign; + if (ZERO(a) || ZERO(b)) { /* m is zero */ + if (c->unorm == CLASS_FR0) { /* IEEE multiply */ + d->special = NO; + d->class = CLASS_NONE; + d->sign = m.sign; + d->unorm = 64; + d->exp = 0; + return flags; + } + *d = *c; + d->special = NO; /* XXX - not needed since c->special must be NO? */ + if (ZERO(c)) { + d->class = CLASS_NONE; + d->exp = 0; + d->sign = (m.sign != c->sign && rmode == FPRND_RM) || + (m.sign && c->sign) ? 1 : 0; + return flags; + } else { + d->unorm = 0; + return normalize(d, 0, flags, rmode, prec, traps, controls); + } + } + m.special = NO; + m.exp = a->exp + b->exp - INT_BIAS + 1; + mult(a->mant, b->mant, &m.mant, &mLo); + if (!SIGN(m.mant)) { /* post-normalize */ + m.mant = m.mant << 1 | SIGN(mLo); + mLo <<= 1; + m.exp--; + } + if (ZERO(c)) { + *d = m; + d->unorm = 0; + return normalize(d, mLo, flags, rmode, prec, traps, controls); + } + d->special = NO; + delta = m.exp - c->exp; + if (!delta) { + d->exp = m.exp; + extent = NO; + cLo = 0; + } else if (delta > 0) { /* right shift 3rd operand */ + d->exp = m.exp; + if (delta < 64) { + extent = NO; + cLo = (c->mant & ONES(delta)) << (64-delta); + c->mant >>= delta; + } else { + if (delta == 64) { + extent = NO; + cLo = c->mant; + } else if (delta < 128) { + extent = (c->mant & ONES(delta-64)) != 0; + cLo = c->mant >> (delta-64); + } else { + extent = YES; + cLo = 0; + } + c->mant = 0; + } + } else { /* right shift product */ + d->exp = c->exp; + cLo = 0; + if (delta > -64) { + extent = (mLo & ONES(-delta)) != 0; + mLo = (m.mant & ONES(-delta)) << (64+delta) | (mLo >> -delta); + m.mant >>= -delta; + } else { + if (delta == -64) { + extent = mLo != 0; + mLo = m.mant; + } else if (delta > -128) { + extent = mLo != 0 || (m.mant & ONES(-delta-64)) != 0; + mLo = m.mant >> (-delta-64); + } else { + extent = YES; + mLo = 0; + } + m.mant = 0; + } + } + if (m.sign == c->sign) { /* Signs are the same -- perform addition */ + d->sign = m.sign; + d->unorm = 0; + mant = m.mant + c->mant; + mantLo = mLo + cLo; + if (Carry(mLo, cLo, mantLo)) /* overflow into high part */ + mant++; /* XXX - can this overflow? */ + if (Carry(m.mant, c->mant, mant)) { /* overflow */ + d->exp++; + d->mant = 0x8000000000000000ULL | (mant >> 1); + if (mantLo & 1) + extent = YES; + mantLo = (mant & 1) << 63 | (mantLo >> 1); + } else + d->mant = mant; + if (extent) + mantLo |= 1; + return normalize(d, mantLo, flags, rmode, prec, traps, controls); + } + /* Signs are opposite -- perform subtraction */ + if (!delta && m.mant == c->mant && !mLo) { /* |m| = |c| */ + d->sign = rmode == FPRND_RM ? 1 : 0; + d->class = CLASS_NONE; + d->unorm = 64; + d->exp = 0; + return flags; + } + if (delta > 0 || (!delta && m.mant >= c->mant)) { /* |m| > |c| */ + d->sign = m.sign; + left = m.mant; + leftLo = mLo; + right = c->mant; + rightLo = cLo; + } else { /* |m| < |c| */ + d->sign = c->sign; + left = c->mant; + leftLo = cLo; + right = m.mant; + rightLo = mLo; + delta = -delta; + } + mant = left - right; + if (!delta) { + if (!rightLo) + mantLo = leftLo; + else { + mantLo = -rightLo; + mant--; + } + if (!mant) { + lzeroes = 64; + mant = mantLo; + mantLo = 0; + } else + lzeroes = 0; + lzeroes += numLz(&mant, &mantLo); + } else if (delta == 1) { + if (extent) { + mantLo = -rightLo - 1; + mant--; + } else { + mantLo = leftLo - rightLo; + if (leftLo < rightLo) + mant--; + } + if (!mant) { + lzeroes = 64; + mant = mantLo; + /* XXX - I think extent has to be YES here */ + mantLo = (DWORD)extent << 63; + } else { + lzeroes = 0; + if (extent) + mantLo |= 1; + } + lzeroes += numLz(&mant, &mantLo); + } else { + if (extent) { + mantLo = leftLo - rightLo - 1; + if (leftLo <= rightLo) + mant--; + } else { + mantLo = leftLo - rightLo; + if (leftLo < rightLo) + mant--; + } + if (!SIGN(mant)) { + mant = mant << 1 | SIGN(mantLo); + mantLo <<= 1; + lzeroes = 1; + } else + lzeroes = 0; + if (extent) + mantLo |= 1; + } + d->unorm = 0; + d->exp -= lzeroes; + d->mant = mant; + return normalize(d, mantLo, flags, rmode, prec, traps, controls); +} + +/* Sets d = a * b + c */ +unsigned fma(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls) +{ + unsigned flags; + + if (!a->special && !b->special && !c->special) + return fmpyadd(a, b, c, d, prec, traps, controls); + flags = special1(a, b, c, d, traps); + if (flags != -2) + return flags; + return special2(a, b, c, d, traps); +} + +/* Sets d = a * b - c */ +unsigned fms(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls) +{ + unsigned flags; + + if (!a->special && !b->special && !c->special) { + c->sign ^= 1; + return fmpyadd(a, b, c, d, prec, traps, controls); + } + flags = special1(a, b, c, d, traps); + if (flags != -2) + return flags; + c->sign ^= 1; + return special2(a, b, c, d, traps); +} + +/* Sets d = -a * b + c */ +unsigned fnma(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls) +{ + unsigned flags; + + if (!a->special && !b->special && !c->special) { + a->sign ^= 1; + return fmpyadd(a, b, c, d, prec, traps, controls); + } + flags = special1(a, b, c, d, traps); + if (flags != -2) + return flags; + a->sign ^= 1; + return special2(a, b, c, d, traps); +} + + +/*****************************/ +/* Integer Multiply Routines */ +/*****************************/ +DWORD xmah(DWORD m1, DWORD m2, DWORD m3) +{ + DWORD resHi, resLo, sum; + + mult(m1, m2, &resHi, &resLo); + if ((long long)m1 < 0) + resHi -= m2; + if ((long long)m2 < 0) + resHi -= m1; + sum = resLo + m3; + if (Carry(resLo, m3, sum)) + resHi++; + return resHi; +} + +DWORD xmahu(DWORD m1, DWORD m2, DWORD m3) +{ + DWORD resHi, resLo, sum; + + mult(m1, m2, &resHi, &resLo); + sum = resLo + m3; + if (Carry(resLo, m3, sum)) + resHi++; + return resHi; +} + +FREG xmpyl(const FREG *f1, const FREG *f2) +{ + FREG f; + DWORD m1, m2, resHi, resLo; + + f.sign = 0; + f.special = NO; + if (ZERO(f1) || ZERO(f2)) { + f.exp = INTEGER_EXP; + f.unorm = 64; + return f; + } + m1 = f1->mant >> f1->unorm; + m2 = f2->mant >> f2->unorm; + mult(m1, m2, &resHi, &resLo); + if (resLo) { + int exp; + DWORD mant = resLo; + + exp = 63; + if (!(mant >> 32)) { + mant <<= 32; + exp -= 32; + } + if (!(mant >> 48)) { + mant <<= 16; + exp -= 16; + } + if (!(mant >> 56)) { + mant <<= 8; + exp -= 8; + } + if (!(mant >> 60)) { + mant <<= 4; + exp -= 4; + } + if (!(mant >> 62)) { + mant <<= 2; + exp -= 2; + } + if (!(mant >> 63)) { + mant <<= 1; + exp -= 1; + } + f.unorm = exp; + f.exp = INTEGER_EXP - exp; + f.mant = mant; + f.class = CLASS_NONE; + } else { + f.unorm = 64; + f.exp = INTEGER_EXP; + } + return f; +} + + +/*************************************/ +/* Reciprocal Approximation Routines */ +/*************************************/ +static BOOL frcpaLimitsChk(const FREG *f2, const FREG *f3) +{ + int est_exp = f2->exp - f3->exp; + + if (INF(f2) || ZERO(f2) || INF(f3)) + return NO; + if (f3->exp <= EXTRA_BIAS || f3->exp >= (INT_BIAS+WRE_BIAS-2)) + return YES; + if (est_exp <= (2-WRE_BIAS) || est_exp >= WRE_BIAS) + return YES; + if (f2->exp <= EXTRA_BIAS+64) + return YES; + return NO; +} + +/* Sets b to an approximation (to 8 bits of precision) of 1/a */ +static void ieee_recip(const FREG *a, FREG *b) +{ + static const HWORD recip_table[] = { + 0x7fc, 0x7f4, 0x7ec, 0x7e4, 0x7dd, 0x7d5, 0x7cd, 0x7c6, + 0x7be, 0x7b7, 0x7af, 0x7a8, 0x7a1, 0x799, 0x792, 0x78b, + 0x784, 0x77d, 0x776, 0x76f, 0x768, 0x761, 0x75b, 0x754, + 0x74d, 0x746, 0x740, 0x739, 0x733, 0x72c, 0x726, 0x720, + 0x719, 0x713, 0x70d, 0x707, 0x700, 0x6fa, 0x6f4, 0x6ee, + 0x6e8, 0x6e2, 0x6dc, 0x6d7, 0x6d1, 0x6cb, 0x6c5, 0x6bf, + 0x6ba, 0x6b4, 0x6af, 0x6a9, 0x6a3, 0x69e, 0x699, 0x693, + 0x68e, 0x688, 0x683, 0x67e, 0x679, 0x673, 0x66e, 0x669, + 0x664, 0x65f, 0x65a, 0x655, 0x650, 0x64b, 0x646, 0x641, + 0x63c, 0x637, 0x632, 0x62e, 0x629, 0x624, 0x61f, 0x61b, + 0x616, 0x611, 0x60d, 0x608, 0x604, 0x5ff, 0x5fb, 0x5f6, + 0x5f2, 0x5ed, 0x5e9, 0x5e5, 0x5e0, 0x5dc, 0x5d8, 0x5d4, + 0x5cf, 0x5cb, 0x5c7, 0x5c3, 0x5bf, 0x5bb, 0x5b6, 0x5b2, + 0x5ae, 0x5aa, 0x5a6, 0x5a2, 0x59e, 0x59a, 0x597, 0x593, + 0x58f, 0x58b, 0x587, 0x583, 0x57f, 0x57c, 0x578, 0x574, + 0x571, 0x56d, 0x569, 0x566, 0x562, 0x55e, 0x55b, 0x557, + 0x554, 0x550, 0x54d, 0x549, 0x546, 0x542, 0x53f, 0x53b, + 0x538, 0x534, 0x531, 0x52e, 0x52a, 0x527, 0x524, 0x520, + 0x51d, 0x51a, 0x517, 0x513, 0x510, 0x50d, 0x50a, 0x507, + 0x503, 0x500, 0x4fd, 0x4fa, 0x4f7, 0x4f4, 0x4f1, 0x4ee, + 0x4eb, 0x4e8, 0x4e5, 0x4e2, 0x4df, 0x4dc, 0x4d9, 0x4d6, + 0x4d3, 0x4d0, 0x4cd, 0x4ca, 0x4c8, 0x4c5, 0x4c2, 0x4bf, + 0x4bc, 0x4b9, 0x4b7, 0x4b4, 0x4b1, 0x4ae, 0x4ac, 0x4a9, + 0x4a6, 0x4a4, 0x4a1, 0x49e, 0x49c, 0x499, 0x496, 0x494, + 0x491, 0x48e, 0x48c, 0x489, 0x487, 0x484, 0x482, 0x47f, + 0x47c, 0x47a, 0x477, 0x475, 0x473, 0x470, 0x46e, 0x46b, + 0x469, 0x466, 0x464, 0x461, 0x45f, 0x45d, 0x45a, 0x458, + 0x456, 0x453, 0x451, 0x44f, 0x44c, 0x44a, 0x448, 0x445, + 0x443, 0x441, 0x43f, 0x43c, 0x43a, 0x438, 0x436, 0x433, + 0x431, 0x42f, 0x42d, 0x42b, 0x429, 0x426, 0x424, 0x422, + 0x420, 0x41e, 0x41c, 0x41a, 0x418, 0x415, 0x413, 0x411, + 0x40f, 0x40d, 0x40b, 0x409, 0x407, 0x405, 0x403, 0x401 + }; + + b->sign = a->sign; + b->mant = (DWORD)recip_table[BitfX(a->mant,1,8)] << 53; + b->exp = (2*INT_BIAS - 1) - a->exp; + b->unorm = 0; + b->special = NO; + b->class = CLASS_NONE; +} + +/* Sets b to an approximation (to 8 bits of precision) of 1/sqrt(a) */ +static void ieee_recip_sqrt(const FREG *a, FREG *b) +{ + int i; + + static const HWORD recip_sqrt_table[] = { + 0x5a5, 0x5a0, 0x59a, 0x595, 0x58f, 0x58a, 0x585, 0x580, + 0x57a, 0x575, 0x570, 0x56b, 0x566, 0x561, 0x55d, 0x558, + 0x553, 0x54e, 0x54a, 0x545, 0x540, 0x53c, 0x538, 0x533, + 0x52f, 0x52a, 0x526, 0x522, 0x51e, 0x51a, 0x515, 0x511, + 0x50d, 0x509, 0x505, 0x501, 0x4fd, 0x4fa, 0x4f6, 0x4f2, + 0x4ee, 0x4ea, 0x4e7, 0x4e3, 0x4df, 0x4dc, 0x4d8, 0x4d5, + 0x4d1, 0x4ce, 0x4ca, 0x4c7, 0x4c3, 0x4c0, 0x4bd, 0x4b9, + 0x4b6, 0x4b3, 0x4b0, 0x4ad, 0x4a9, 0x4a6, 0x4a3, 0x4a0, + 0x49d, 0x49a, 0x497, 0x494, 0x491, 0x48e, 0x48b, 0x488, + 0x485, 0x482, 0x47f, 0x47d, 0x47a, 0x477, 0x474, 0x471, + 0x46f, 0x46c, 0x469, 0x467, 0x464, 0x461, 0x45f, 0x45c, + 0x45a, 0x457, 0x454, 0x452, 0x44f, 0x44d, 0x44a, 0x448, + 0x445, 0x443, 0x441, 0x43e, 0x43c, 0x43a, 0x437, 0x435, + 0x433, 0x430, 0x42e, 0x42c, 0x429, 0x427, 0x425, 0x423, + 0x420, 0x41e, 0x41c, 0x41a, 0x418, 0x416, 0x414, 0x411, + 0x40f, 0x40d, 0x40b, 0x409, 0x407, 0x405, 0x403, 0x401, + 0x7fc, 0x7f4, 0x7ec, 0x7e5, 0x7dd, 0x7d5, 0x7ce, 0x7c7, + 0x7bf, 0x7b8, 0x7b1, 0x7aa, 0x7a3, 0x79c, 0x795, 0x78e, + 0x788, 0x781, 0x77a, 0x774, 0x76d, 0x767, 0x761, 0x75a, + 0x754, 0x74e, 0x748, 0x742, 0x73c, 0x736, 0x730, 0x72b, + 0x725, 0x71f, 0x71a, 0x714, 0x70f, 0x709, 0x704, 0x6fe, + 0x6f9, 0x6f4, 0x6ee, 0x6e9, 0x6e4, 0x6df, 0x6da, 0x6d5, + 0x6d0, 0x6cb, 0x6c6, 0x6c1, 0x6bd, 0x6b8, 0x6b3, 0x6ae, + 0x6aa, 0x6a5, 0x6a1, 0x69c, 0x698, 0x693, 0x68f, 0x68a, + 0x686, 0x682, 0x67d, 0x679, 0x675, 0x671, 0x66d, 0x668, + 0x664, 0x660, 0x65c, 0x658, 0x654, 0x650, 0x64c, 0x649, + 0x645, 0x641, 0x63d, 0x639, 0x635, 0x632, 0x62e, 0x62a, + 0x627, 0x623, 0x620, 0x61c, 0x618, 0x615, 0x611, 0x60e, + 0x60a, 0x607, 0x604, 0x600, 0x5fd, 0x5f9, 0x5f6, 0x5f3, + 0x5f0, 0x5ec, 0x5e9, 0x5e6, 0x5e3, 0x5df, 0x5dc, 0x5d9, + 0x5d6, 0x5d3, 0x5d0, 0x5cd, 0x5ca, 0x5c7, 0x5c4, 0x5c1, + 0x5be, 0x5bb, 0x5b8, 0x5b5, 0x5b2, 0x5af, 0x5ac, 0x5aa + }; + + i = ((a->exp - EXTRA_BIAS) & 1) << 7 | BitfX(a->mant,1,7); + b->mant = (DWORD)recip_sqrt_table[i] << 53; + b->exp = (((INT_BIAS-1 - ((a->exp - INT_BIAS)>>1)) - EXTRA_BIAS) + & ONES(WRE_EXP_WIDTH)) + EXTRA_BIAS; + b->sign = 0; + b->unorm = 0; + b->special = NO; + b->class = CLASS_NONE; +} + +unsigned frcpa(const FREG *num, const FREG *den, FREG *ft, BOOL *pt, + BYTE traps) +{ + unsigned flags = 0; + + ft->special = YES; + *pt = NO; + + if (UNSUPP(num) || UNSUPP(den)) + return qNaN(traps, ft); + if (SNAN(num) || SNAN(den)) { + if (traps & V_MASK) + flags = V_MASK; + else + return V_FAULT; + } + if (SNAN(num)) { + ft->class = CLASS_QNAN; + ft->sign = num->sign; + ft->mant = num->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(num)) { + *ft = *num; + return flags; + } + if (SNAN(den)) { + ft->class = CLASS_QNAN; + ft->sign = den->sign; + ft->mant = den->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(den)) { + *ft = *den; + return flags; + } + if ((INF(num) && INF(den)) || (ZERO(num) && ZERO(den))) + return qNaN(traps, ft); + if (!INF(num) && ZERO(den)) { + if (traps & Z_MASK) { + ft->class = CLASS_INF; + ft->sign = num->sign ^ den->sign; + return Z_MASK; + } else + return Z_FAULT; + } + if (frcpaLimitsChk(num, den)) + return SWA_FAULT; + if ((flags = unormChk2(num, den, traps)) & FP_FAULT) + return flags; + if (INF(num)) { + ft->class = CLASS_INF; + ft->sign = num->sign ^ den->sign; + } else if (ZERO(num) || INF(den)) { + ft->special = NO; + ft->class = CLASS_NONE; + ft->unorm = 64; + ft->sign = num->sign ^ den->sign; + ft->exp = 0; + } else { + ieee_recip(den, ft); + *pt = YES; + } + return flags; +} + +unsigned fprcpa(const FREG *num, const FREG *den, FREG *ft, BOOL *pt, + BYTE traps) +{ + unsigned flags = 0; + + ft->special = YES; + *pt = NO; + + if (SNAN(num) || SNAN(den)) { + if (traps & V_MASK) + flags = V_MASK; + else + return V_FAULT; + } + if (SNAN(num)) { + ft->class = CLASS_QNAN; + ft->sign = num->sign; + ft->mant = num->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(num)) { + *ft = *num; + return flags; + } + if (SNAN(den)) { + ft->class = CLASS_QNAN; + ft->sign = den->sign; + ft->mant = den->mant | 0x4000000000000000ULL; + return flags; + } + if (QNAN(den)) { + *ft = *den; + return flags; + } + if ((INF(num) && INF(den)) || (ZERO(num) && ZERO(den))) + return qNaN(traps, ft); + if (!INF(num) && ZERO(den)) { + if (traps & Z_MASK) { + ft->class = CLASS_INF; + ft->sign = num->sign ^ den->sign; + return Z_MASK; + } else + return Z_FAULT; + } + if ((flags = unormChk2(num, den, traps)) & FP_FAULT) + return flags; + if (INF(num)) { + ft->class = CLASS_INF; + ft->sign = num->sign ^ den->sign; + } else if (ZERO(num) || INF(den)) { + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = num->sign ^ den->sign; + ft->unorm = 64; + ft->exp = 0; + } else if (UNORM(den)) { + ft->class = CLASS_INF; + ft->sign = den->sign; + } else if (den->exp >= (INT_BIAS+SGL_BIAS-2)) { + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = den->sign; + ft->unorm = 64; + ft->exp = 0; + } else { + int est_exp = num->exp - den->exp; + + ieee_recip(den, ft); + if (est_exp >= (int)SGL_BIAS || + est_exp <= (2-(int)SGL_BIAS) || + num->exp <= INT_BIAS-SGL_BIAS+SGL_MANT_WIDTH) + *pt = NO; + else + *pt = YES; + } + return flags; +} + +unsigned frsqrta(const FREG *f1, FREG *ft, BOOL *pt, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + *pt = NO; + + if (UNSUPP(f1)) + return qNaN(traps, ft); + if (SNAN(f1)) + return sNaN(traps, f1, ft); + if (QNAN(f1)) { + *ft = *f1; + return 0; + } + if (f1->sign && !ZERO(f1)) + return qNaN(traps, ft); + if (INF(f1)) { + ft->class = CLASS_INF; + ft->sign = 0; + return 0; + } + if (!ZERO(f1) && f1->exp <= EXTRA_BIAS+64) + return SWA_FAULT; + if ((flags = unormChk1(f1, traps)) & FP_FAULT) + return flags; + if (ZERO(f1)) { + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = f1->sign; + ft->unorm = 64; + ft->exp = 0; + } else { + ieee_recip_sqrt(f1, ft); + *pt = YES; + } + return flags; +} + +unsigned fprsqrta(const FREG *f1, FREG *ft, BOOL *pt, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + *pt = NO; + + if (SNAN(f1)) + return sNaN(traps, f1, ft); + if (QNAN(f1)) { + *ft = *f1; + return 0; + } + if (f1->sign && !ZERO(f1)) + return qNaN(traps, ft); + if (INF(f1)) { + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = 0; + ft->unorm = 64; + ft->exp = 0; + return 0; + } + if ((flags = unormChk1(f1, traps)) & FP_FAULT) + return flags; + if (ZERO(f1)) { + ft->class = CLASS_INF; + ft->sign = f1->sign; + } else { + ieee_recip_sqrt(f1, ft); + *pt = f1->exp > (INT_BIAS-SGL_BIAS+24); + } + return flags; +} + + +/********************/ +/* Min/Max Routines */ +/********************/ +static BOOL fpLessThan(const FREG *f1, const FREG *f2) +{ + if (!f1->special && INF(f2)) + return !f2->sign; + if (INF(f1) && !f2->special) + return f1->sign; + if (INF(f1) && INF(f2)) + return f1->sign & !f2->sign; + return NO; +} + +static unsigned full_minmax(const FREG *f1, const FREG *f2, BYTE traps) +{ + return NOT_INF(f1) || NOT_INF(f2) + ? invInput(traps) + : unormChk2(f1, f2, traps); +} + +static unsigned full_famax(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + if (NATV(f1) || NATV(f2)) { + ft->class = CLASS_NAT; + return 0; + } + if (!((flags = full_minmax(f1, f2, traps)) & FP_FAULT)) { + FREG l = *f2, r = *f1; + + l.sign = r.sign = 0; + *ft = fpLessThan(&l, &r) ? *f1 : *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + } + return flags; +} + +unsigned famax(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + if (f1->special || f2->special) + return full_famax(f1, f2, ft, traps); + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + if (ZERO(f1) && ZERO(f2)) + *ft = *f2; + else if (f1->exp > f2->exp) + *ft = *f1; + else if (f1->exp < f2->exp) + *ft = *f2; + else if (f1->mant > f2->mant) + *ft = *f1; + else + *ft = *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + +static unsigned full_famin(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + if (NATV(f1) || NATV(f2)) { + ft->class = CLASS_NAT; + return 0; + } + if (!((flags = full_minmax(f1, f2, traps)) & FP_FAULT)) { + FREG l = *f1, r = *f2; + + l.sign = r.sign = 0; + *ft = fpLessThan(&l, &r) ? *f1 : *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + } + return flags; +} + +unsigned famin(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + if (f1->special || f2->special) + return full_famin(f1, f2, ft, traps); + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + if (ZERO(f1) && ZERO(f2)) + *ft = *f2; + else if (f1->exp < f2->exp) + *ft = *f1; + else if (f1->exp > f2->exp) + *ft = *f2; + else if (f1->mant < f2->mant) + *ft = *f1; + else + *ft = *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + +static unsigned full_fmax(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + if (NATV(f1) || NATV(f2)) { + ft->class = CLASS_NAT; + return 0; + } + if (!((flags = full_minmax(f1, f2, traps)) & FP_FAULT)) + *ft = fpLessThan(f2, f1) ? *f1 : *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + +unsigned fmax(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + if (f1->special || f2->special) + return full_fmax(f1, f2, ft, traps); + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + if (ZERO(f1) && ZERO(f2)) + *ft = *f2; + else if (f1->sign < f2->sign) + *ft = *f1; + else if (f1->sign > f2->sign) + *ft = *f2; + else if (f1->exp > f2->exp) + *ft = f1->sign ? *f2 : *f1; + else if (f1->exp < f2->exp) + *ft = f1->sign ? *f1 : *f2; + else if (f1->mant > f2->mant) + *ft = f1->sign ? *f2 : *f1; + else if (f1->mant < f2->mant) + *ft = f1->sign ? *f1 : *f2; + else + *ft = *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + +static unsigned full_fmin(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + ft->special = YES; + if (NATV(f1) || NATV(f2)) { + ft->class = CLASS_NAT; + return 0; + } + if (!((flags = full_minmax(f1, f2, traps)) & FP_FAULT)) + *ft = fpLessThan(f1, f2) ? *f1 : *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + +unsigned fmin(FREG *f1, FREG *f2, FREG *ft, BYTE traps) +{ + unsigned flags; + + if (f1->special || f2->special) + return full_fmin(f1, f2, ft, traps); + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + if (ZERO(f1) && ZERO(f2)) + *ft = *f2; + else if (f1->sign > f2->sign) + *ft = *f1; + else if (f1->sign < f2->sign) + *ft = *f2; + else if (f1->exp < f2->exp) + *ft = f1->sign ? *f2 : *f1; + else if (f1->exp > f2->exp) + *ft = f1->sign ? *f1 : *f2; + else if (f1->mant < f2->mant) + *ft = f1->sign ? *f2 : *f1; + else if (f1->mant > f2->mant) + *ft = f1->sign ? *f1 : *f2; + else + *ft = *f2; + if (ft->unorm == CLASS_FR0) + ft->unorm = 64; + return flags; +} + + +/**************************/ +/* FP Comparison Routines */ +/**************************/ +static unsigned full_fcmpeq(const FREG *f1, const FREG *f2, BOOL *res, + BYTE traps) +{ + *res = NO; + if (UNSUPP(f1) || SNAN(f1) || UNSUPP(f2) || SNAN(f2)) + return invInput(traps); + if (QNAN(f1) || QNAN(f2)) + return 0; + if (INF(f1) && INF(f2) && f1->sign == f2->sign) + *res = YES; + return unormChk2(f1, f2, traps); +} + +static unsigned full_fcmp(const FREG *f1, const FREG *f2, BOOL *res, BYTE traps) +{ + *res = NO; + return full_minmax(f1, f2, traps); +} + +static unsigned fcmpUnordX(const FREG *f1, const FREG *f2, BOOL *res, + BYTE traps) +{ + if (UNSUPP(f1) || SNAN(f1) || UNSUPP(f2) || SNAN(f2)) { + *res = YES; + return invInput(traps); + } + if (QNAN(f1) || QNAN(f2)) { + *res = YES; + return 0; + } else + *res = NO; + return unormChk2(f1, f2, traps); +} + +static BOOL fcmpeqX(const FREG *f1, const FREG *f2) +{ + if (f1->unorm >= 64 && f2->unorm >= 64) + return YES; + if (f1->sign == f2->sign && f1->exp == f2->exp && f1->mant == f2->mant) + return YES; + return NO; +} + +static BOOL fcmpltX(const FREG *f1, const FREG *f2) +{ + if (f1->unorm >= 64 && f2->unorm >= 64) + return NO; + else if (f1->sign > f2->sign) + return YES; + else if (f1->sign < f2->sign) + return NO; + else { /* f1->sign == f2->sign */ + if (f1->exp < f2->exp) + return f1->sign ? NO : YES; + else if (f1->exp > f2->exp) + return f1->sign ? YES : NO; + else if (f1->mant < f2->mant) + return f1->sign ? NO : YES; + else if (f1->mant > f2->mant) + return f1->sign ? YES : NO; + else + return NO; + } +} + +unsigned fcmpEq(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps) +{ + unsigned flags; + + if (!qual) { + *res1 = NO; + *res2 = NO; + return 0; + } + if (f1->special || f2->special) { + if (NATV(f1) || NATV(f2)) { + *res1 = NO; + *res2 = NO; + return 0; + } + if ((flags = full_fcmpeq(f1, f2, res1, traps)) & FP_FAULT) + return flags; + } else { + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + *res1 = fcmpeqX(f1, f2); + } + *res2 = !*res1; + return flags; +} + +unsigned fcmpLt(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps) +{ + unsigned flags; + + if (!qual) { + *res1 = NO; + *res2 = NO; + return 0; + } + if (f1->special || f2->special) { + if (NATV(f1) || NATV(f2)) { + *res1 = NO; + *res2 = NO; + return 0; + } + if ((flags = full_fcmp(f1, f2, res1, traps)) & FP_FAULT) + return flags; + /* Infinity checks */ + if (!f1->special && INF(f2)) + *res1 = !f2->sign; + else if (INF(f1) && !f2->special) + *res1 = f1->sign; + else if (INF(f1) && INF(f2)) + *res1 = f1->sign & !f2->sign; + } else { + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + *res1 = fcmpltX(f1, f2); + } + *res2 = !*res1; + return flags; +} + +unsigned fcmpLe(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps) +{ + unsigned flags; + + if (!qual) { + *res1 = NO; + *res2 = NO; + return 0; + } + if (f1->special || f2->special) { + if (NATV(f1) || NATV(f2)) { + *res1 = NO; + *res2 = NO; + return 0; + } + if ((flags = full_fcmp(f1, f2, res1, traps)) & FP_FAULT) + return flags; + /* Infinity checks */ + if (!f1->special && INF(f2)) + *res1 = !f2->sign; + else if (INF(f1) && !f2->special) + *res1 = f1->sign; + else if (INF(f1) && INF(f2)) + *res1 = f1->sign | !f2->sign; + } else { + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + *res1 = fcmpltX(f1, f2) || fcmpeqX(f1, f2); + } + *res2 = !*res1; + return flags; +} + +unsigned fcmpUnord(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps) +{ + unsigned flags; + + if (!qual) { + *res1 = NO; + *res2 = NO; + return 0; + } + if (f1->special || f2->special) { + if (NATV(f1) || NATV(f2)) { + *res1 = NO; + *res2 = NO; + return 0; + } + if ((flags = fcmpUnordX(f1, f2, res1, traps)) & FP_FAULT) + return flags; + } else { + if ((flags = unormChk2(f1, f2, traps)) & FP_FAULT) + return flags; + *res1 = NO; + } + *res2 = !*res1; + return flags; +} + + +/***********************/ +/* Conversion Routines */ +/***********************/ +/* Rounds FP value in *f1 to integer, result in *ft, return inexact/fpa */ +static unsigned fx(const FREG *f1, FREG *ft, RMODE rmode) +{ + BOOL last, guard, sticky; + unsigned flags; + int n; + + n = INTEGER_EXP - f1->exp; /* 63 - unbiased exponent, >= 0 */ + if (!n) { + ft->unorm = 0; + ft->mant = f1->mant; + return 0; + } + if (n == 1) { + sticky = NO; + guard = f1->mant & 1; + last = (f1->mant >> 1) & 1; + } else if (n < 64) { + sticky = (f1->mant & ONES(n-1)) != 0; + guard = (f1->mant >> (n-1)) & 1; + last = (f1->mant >> n) & 1; + } else if (n == 64) { + sticky = (f1->mant << 1) != 0; + guard = YES; + last = NO; + } else { /* n > 64 */ + sticky = YES; + guard = NO; + last = NO; + } + if (incrMant(rmode, last, guard, sticky, f1->sign)) { + flags = FPA_TRAP | I_MASK; + if (n < 64) { + DWORD mant = (f1->mant >> n) + 1; + + ft->mant = mant << (n-1); + if (SIGN(ft->mant)) { + ft->unorm = n - 1; + ft->exp = f1->exp + 1; + } else { + ft->unorm = n; + ft->exp = f1->exp; + ft->mant <<= 1; + } + } else { + ft->unorm = 63; + ft->exp = INTEGER_EXP - 63; + ft->mant = 1ULL << 63; + } + } else { + flags = guard || sticky ? I_MASK : 0; + if (n < 64) { + ft->unorm = n; + ft->exp = f1->exp; + ft->mant = (f1->mant >> n) << n; + } else + ft->unorm = 64; + } + return flags; +} + +unsigned fcvtfx(const FREG *f1, FREG *ft, BYTE traps, BYTE controls) +{ + unsigned flags; + int n; + + if (NATV(f1)) { + ft->special = YES; + ft->class = CLASS_NAT; + return 0; + } + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = 0; + ft->exp = INTEGER_EXP; + if (ZERO(f1)) { + ft->unorm = 64; + return unormChk1(f1, traps); + } + if (f1->special || f1->exp > INTEGER_EXP) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + flags = fx(f1, ft, RC(controls)); + if (ZERO(ft)) { + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; + } + n = INTEGER_EXP - ft->exp; /* 63 - unbiased exponent */ + if (n < 0 || (!n && (!f1->sign || (f1->sign && ft->mant != 1ULL<<63)))) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->exp = INTEGER_EXP; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if (f1->sign) { + ft->unorm = 0; + ft->exp = INTEGER_EXP; + ft->mant = -(ft->mant >> n); + } + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; +} + +unsigned fcvtfu(const FREG *f1, FREG *ft, BYTE traps, BYTE controls) +{ + unsigned flags; + int n; + + if (NATV(f1)) { + ft->special = YES; + ft->class = CLASS_NAT; + return 0; + } + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = 0; + ft->exp = INTEGER_EXP; + if (ZERO(f1)) { + ft->unorm = 64; + return unormChk1(f1, traps); + } + if (f1->special || f1->exp > INTEGER_EXP) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + flags = fx(f1, ft, RC(controls)); + if (ZERO(ft)) { + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; + } + n = INTEGER_EXP - ft->exp; /* 63 - unbiased exponent */ + if (n < 0 || f1->sign) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->exp = INTEGER_EXP; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; +} + +unsigned fpcvtfx(const FREG *f1, FREG *ft, BYTE traps, BYTE controls) +{ + unsigned flags; + int n; + + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = 0; + ft->exp = INTEGER_EXP; + if (ZERO(f1)) { + ft->unorm = 64; + return 0; + } + if (f1->special || f1->exp > INTEGER_EXP-32) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + flags = fx(f1, ft, RC(controls)); + if (ZERO(ft)) { + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; + } + n = INTEGER_EXP - ft->exp - 32; /* 31 - unbiased exponent */ + if ((n < 0 || (!n && (!f1->sign || (f1->sign && ft->mant != 1ULL<<63))))){ + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if (f1->sign) { + ft->unorm = 0; + ft->exp = INTEGER_EXP; + ft->mant = -(ft->mant >> n); + } else + ft->unorm -= 32; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; +} + +unsigned fpcvtfu(const FREG *f1, FREG *ft, BYTE traps, BYTE controls) +{ + unsigned flags; + int n; + + ft->special = NO; + ft->class = CLASS_NONE; + ft->sign = 0; + ft->exp = INTEGER_EXP; + if (ZERO(f1)) { + ft->unorm = 64; + return 0; + } + if (f1->special || f1->exp > INTEGER_EXP-32) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + flags = fx(f1, ft, RC(controls)); + if (ZERO(ft)) { + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; + } + n = INTEGER_EXP - ft->exp - 32; /* 31 - unbiased exponent */ + if (n < 0 || f1->sign) { + if (traps & V_MASK) { + ft->unorm = 0; + ft->mant = 0x8000000000000000ULL; + return V_MASK; + } else + return V_FAULT; + } + if ((flags |= unormChk1(f1, traps)) & FP_FAULT) + return flags; + ft->unorm -= 32; + if ((flags & I_MASK) && !(traps & I_MASK)) + flags |= I_TRAP; + return flags; +} + +/* FP Classification */ +BOOL fclass(const FREG *f1, DWORD cl) +{ + if (UNSUPP(f1)) + return NO; + if (NATV(f1)) + return !!BitfX(cl,55,1); + if (QNAN(f1)) + return !!BitfX(cl,56,1); + if (SNAN(f1)) + return !!BitfX(cl,57,1); + if ((!BitfX(cl,62,1) && f1->sign) || (!BitfX(cl,63,1) && !f1->sign)) + return NO; + if (INF(f1)) + return !!BitfX(cl,58,1); + if (UNORM(f1)) + return !!BitfX(cl,60,1); + if (ZERO(f1)) + return !!BitfX(cl,61,1); + /* Must be a normal number */ + return !!BitfX(cl,59,1); +} diff --git a/src/float.h b/src/float.h new file mode 100644 index 0000000..7398542 --- /dev/null +++ b/src/float.h @@ -0,0 +1,77 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Floating-Point Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_FLOAT_H +#define _SKI_FLOAT_H + +#define FP_FLAGS 0x3F +#define FP_FAULT 0x3C0 +#define FP_TRAP 0x3800 +#define TD(x) BitfX8(x,1,1) +#define SEXP(s,e) ((WORD)s<<17|e) +#define NATVAL(s,e,m) (!s && e == 0x1FFFE && !m) + +#define EXTRA_BIAS 0x1007C +#define INTEGER_EXP (0x1003E + EXTRA_BIAS) + +typedef enum {PC_DYN, PC_SGL, PC_DBL, PC_SIMD} FPPC; + +/* XXX - should these be named FPCLASS_xxx? */ +typedef enum { + CLASS_NONE, CLASS_QNAN, CLASS_SNAN, CLASS_NAT, CLASS_INF, CLASS_UNSUPP, + CLASS_DE0, CLASS_FR0 = 0xFF +} FPCLASS; + +unsigned fma(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls); +unsigned fms(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls); +unsigned fnma(FREG *a, FREG *b, FREG *c, FREG *d, FPPC prec, BYTE traps, + BYTE controls); +unsigned fcmpEq(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps); +unsigned fcmpLt(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps); +unsigned fcmpLe(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps); +unsigned fcmpUnord(const FREG *f1, const FREG *f2, BOOL qual, BOOL *res1, + BOOL *res2, BYTE traps); +FREG xmpyl(const FREG *f1, const FREG *f2); +DWORD xmah(DWORD m1, DWORD m2, DWORD m3); +DWORD xmahu(DWORD m1, DWORD m2, DWORD m3); +void xmpy(FREG *f1, FREG *f2, WORD pos, int sign, FREG *ft); +unsigned frcpa(const FREG *num, const FREG *den, FREG *ft, BOOL *pt, + BYTE traps); +unsigned fprcpa(const FREG *num, const FREG *den, FREG *ft, BOOL *pt, + BYTE traps); +unsigned frsqrta(const FREG *f1, FREG *ft, BOOL *pt, BYTE traps); +unsigned fprsqrta(const FREG *f1, FREG *ft, BOOL *pt, BYTE traps); +unsigned famax(FREG *f1, FREG *f2, FREG *ft, BYTE traps); +unsigned famin(FREG *f1, FREG *f2, FREG *ft, BYTE traps); +unsigned fmax(FREG *f1, FREG *f2, FREG *ft, BYTE traps); +unsigned fmin(FREG *f1, FREG *f2, FREG *ft, BYTE traps); +unsigned fcvtfx(const FREG *f1, FREG *ft, BYTE traps, BYTE controls); +unsigned fcvtfu(const FREG *f1, FREG *ft, BYTE traps, BYTE controls); +unsigned fpcvtfx(const FREG *f1, FREG *ft, BYTE traps, BYTE controls); +unsigned fpcvtfu(const FREG *f1, FREG *ft, BYTE traps, BYTE controls); +BOOL fclass(const FREG *f1, DWORD cl); + +#endif /* _SKI_FLOAT_H */ diff --git a/src/fmtimm.awk b/src/fmtimm.awk new file mode 100755 index 0000000..d54cb2c --- /dev/null +++ b/src/fmtimm.awk @@ -0,0 +1,30 @@ +# -*- Mode: AWK; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + +/^#/ { + next +} +/^[A-Z]/ { + if (format) { + cmd = "grep \"" format " .*=\" " encdir "/encoding.imm" + while (cmd | getline ln == 1) { + split(ln,arr,"\t") + print " " arr[2] + } + close(cmd) + } + format = $1 + print +} +/^ / { + print +} +END { + if (format) { + cmd = "grep \"" format " .*=\" " encdir "/encoding.imm" + while (cmd | getline ln == 1) { + split(ln,arr,"\t") + print " " arr[2] + } + close(cmd) + } +} diff --git a/src/fp_exec.c b/src/fp_exec.c new file mode 100644 index 0000000..7470616 --- /dev/null +++ b/src/fp_exec.c @@ -0,0 +1,1601 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Floating-Point Execution Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "float.h" + +Status famaxEx(INSTINFO *info) +{ + DST1 = famax(&FSRC1, &FSRC2, &FDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status faminEx(INSTINFO *info) +{ + DST1 = famin(&FSRC1, &FSRC2, &FDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fchkf0Ex(INSTINFO *info) +{ + QUAL = (FPSR_SF0_FLAGS & ~FPSR_TRAPS) || + (FPSR_SF0_FLAGS & ~FPSR_SF0_FLAGS); + DST1 = info->ct->ipn + target25; + return 0; +} + +Status fchkf1Ex(INSTINFO *info) +{ + QUAL = (FPSR_SF1_FLAGS & ~FPSR_TRAPS) || + (FPSR_SF1_FLAGS & ~FPSR_SF0_FLAGS); + DST1 = info->ct->ipn + target25; + return 0; +} + +Status fchkf2Ex(INSTINFO *info) +{ + QUAL = (FPSR_SF2_FLAGS & ~FPSR_TRAPS) || + (FPSR_SF2_FLAGS & ~FPSR_SF0_FLAGS); + DST1 = info->ct->ipn + target25; + return 0; +} + +Status fchkf3Ex(INSTINFO *info) +{ + QUAL = (FPSR_SF3_FLAGS & ~FPSR_TRAPS) || + (FPSR_SF3_FLAGS & ~FPSR_SF0_FLAGS); + DST1 = info->ct->ipn + target25; + return 0; +} + +Status fclassEx(INSTINFO *info) +{ + if (QUAL) { + BOOL res = fclass(&FSRC1, imm64); + + CMPRES1 = res; + CMPRES2 = !res; + } else + CMPRES1 = CMPRES2 = 0; + DSTNAT1 = SRCNAT1 && !BitfX(imm64,55,1); + return 0; +} + +Status fclrf0Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF0_FLAGS(DST1) = 0; + return 0; +} + +Status fclrf1Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF1_FLAGS(DST1) = 0; + return 0; +} + +Status fclrf2Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF2_FLAGS(DST1) = 0; + return 0; +} + +Status fclrf3Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF3_FLAGS(DST1) = 0; + return 0; +} + +Status fcmpEqEx(INSTINFO *info) +{ + DST1 = fcmpEq(&FSRC1, &FSRC2, QUAL, &CMPRES1, &CMPRES2, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcmpLtEx(INSTINFO *info) +{ + DST1 = fcmpLt(&FSRC1, &FSRC2, QUAL, &CMPRES1, &CMPRES2, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcmpLeEx(INSTINFO *info) +{ + DST1 = fcmpLe(&FSRC1, &FSRC2, QUAL, &CMPRES1, &CMPRES2, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcmpUnordEx(INSTINFO *info) +{ + DST1 = fcmpUnord(&FSRC1, &FSRC2, QUAL, &CMPRES1, &CMPRES2, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcvtfxEx(INSTINFO *info) +{ + DST1 = fcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcvtfxtEx(INSTINFO *info) +{ + BitfR8(CTRLS,2,2) = 3; /* set rc to RZ */ + DST1 = fcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcvtfxuEx(INSTINFO *info) +{ + DST1 = fcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcvtfxutEx(INSTINFO *info) +{ + BitfR8(CTRLS,2,2) = 3; /* set rc to RZ */ + DST1 = fcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fcvtxfEx(INSTINFO *info) +{ + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + val = freg2dword(FSRC1); + if (SIGN(val)) { + FDST1.sign = 1; + val = -val; + } else + FDST1.sign = 0; + if (val) { + FDST1.mant = val; + FDST1.exp = INTEGER_EXP - numLzeroes(&FDST1.mant); + FDST1.unorm = 0; + } else { + FDST1.unorm = 64; + FDST1.exp = 0; + } + FDST1.special = NO; + FDST1.class = CLASS_NONE; + } + return 0; +} + +Status fmergensEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + BYTE sign1, sign2; + WORD exp1, exp2; + DWORD mant1, mant2; + + freg2spill(FSRC1, &sign1, &exp1, &mant1); + freg2spill(FSRC2, &sign2, &exp2, &mant2); + FDST1 = fill2freg(1-sign1, exp2, mant2); + } + return 0; +} + +Status fmergesEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + BYTE sign1, sign2; + WORD exp1, exp2; + DWORD mant1, mant2; + + freg2spill(FSRC1, &sign1, &exp1, &mant1); + freg2spill(FSRC2, &sign2, &exp2, &mant2); + FDST1 = fill2freg(sign1, exp2, mant2); + } + return 0; +} + +Status fmergeseEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + BYTE sign1, sign2; + WORD exp1, exp2; + DWORD mant1, mant2; + + freg2spill(FSRC1, &sign1, &exp1, &mant1); + freg2spill(FSRC2, &sign2, &exp2, &mant2); + FDST1 = fill2freg(sign1, exp1, mant2); + } + return 0; +} + +Status fmaEx(INSTINFO *info) +{ + DST1 = fma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DYN, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmasEx(INSTINFO *info) +{ + DST1 = fma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SGL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmadEx(INSTINFO *info) +{ + DST1 = fma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DBL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmsEx(INSTINFO *info) +{ + DST1 = fms(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DYN, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmssEx(INSTINFO *info) +{ + DST1 = fms(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SGL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmsdEx(INSTINFO *info) +{ + DST1 = fms(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DBL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fnmaEx(INSTINFO *info) +{ + DST1 = fnma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DYN, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fnmasEx(INSTINFO *info) +{ + DST1 = fnma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SGL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fnmadEx(INSTINFO *info) +{ + DST1 = fnma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_DBL, TRAPS, CTRLS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fmaxEx(INSTINFO *info) +{ + DST1 = fmax(&FSRC1, &FSRC2, &FDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fminEx(INSTINFO *info) +{ + DST1 = fmin(&FSRC1, &FSRC2, &FDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + return 0; +} + +Status fpamaxEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = famax(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = famax(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpaminEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = famin(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = famin(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpEqEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpEq(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpEq(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpLtEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpLt(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpLt(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpLeEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpLe(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpLe(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpNeqEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpEq(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpEq(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpNltEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpLt(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpLt(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpNleEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpLe(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpLe(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpOrdEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpUnord(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpUnord(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES2 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcmpUnordEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fcmpUnord(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD0(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fcmpUnord(&FSRC1, &FSRC2, YES, &CMPRES1, &CMPRES2, TRAPS); + WD1(result) = CMPRES1 ? 0xFFFFFFFFU : 0; + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpcvtfxEx(INSTINFO *info) +{ + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD mant, val, result; + + val = freg2dword(FSRC1); + + FSRC1 = sgl2freg(WD0(val)); + DST1 = fpcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD0(result) = WD0(mant); + + FSRC1 = sgl2freg(WD1(val)); + DST2 = fpcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD1(result) = WD0(mant); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpcvtfxtEx(INSTINFO *info) +{ + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD mant, val, result; + + BitfR8(CTRLS,2,2) = 3; /* set rc to RZ */ + val = freg2dword(FSRC1); + + FSRC1 = sgl2freg(WD0(val)); + DST1 = fpcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD0(result) = WD0(mant); + + FSRC1 = sgl2freg(WD1(val)); + DST2 = fpcvtfx(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD1(result) = WD0(mant); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpcvtfxuEx(INSTINFO *info) +{ + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD mant, val, result; + + val = freg2dword(FSRC1); + + FSRC1 = sgl2freg(WD0(val)); + DST1 = fpcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD0(result) = WD0(mant); + + FSRC1 = sgl2freg(WD1(val)); + DST2 = fpcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD1(result) = WD0(mant); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpcvtfxutEx(INSTINFO *info) +{ + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD mant, val, result; + + BitfR8(CTRLS,2,2) = 3; /* set rc to RZ */ + val = freg2dword(FSRC1); + + FSRC1 = sgl2freg(WD0(val)); + DST1 = fpcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD0(result) = WD0(mant); + + FSRC1 = sgl2freg(WD1(val)); + DST2 = fpcvtfu(&FSRC1, &FDST1, TRAPS, CTRLS); + mant = freg2dword(FDST1); + WD1(result) = WD0(mant); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpmaEx(INSTINFO *info) +{ + if ((FSRC1.special && FSRC1.class == CLASS_NAT) || + (FSRC2.special && FSRC2.class == CLASS_NAT) || + (FSRC3.special && FSRC3.class == CLASS_NAT)) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD val1, val2, val3, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + val3 = freg2dword(FSRC3); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + FSRC3 = f2 ? sgl2freg(WD0(val3)) : FrRd(0); + DST1 = fma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + FSRC3 = f2 ? sgl2freg(WD1(val3)) : FrRd(0); + DST2 = fma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpmsEx(INSTINFO *info) +{ + if ((FSRC1.special && FSRC1.class == CLASS_NAT) || + (FSRC2.special && FSRC2.class == CLASS_NAT) || + (FSRC3.special && FSRC3.class == CLASS_NAT)) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD val1, val2, val3, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + val3 = freg2dword(FSRC3); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + FSRC3 = f2 ? sgl2freg(WD0(val3)) : FrRd(0); + DST1 = fms(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + FSRC3 = f2 ? sgl2freg(WD1(val3)) : FrRd(0); + DST2 = fms(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpnmaEx(INSTINFO *info) +{ + if ((FSRC1.special && FSRC1.class == CLASS_NAT) || + (FSRC2.special && FSRC2.class == CLASS_NAT) || + (FSRC3.special && FSRC3.class == CLASS_NAT)) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = DST2 = 0; + } else { + DWORD val1, val2, val3, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + val3 = freg2dword(FSRC3); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + FSRC3 = f2 ? sgl2freg(WD0(val3)) : FrRd(0); + DST1 = fnma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + FSRC3 = f2 ? sgl2freg(WD1(val3)) : FrRd(0); + DST2 = fnma(&FSRC1, &FSRC2, &FSRC3, &FDST1, PC_SIMD, TRAPS, CTRLS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + if ((DST1 | DST2) & FP_FAULT) { + fpSimdFault(DST1, DST2); + return StFault; + } + } + return 0; +} + +Status fpmaxEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fmax(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fmax(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpminEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + DST1 = 0; + } else { + DWORD val1, val2, result; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fmin(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fmin(&FSRC1, &FSRC2, &FDST1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + return 0; +} + +Status fpmergensEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val1, val2, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + BitfR(result,0,1) = 1 - BitfX(val1,0,1); + BitfR(result,1,31) = BitfX(val2,1,31); + BitfR(result,32,1) = 1 - BitfX(val1,32,1); + BitfR(result,33,31) = BitfX(val2,33,31); + + FDST1 = dword2freg(result); + } + return 0; +} + +Status fpmergesEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val1, val2, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + BitfR(result,0,1) = BitfX(val1,0,1); + BitfR(result,1,31) = BitfX(val2,1,31); + BitfR(result,32,1) = BitfX(val1,32,1); + BitfR(result,33,31) = BitfX(val2,33,31); + + FDST1 = dword2freg(result); + } + return 0; +} + +Status fpmergeseEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val1, val2, result; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + BitfR(result,0,9) = BitfX(val1,0,9); + BitfR(result,9,23) = BitfX(val2,9,23); + BitfR(result,32,9) = BitfX(val1,32,9); + BitfR(result,41,23) = BitfX(val2,41,23); + + FDST1 = dword2freg(result); + } + return 0; +} + +Status fprcpaEx(INSTINFO *info) +{ + if (QUAL) { + if ((FSRC1.special && FSRC1.class == CLASS_NAT) || + (FSRC2.special && FSRC2.class == CLASS_NAT)) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + PDST1 = NO; + DST1 = 0; + } else { + DWORD val1, val2, result; + BOOL pret0, pret1; + unsigned ret0, ret1; + + val1 = freg2dword(FSRC1); + val2 = freg2dword(FSRC2); + + FSRC1 = sgl2freg(WD0(val1)); + FSRC2 = sgl2freg(WD0(val2)); + ret0 = fprcpa(&FSRC1, &FSRC2, &FDST1, &pret0, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val1)); + FSRC2 = sgl2freg(WD1(val2)); + ret1 = fprcpa(&FSRC1, &FSRC2, &FDST1, &pret1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + PDST1 = pret0 & pret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + } else + PDST1 = NO; + return 0; +} + +Status fprsqrtaEx(INSTINFO *info) +{ + if (QUAL) { + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + PDST1 = NO; + DST1 = 0; + } else { + DWORD val, result; + BOOL pret0, pret1; + unsigned ret0, ret1; + + val = freg2dword(FSRC1); + + FSRC1 = sgl2freg(WD0(val)); + ret0 = fprsqrta(&FSRC1, &FDST1, &pret0, TRAPS); + WD0(result) = freg2sgl(FDST1); + + FSRC1 = sgl2freg(WD1(val)); + ret1 = fprsqrta(&FSRC1, &FDST1, &pret1, TRAPS); + WD1(result) = freg2sgl(FDST1); + + FDST1 = dword2freg(result); + DST1 = ret0 | ret1; + PDST1 = pret0 & pret1; + if (DST1 & FP_FAULT) { + fpSimdFault(ret0, ret1); + return StFault; + } + } + } else + PDST1 = NO; + return 0; +} + +Status frcpaEx(INSTINFO *info) +{ + if (QUAL) { + if ((FSRC1.special && FSRC1.class == CLASS_NAT) || + (FSRC2.special && FSRC2.class == CLASS_NAT)) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + PDST1 = NO; + DST1 = 0; + } else { + DST1 = frcpa(&FSRC1, &FSRC2, &FDST1, &PDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + } + } else + PDST1 = NO; + return 0; +} + +Status frsqrtaEx(INSTINFO *info) +{ + if (QUAL) { + if (FSRC1.special && FSRC1.class == CLASS_NAT) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + PDST1 = NO; + DST1 = 0; + } else { + DST1 = frsqrta(&FSRC1, &FDST1, &PDST1, TRAPS); + if (DST1 & FP_FAULT) { + fpExceptionFault(DST1); + return StFault; + } + } + } else + PDST1 = NO; + return 0; +} + +Status fandEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + val = freg2dword(FSRC1) & freg2dword(FSRC2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fandcmEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + val = freg2dword(FSRC1) & ~freg2dword(FSRC2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fmixlEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD0(mant1); + WD1(val) = WD0(mant2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fmixlrEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD0(mant1); + WD1(val) = WD1(mant2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fmixrEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD1(mant1); + WD1(val) = WD1(mant2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status forEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + val = freg2dword(FSRC1) | freg2dword(FSRC2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fpackEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + WD0(val) = freg2sgl(FSRC1); + WD1(val) = freg2sgl(FSRC2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fselEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2 || SRCNAT3) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, mant3, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + mant3 = freg2dword(FSRC3); + val = (mant1 & mant3) | (mant2 & ~mant3); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fsetc0Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF0_CTRLS(DST1) = (X_FPSR_SF0_CTRLS(DST1) & amask7) | omask7; + if (X_FPSR_SF0_TD(DST1) || X_FPSR_SF0_PC(DST1) == 1) { + reservedRegFieldFault(0); + return StFault; + } + return 0; +} + +Status fsetc1Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF1_CTRLS(DST1) = (X_FPSR_SF0_CTRLS(DST1) & amask7) | omask7; + if (X_FPSR_SF1_PC(DST1) == 1) { + reservedRegFieldFault(0); + return StFault; + } + return 0; +} + +Status fsetc2Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF2_CTRLS(DST1) = (X_FPSR_SF0_CTRLS(DST1) & amask7) | omask7; + if (X_FPSR_SF2_PC(DST1) == 1) { + reservedRegFieldFault(0); + return StFault; + } + return 0; +} + +Status fsetc3Ex(INSTINFO *info) +{ + DST1 = SRC1; + X_FPSR_SF3_CTRLS(DST1) = (X_FPSR_SF0_CTRLS(DST1) & amask7) | omask7; + if (X_FPSR_SF3_PC(DST1) == 1) { + reservedRegFieldFault(0); + return StFault; + } + return 0; +} + +Status fswapEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD1(mant2); + WD1(val) = WD0(mant1); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fswapnlEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD1(mant2); + WD1(val) = WD0(mant1); + SIGN(val) = !BitfX(mant2,32,1); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fswapnrEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = WD1(mant2); + WD1(val) = WD0(mant1); + BitfR(val,32,1) = !SIGN(mant1); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fsxtlEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = SIGN(mant1) ? ~0U : 0U; + WD1(val) = WD0(mant2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fsxtrEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD mant1, mant2, val; + + mant1 = freg2dword(FSRC1); + mant2 = freg2dword(FSRC2); + WD0(val) = BitfX(mant1,32,1) ? ~0U : 0U; + WD1(val) = WD1(mant2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status fxorEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD val; + + val = freg2dword(FSRC1) ^ freg2dword(FSRC2); + FDST1 = dword2freg(val); + } + return 0; +} + +Status getfsEx(INSTINFO *info) +{ + DST1 = freg2sgl(FSRC1); + DSTNAT1 = FSRC1.special && FSRC1.class == CLASS_NAT; + return 0; +} + +Status getfdEx(INSTINFO *info) +{ + DST1 = freg2dbl(FSRC1); + DSTNAT1 = FSRC1.special && FSRC1.class == CLASS_NAT; + return 0; +} + +Status getfexpEx(INSTINFO *info) +{ + BYTE sign; + WORD exp; + DWORD mant; + + freg2spill(FSRC1, &sign, &exp, &mant); + DST1 = SEXP(sign, exp); + DSTNAT1 = NATVAL(sign, exp, mant); + return 0; +} + +Status getfsigEx(INSTINFO *info) +{ + BYTE sign; + WORD exp; + + freg2spill(FSRC1, &sign, &exp, &DST1); + DSTNAT1 = NATVAL(sign, exp, DST1); + return 0; +} + +Status setfsEx(INSTINFO *info) +{ + if (SRCNAT1) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else + FDST1 = sgl2freg(SRC1); + return 0; +} + +Status setfdEx(INSTINFO *info) +{ + if (SRCNAT1) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else + FDST1 = dbl2freg(SRC1); + return 0; +} + +Status setfexpEx(INSTINFO *info) +{ + if (SRCNAT1) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else + FDST1 = fill2freg(BitfX(SRC1,46,1), BitfX(SRC1,47,17), + 0x8000000000000000ULL); + return 0; +} + +Status setfsigEx(INSTINFO *info) +{ + if (SRCNAT1) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else + FDST1 = dword2freg(SRC1); + return 0; +} + +Status xmahEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2 || SRCNAT3) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD m1, m2, m3, val; + + m1 = freg2dword(FSRC1); + m2 = freg2dword(FSRC2); + m3 = freg2dword(FSRC3); + val = xmah(m1, m2, m3); + FDST1 = dword2freg(val); + } + return 0; +} + +Status xmahuEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2 || SRCNAT3) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD m1, m2, m3, val; + + m1 = freg2dword(FSRC1); + m2 = freg2dword(FSRC2); + m3 = freg2dword(FSRC3); + val = xmahu(m1, m2, m3); + FDST1 = dword2freg(val); + } + return 0; +} + +Status xmalEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2 || SRCNAT3) { + FDST1.special = YES; + FDST1.class = CLASS_NAT; + } else { + DWORD m1, m2, m3, val; + + m1 = freg2dword(FSRC1); + m2 = freg2dword(FSRC2); + m3 = freg2dword(FSRC3); + val = m1 * m2 + m3; + FDST1 = dword2freg(val); + } + return 0; +} diff --git a/src/freebsd/convert.c b/src/freebsd/convert.c new file mode 100644 index 0000000..bd39f1c --- /dev/null +++ b/src/freebsd/convert.c @@ -0,0 +1,127 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include "freebsd/syscall.h" + +void ntos_itimerval(const struct itimerval *it, struct itimerval64 *it64) +{ + ntos_timeval(&it->it_interval, &it64->it_interval); + ntos_timeval(&it->it_value, &it64->it_value); +} + +void ntos_rusage(const struct rusage *ru, struct rusage64 *ru64) +{ + ntos_timeval(&ru->ru_utime, &ru64->ru_utime); + ntos_timeval(&ru->ru_stime, &ru64->ru_stime); + ru64->ru_maxrss = ru->ru_maxrss; + ru64->ru_ixrss = ru->ru_ixrss; + ru64->ru_idrss = ru->ru_idrss; + ru64->ru_isrss = ru->ru_isrss; + ru64->ru_minflt = ru->ru_minflt; + ru64->ru_majflt = ru->ru_majflt; + ru64->ru_nswap = ru->ru_nswap; + ru64->ru_inblock = ru->ru_inblock; + ru64->ru_oublock = ru->ru_oublock; + ru64->ru_msgsnd = ru->ru_msgsnd; + ru64->ru_msgrcv = ru->ru_msgrcv; + ru64->ru_nsignals = ru->ru_nsignals; + ru64->ru_nvcsw = ru->ru_nvcsw; + ru64->ru_nivcsw = ru->ru_nivcsw; +} + +void ntos_stat(const struct stat *st, struct stat64 *st64) +{ + st64->st_dev = st->st_dev; + st64->st_ino = st->st_ino; + st64->st_mode = st->st_mode; + st64->st_nlink = st->st_nlink; + st64->st_uid = st->st_uid; + st64->st_gid = st->st_gid; + st64->st_rdev = st->st_rdev; +#if STAT64_USE_TIMESPEC + ntos_timespec(&st->st_atimespec, &st64->st_atimespec); + ntos_timespec(&st->st_mtimespec, &st64->st_mtimespec); + ntos_timespec(&st->st_ctimespec, &st64->st_ctimespec); +#else + st64->st_atimesec = st->st_atime; + st64->st_atimensec = 0; + st64->st_mtimesec = st->st_mtime; + st64->st_mtimensec = 0; + st64->st_ctimesec = st->st_ctime; + st64->st_ctimensec = 0; +#endif + st64->st_size = st->st_size; + st64->st_blocks = st->st_blocks; + st64->st_blksize = st->st_blksize; + st64->st_flags = st->st_flags; + st64->st_gen = st->st_gen; +} + +void ntos_statfs(const struct statfs *f, struct statfs64 *f64) +{ + f64->f_bsize = f->f_bsize; + f64->f_iosize = f->f_iosize; + f64->f_blocks = f->f_blocks; + f64->f_bfree = f->f_bfree; + f64->f_bavail = f->f_bavail; + f64->f_files = f->f_files; + f64->f_ffree = f->f_ffree; + f64->f_fsid = f->f_fsid; + f64->f_owner = f->f_owner; + f64->f_type = f->f_type; + f64->f_flags = f->f_flags; + f64->f_syncwrites = f->f_syncwrites; + f64->f_asyncwrites = f->f_asyncwrites; + bcopy(f->f_fstypename, f64->f_fstypename, MFSNAMELEN); + bcopy(f->f_mntonname, f64->f_mntonname, MNAMELEN); + f64->f_syncreads = f->f_syncreads; + f64->f_asyncreads = f->f_asyncreads; + bcopy(f->f_mntfromname, f64->f_mntfromname, MNAMELEN); +} + +void ntos_timespec(const struct timespec *tv, struct timespec64 *tv64) +{ + tv64->tv_sec = tv->tv_sec; + tv64->tv_nsec = tv->tv_nsec; +} + +void ntos_timeval(const struct timeval *tv, struct timeval64 *tv64) +{ + tv64->tv_sec = tv->tv_sec; + tv64->tv_usec = tv->tv_usec; +} + +void ston_itimerval(const struct itimerval64 *it64, struct itimerval *it) +{ + ston_timeval(&it64->it_interval, &it->it_interval); + ston_timeval(&it64->it_value, &it->it_value); +} + +void ston_timeval(const struct timeval64 *tv64, struct timeval *tv) +{ + tv->tv_sec = tv64->tv_sec; + tv->tv_usec = tv64->tv_usec; +} diff --git a/src/freebsd/dwarf.c b/src/freebsd/dwarf.c new file mode 100644 index 0000000..4272a6e --- /dev/null +++ b/src/freebsd/dwarf.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "types.h" + +char *src_root; /* hold the prefix for all filenames */ + +char * +getSrcLines(ADDR offset, unsigned int *count) +{ + + *count = 0; + return (""); +} + +char * +getSrcName(ADDR offset) +{ + + return (""); +} + +void +initDwUnitTbl(int fd) +{ +} diff --git a/src/freebsd/firmware.c b/src/freebsd/firmware.c new file mode 100644 index 0000000..baf64d2 --- /dev/null +++ b/src/freebsd/firmware.c @@ -0,0 +1,40 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "state.h" +#include "sim.h" + +#include "freebsd/machdep.h" + +WORD pciBar[6] = {0xFFFFE001, 0xFFFFE000, 0xFFFFE000}; + +REG doFW(REG imm, REG arg0, REG arg1, REG arg2, REG arg3) +{ + + progStop("bad FW call\n"); +} diff --git a/src/freebsd/machdep.h b/src/freebsd/machdep.h new file mode 100644 index 0000000..36eb1a1 --- /dev/null +++ b/src/freebsd/machdep.h @@ -0,0 +1,55 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_MACHDEP_H +#define _SKI_MACHDEP_H + +#define SKI_NFDS 20 + +typedef struct { + ADDR addr; + WORD len; +} SscDiskReq; + +typedef struct { + int fd; + WORD count; +} SscDiskStat; + +typedef struct { + WORD year; + WORD mon; + WORD mday; + WORD hour; + WORD min; + WORD sec; + WORD msec; + WORD wday; +} SscTime; + +typedef struct { + WORD ssc_Sec; + WORD ssc_Usec; +} SscTimeval; + +typedef struct { + WORD ssc_Minuteswest; + WORD ssc_Dsttime; +} SscTimezone; + +#endif /* _SKI_MACHDEP_H */ diff --git a/src/freebsd/misc.c b/src/freebsd/misc.c new file mode 100644 index 0000000..fd14ca6 --- /dev/null +++ b/src/freebsd/misc.c @@ -0,0 +1,120 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "state.h" + +#include "freebsd/machdep.h" + +int _close(int); +int _open(const char *, int, int); + +CTR prof_insts = ~0ULL; +char *src_root; + +#define SKI_NFDS 20 +int fdlimit; +int fdmap[SKI_NFDS]; + +void setFdmap(int fd1, int fd2) +{ + assert(0); +} + +void profCnt(void) +{ + assert(0); +} + +void saveOpenFiles(FILE *f) +{ +} + +void restoreOpenFile(char *name, unsigned flag, unsigned mode, unsigned offset) +{ +} + +/* + * We use our own implementation of open to force file descriptors + * opened by ski for ski to be larger than what we allow for the + * simulated process. This avoids nasty mappings... + */ +int open(const char *path, int flags, int mode) +{ + int res, fd; + + if (!unixABI) + return (_open(path, flags, mode)); + + if (fdlimit == 0) { + fdlimit = getdtablesize() - SKI_NFDS; + if (fdlimit < 20) { + fprintf(stderr, "FD table size underflow\n"); + abort(); + } + dup2(0, fdlimit); + dup2(1, fdlimit + 1); + dup2(2, fdlimit + 2); + fdmap[0] = fdmap[1] = fdmap[2] = 1; + /* XXX we shouldn't go under the hood */ + stdin->_file += fdlimit; + stdout->_file += fdlimit; + stderr->_file += fdlimit; + } + + res = _open(path, flags, mode); + if (res >= fdlimit) { + _close(res); + errno = EMFILE; + return (-1); + } else if (res == -1) + return (res); + + fd = 0; + while (fd < SKI_NFDS && fdmap[fd]) + fd++; + if (fd == SKI_NFDS) { + _close(res); + errno = EMFILE; + return (-1); + } + if (dup2(res, fd + fdlimit) == -1) { + _close(res); + errno = EMFILE; + return (-1); + } + _close(res); + fdmap[fd] = 1; + return (fd + fdlimit); +} + +int close(int fd) +{ + if (fd >= fdlimit && fdlimit != 0) + fdmap[fd - fdlimit] = 0; + _close(fd); +} diff --git a/src/freebsd/osload.c b/src/freebsd/osload.c new file mode 100644 index 0000000..c66cd33 --- /dev/null +++ b/src/freebsd/osload.c @@ -0,0 +1,232 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "osload.h" +#include "state.h" +#include "fields.h" +#include "libcore.h" +#include "sim.h" +#include "memory.h" + +extern char **environ; + +int +os_elf32_abi(char *ident, Elf32_Ehdr *ehdr, int set) +{ + /* No ILP32. */ + return (0); +} + +int +os_elf64_abi(char *ident, Elf64_Ehdr *ehdr, int set) +{ + int region; + BOOL abi; + + if (ident[EI_OSABI] != ELFOSABI_FREEBSD) + return (0); + + region = ehdr->e_entry >> 61; + abi = (ehdr->e_type == ET_DYN || (region > 0 && region < 5)) + ? YES : NO; + if (set) + unixABI = abi; + else if (unixABI != abi) + return (0); + + return (1); +} + +ADDR +os_rtld32_text(Elf32_Phdr *phdr) +{ + /* No ILP32. */ + return (0); +} + +ADDR +os_rtld32_data(Elf32_Phdr *phdr) +{ + /* No ILP32. */ + return (0); +} + +ADDR +os_rtld64_text(Elf64_Phdr *phdr) +{ + return (0x2000000000000000ULL); +} + +ADDR +os_rtld64_data(Elf64_Phdr *phdr) +{ + return (os_rtld64_text(phdr) + phdr->p_vaddr); +} + +/* + * Initial stack layout: + * USRSTACK +------------------------+ + * | struct ps_strings | + * PS_STRINGS +------------------------+ + * | signal trampoline code | + * +------------------------+ + * | SPARE_USRSPACE | + * +------------------------+ + * | arg & env strings | + * +------------------------+ + * | AUX entries | + * +------------------------+ + * | environ[envc + 1] | + * +------------------------+ + * | argv[argc + 1] | + * +------------------------+ + * | argc | + * SP +------------------------+ + * + * AUX entries required by rtld: + * AT_BASE + * AT_ENTRY + * AT_PHDR + * AT_PHENT + * AT_PHNUM + */ +struct ia64_ps_strings { + uint64_t ps_argvstr; /* VA of first argument string. */ + int ps_nargvstr; /* Number of argument strings. */ + int ps_pad0; + uint64_t ps_envstr; /* VA of first environment string. */ + int ps_nenvstr; /* Number of environment strings. */ + int ps_pad1; +}; + +#define AUX(sp, tag, ptr) \ + do { \ + (void)memWrt8(sp, tag); \ + (void)memWrt8(sp + 8, ptr); \ + sp += 16; \ + } while (0) + +int +os_setup_process(const char *file_name, int argc, char *argv[], + struct os_proc *proc) +{ + struct ia64_ps_strings ps_strings; + ADDR sp, strings, strp; + size_t argsz, envsz, strsz; + int envc, i; + + /* Initialize FP state (architected default value). */ + arSet(0, FPSR_ID, 0x0009804c0270033fULL); + + sp = 0xA000000000000000ULL; + sp -= 1048576; /* 1MB gateway page for EPC support. */ + setMaxSP(sp); /* =USRSTACK */ + + sp -= sizeof(ps_strings); + strings = sp; /* =PS_STRINGS */ + + /* XXX no signal trampoline code. */ + + sp -= SPARE_USRSPACE; + + argsz = 0; + for (i = 0; i < argc; i++) + argsz += strlen(argv[i]) + 1; + envsz = 0; + for (envc = 0; environ[envc]; envc++) + envsz += strlen(environ[envc]) + 1; + sp -= (argsz + envsz + 7) & ~7; + strp = sp; + + if (proc->has_rtld) + sp -= 6 * 16; /* AUX entries */ + + sp -= (envc + 1) * 8; /* envp[] */ + ps_strings.ps_envstr = sp; + ps_strings.ps_nenvstr = envc; + sp -= (argc + 1) * 8; /* argv[] */ + ps_strings.ps_argvstr = sp; + ps_strings.ps_nargvstr = argc; + + sp -= 8; /* argc */ + + grSet(0, 32, sp); + grSet(0, 33, strings); + grSet(0, 34, 0); + + sp &= ~15; + grSet(0, SP_ID, sp - 16); + + /* Map all pages. */ + sp = page_base(sp); + do { + pmemLookup_p(sp); + sp += page_size; + } while (sp < getMaxSP()); + + /* Copy out arguments. */ + sp = ps_strings.ps_argvstr; + memWrt8(sp - 8, argc); + for (i = 0; i < argc; i++) { + strsz = strlen(argv[i]) + 1; + memBBWrt(strp, (BYTE *)argv[i], strsz); + memWrt8(sp, strp); + strp += strsz; + sp += 8; + } + memWrt8(sp, 0); + sp += 8; + + /* Copy out environment strings. */ + for (i = 0; i < envc; i++) { + strsz = strlen(environ[i]) + 1; + memBBWrt(strp, (BYTE *)environ[i], strsz); + memWrt8(sp, strp); + strp += strsz; + sp += 8; + } + memWrt8(sp, 0); + sp += 8; + + if (proc->has_rtld) { + AUX(sp, AT_BASE, proc->rtld_base); + AUX(sp, AT_ENTRY, proc->proc_entry); + AUX(sp, AT_PHDR, proc->phdr_addr); + AUX(sp, AT_PHENT, sizeof(Elf64_Phdr)); + AUX(sp, AT_PHNUM, proc->phdr_count); + AUX(sp, AT_NULL, NULL); + } + + /* Copy out ps_strings. */ + memBBWrt(strings, (BYTE *)&ps_strings, sizeof(ps_strings)); + + /* Set backing store. */ + arSet(0, BSP_ID, 0x9FFFFFFF80000000ULL); + arSet(0, BSPST_ID, 0x9FFFFFFF80000000ULL); + + return (0); +} diff --git a/src/freebsd/signal.c b/src/freebsd/signal.c new file mode 100644 index 0000000..6aa26be --- /dev/null +++ b/src/freebsd/signal.c @@ -0,0 +1,170 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "exportui.h" +#include "coreui.h" +#include "sim.h" +#include "libsrs.h" +#include "libcore.h" +#include "state.h" + +#include "freebsd/signal.h" + +static struct { + int valid; + int flags; + ADDR handler; + sigset_t mask; + struct siginfo64 info; +} siginfo[_SIG_MAXSIG]; + +static sigset_t sigpend, sigmask; + +void signal_return(void) +{ + assert(0); +} + +void signal_invoke_handler(int in_syscall) +{ + int i, sig; + uint32_t sigword; + + for (i = 0, sig = 0; i < _SIG_WORDS; i++, sig += 32) { + sigword = sigpend.__bits[i] & ~sigmask.__bits[i]; + if (sigword) + break; + } + assert(sigword); + sig += ffs(sigword); + assert(_SIG_VALID(sig)); + + /* XXX need to actually deliver the signal. Ignore for now. */ + sigdelset(&sigpend, sig); +} + +int signal_pending(void) +{ + int i; + + for (i = 0; i < _SIG_WORDS; i++) { + if (sigpend.__bits[i] && + sigpend.__bits[i] & ~sigmask.__bits[i]) + return (1); + } + return (0); +} + +void signal_queue_info(int sig, ADDR ifa) +{ + struct siginfo64 *si64; + + /* Sanity checks. */ + if (!_SIG_VALID(sig)) + return; + + /* XXX We need to deliver the trap. For now, halt the program. */ + progStop("Got trap %d (IFA=0x%016llx, IP=0x%016llx)\n", sig, ifa, ip); + + sigaddset(&sigpend, sig); + si64 = &siginfo[_SIG_IDX(sig)].info; + memset(si64, 0, sizeof(*si64)); + si64->si_addr = ifa; +} + +static void signal_handler(int sig, siginfo_t *si, void *uc) +{ + struct siginfo64 *si64; + + /* Sanity checks. */ + if (!_SIG_VALID(sig)) + return; + +#if 0 + printf("Got signal %d\n", sig); +#endif + + sigaddset(&sigpend, sig); + si64 = &siginfo[_SIG_IDX(sig)].info; + si64->si_signo = sig; + si64->si_errno = si->si_errno; + si64->si_code = si->si_code; + si64->si_pid = si->si_pid; + si64->si_uid = si->si_uid; + si64->si_status = si->si_status; + si64->si_addr = (long)si->si_addr; + si64->si_value.sigval_ptr = (long)si->si_value.sigval_ptr; + si64->si_band = si->si_band; +} + +int signal_get_handler(int sig, struct sigaction64 *sa64) +{ + struct sigaction sa; + + if (!_SIG_VALID(sig)) + return (EINVAL); + + if (!siginfo[_SIG_IDX(sig)].valid) { + if (sigaction(sig, NULL, &sa) == -1) + return (errno); + siginfo[_SIG_IDX(sig)].valid = 1; + siginfo[_SIG_IDX(sig)].handler = 0; + siginfo[_SIG_IDX(sig)].flags = sa.sa_flags; + siginfo[_SIG_IDX(sig)].mask = sa.sa_mask; + } + sa64->sa_handler = siginfo[_SIG_IDX(sig)].handler; + sa64->sa_flags = siginfo[_SIG_IDX(sig)].flags; + sa64->sa_mask = siginfo[_SIG_IDX(sig)].mask; + return (0); +} + +int signal_set_handler(int sig, struct sigaction64 *sa64) +{ + struct sigaction sa; + + if (!_SIG_VALID(sig)) + return (EINVAL); + + sa.sa_flags = sa64->sa_flags; + sa.sa_mask = sa64->sa_mask; + if (sa64->sa_handler == 0) + sa.sa_handler = SIG_DFL; + else if (sa64->sa_handler == 1) + sa.sa_handler = SIG_IGN; + else { + sa.sa_sigaction = signal_handler; + sa.sa_flags |= SA_SIGINFO; + } + if (sigaction(sig, &sa, NULL) == -1) + return (errno); + + siginfo[_SIG_IDX(sig)].handler = sa64->sa_handler; + siginfo[_SIG_IDX(sig)].flags = sa64->sa_flags; + siginfo[_SIG_IDX(sig)].mask = sa64->sa_mask; + siginfo[_SIG_IDX(sig)].valid = 1; + return (0); +} diff --git a/src/freebsd/signal.h b/src/freebsd/signal.h new file mode 100644 index 0000000..46d1a31 --- /dev/null +++ b/src/freebsd/signal.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_SIGNAL_H +#define _SKI_SIGNAL_H + +typedef long long ptr64 __attribute__((aligned(8))); + +struct sigaction64 { + union { + ptr64 __sa_handler; + ptr64 __sa_sigaction; + } __sigaction_u; + int sa_flags; + sigset_t sa_mask; +}; + +struct siginfo64 { + int si_signo; + int si_errno; + int si_code; + int si_pid; + int si_uid; + int si_status; + ptr64 si_addr; + union { + int sigval_int; + ptr64 sigval_ptr; + } si_value; + long si_band; + int __spare__[7]; +}; + +int signal_get_handler(int, struct sigaction64 *); +int signal_set_handler(int, struct sigaction64 *); + +#endif /* _SKI_SIGNAL_H */ diff --git a/src/freebsd/ssc.c b/src/freebsd/ssc.c new file mode 100644 index 0000000..6439c20 --- /dev/null +++ b/src/freebsd/ssc.c @@ -0,0 +1,461 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +/* XXX - B0 is defined in termios.h to mean 0 baud. B0 is also + * a macro defined in field.h. Undefine B0 here... + */ +#undef B0 + +#include "std.h" +#include "types.h" +#include "bits.h" +#include "exportui.h" +#include "coreui.h" +#include "fields.h" +#include "libui.h" +#include "sim.h" +#include "state.h" +#include "memory.h" +#include "ssc.h" + +#include "interruption.h" + +#include "freebsd/machdep.h" + +extern char commandline[]; +extern unsigned int commandline_len; + +#ifdef NEW_MP +extern REG os_boot_rendez_ip; +extern REG os_boot_rendez_gp; +#endif + +SscReqNode *sscHead = NULL; +SscReqNode *sscPend = NULL; + +static struct { + short type; + short irrBit; +} irptTbl[30]; +static unsigned int irptTop = 0; + +static pid_t console; +static int fdin, fdout; +static struct termios saved_tios; + +static void sigchld_handler(int sig, siginfo_t *si, void *ctx) +{ + tcsetattr(fdin, TCSANOW, &saved_tios); + _exit(1); +} + +static void restore_tios(void) +{ + int status; + + tcsetattr(fdin, TCSANOW, &saved_tios); + if (console) { + kill(console, SIGKILL); + wait(&status); + } +} + +static void init_console(int fin, int fout) +{ + struct termios tios; + + tcgetattr(fin, &tios); + saved_tios = tios; + tios.c_lflag &= ~(ICANON|ECHO); + tcsetattr(fin, TCSANOW, &tios); + atexit(restore_tios); + fdin = fin; + fdout = fout; +} + +static int xconsole() +{ + char name[PATH_MAX]; + struct sigaction act; + char *tty; + int namelen; + int master, slave; + + if (openpty(&master, &slave, name, NULL, NULL) == -1) + goto fail; + + console = fork(); + switch (console) { + case -1: + goto fail; + case 0: /* child */ + close(slave); + close(0); + close(1); + close(2); + namelen = strlen(name); + tty = name + namelen + 1; + sprintf(tty, "-S%s%d", name + namelen - 2, master); + execlp("xterm", "xterm", tty, "-geo", "80x24", "-name", + "xski console", 0); + abort(); + default: /* parent */ + close(master); + init_console(slave, slave); + act.sa_sigaction = sigchld_handler; + act.sa_flags = SA_NOCLDSTOP|SA_SIGINFO; + sigaction(SIGCHLD, &act, NULL); + + /* Read the window ID. */ + if (read(slave, name, 128) == -1) + goto fail; + + fcntl(slave, F_SETFL, O_NONBLOCK); + break; + } + + return 0; + + fail: + progExit("Unable to create console window\n"); + return -1; +} + +static BOOL addSscReq(int fd, size_t size) +{ + SscReqNode *np, *p; + int prevcnt = 0; + + if (!(np = malloc(sizeof *np))) + return NO; + for (p = sscPend; p; p = p->next) + prevcnt += p->irptcnt; + np->fd = fd; + np->count = size; + np->irptcnt = IO_IRPT_CNT - prevcnt; + np->next = 0; + if (sscHead) { + for (p = sscHead; p->next; p = p->next) ; + p->next = np; + } else + sscHead = np; + + if (!sscPend) + sscPend = np; + + return YES; +} + +static void delSscReq(SscReqNode *p) +{ + SscReqNode *q = sscHead; + + if (p != sscHead) { + while (q->next != p) + q = q->next; + q->next = p->next; + } else + sscHead = sscHead->next; + + if (p == sscPend) + sscPend = sscPend->next; + free(p); +} + +void pendSscIrpt(unsigned int type) +{ + unsigned i, reg, bit, vector; + REG *p = &IRR0; /* assume IRR0-3 are contiguous */ + + for (i = 0; i < irptTop; i++) { + if (type == irptTbl[i].type) { + vector = irptTbl[i].irrBit; + if (vector == 1 || (vector >= 3 && vector <= 15)) + continue; /* ignore vectors 1 and 3-15 */ + + reg = vector >> 6 & 0x3; + bit = vector & 0x3F; + *(p + reg) |= (REG)1 << bit; + } + } + + if (acceptIrpt()) + intrsim = extint = YES; +} + +void doSSC(HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG *ret) +{ + BOOL olddt = PSR_DT; + + PSR_DT = 0; + + switch (num) { + case SSC_CLOSE: + *ret = close(arg0); + break; + + case SSC_CONSOLE_INIT: { + if (interface == BATCH) + init_console(0, 1); + else + xconsole(); + break; + } + + case SSC_EXIT: + GrWrtx (8, arg0, 0); + progExit("kernel exited with status %d\n", (int)arg0); + break; + + case SSC_GENERATE_INTERRUPT: + pendSscIrpt(arg0); + break; + + case SSC_GET_ARGS: + memBBWrt(arg0, commandline, commandline_len); + *ret = commandline_len; + break; + + case SSC_GET_RTC: { + struct timeval tp; + struct timezone tzp; + struct tm *tm; + SscTime sscTime; + + gettimeofday (&tp, &tzp); + tm = localtime((const time_t *)&tp.tv_sec); + sscTime.year = tm->tm_year; + sscTime.mon = tm->tm_mon; + sscTime.mday = tm->tm_mday; + sscTime.hour = tm->tm_hour; + sscTime.min = tm->tm_min; + sscTime.sec = tm->tm_sec; + sscTime.msec = tp.tv_usec/1000; + sscTime.wday = tm->tm_wday; + memBBWrtP(arg0, (BYTE *)&sscTime, sizeof(SscTime)); + /* no return value */ + break; + } + + case SSC_GET_TOD: { + struct timeval tp; + struct timezone tzp; + SscTimeval tv; + SscTimezone tz; + + gettimeofday (&tp, &tzp); + tv.ssc_Sec = tp.tv_sec; + tv.ssc_Usec = tp.tv_usec; + tz.ssc_Minuteswest = tzp.tz_minuteswest; + tz.ssc_Dsttime = tzp.tz_dsttime; + memBBWrtP(arg0, (BYTE *)&tv, sizeof(tv)); + if (arg1 != 0) + memBBWrtP(arg1, (BYTE *)&tz, sizeof(tz)); + break; + } + + case SSC_GETCHAR: { + int sz; + char buf[1]; + + sz = read(fdin, buf, 1); + *ret = (sz == 1) ? buf[0] : 0; + break; + } + + case SSC_LOAD_SYMBOLS: { + char fn[PATH_MAX]; + memBBRd(arg1, fn, 0); + *ret = (elfSymLoad(fn)) ? 0 : -1; + break; + } + + case SSC_OPEN: { + int flags; + char fn[PATH_MAX]; + + memBBRd(arg0, fn, 0); + if (arg1 == SSC_READ_ACCESS) + flags = O_RDONLY; + else if (arg1 == SSC_WRITE_ACCESS) + flags = O_WRONLY; + else if (arg1 == (SSC_READ_ACCESS | SSC_WRITE_ACCESS)) + flags = O_RDWR; + else + flags = -1; + + *ret = (flags != -1) ? open(fn, flags) : -1; + break; + } + + case SSC_PUTCHAR: { + char buf[1]; + + buf[0] = arg0; + write(fdout, buf, 1); + break; + } + + case SSC_READ: { + SscDiskReq iov; + off_t filesize; + size_t size, ofs; + ADDR adr; + char *map; + int i; + + filesize = lseek(arg0, 0LL, SEEK_END); + if (filesize == -1 || arg3 > filesize) { + *ret = -1; + break; + } + + size = 0; + adr = arg2; + for (i = 0; i < arg1; i++) { + memBBRd(adr, (BYTE *)&iov, sizeof(iov)); + size += iov.len; + adr += sizeof(iov); + } + + if (arg3 + size > filesize) + size = filesize - arg3; + + map = mmap(0, size, PROT_READ, MAP_SHARED, arg0, arg3); + if (map == MAP_FAILED) { + *ret = -1; + break; + } + + adr = arg2; + ofs = 0; + for (i = 0; i < arg1; i++) { + memBBRd(adr, (BYTE *)&iov, sizeof(iov)); + if (ofs + iov.len >= size) + iov.len = size - ofs; + memBBWrt_opt(iov.addr, map + ofs, iov.len); + ofs += iov.len; + adr += sizeof(iov); + } + + munmap(map, size); + + if (!addSscReq(arg0, size)) + *ret = -1; + break; + } + + case SSC_WAIT_COMPLETION: { + SscDiskStat stat; + SscReqNode *p; + + memBBRd(arg0, (BYTE *)&stat, sizeof(stat)); + *ret = -1; + for (p = sscPend; p; p = p->next) { + if (p->fd == stat.fd) { + stat.count = p->count; + delSscReq(p); + memBBWrt(arg0, (BYTE *)&stat, sizeof(stat)); + *ret = 0; + break; + } + } + break; + } + + case SSC_WRITE: { + SscDiskReq iov; + off_t filesize; + size_t size, ofs; + ADDR adr; + char *map; + int i; + + filesize = lseek(arg0, 0LL, SEEK_END); + if (filesize == -1 || arg3 > filesize) { + *ret = -1; + break; + } + + size = 0; + adr = arg2; + for (i = 0; i < arg1; i++) { + memBBRd(adr, (BYTE *)&iov, sizeof(iov)); + size += iov.len; + adr += sizeof(iov); + } + + if (arg3 + size > filesize) + size = filesize - arg3; + + map = mmap(0, size, PROT_WRITE, MAP_SHARED, arg0, arg3); + if (map == MAP_FAILED) { + *ret = -1; + break; + } + + adr = arg2; + ofs = 0; + for (i = 0; i < arg1; i++) { + memBBRd(adr, (BYTE *)&iov, sizeof(iov)); + if (ofs + iov.len >= size) + iov.len = size - ofs; + memBBRd(iov.addr, map, iov.len); + ofs += iov.len; + adr += sizeof(iov); + } + + munmap(map, size); + + if (!addSscReq(arg0, size)) + *ret = -1; + break; + } + +#ifdef NEW_MP + case SSC_SAL_SET_VECTORS: + if (arg0 == 2) { + os_boot_rendez_ip=arg1; + os_boot_rendez_gp=arg2; + } + break; +#endif + + default: + progExit("SSC #%d: unimplemented call\n", num); + break; + } + + PSR_DT = olddt; +} diff --git a/src/freebsd/syscall.c b/src/freebsd/syscall.c new file mode 100644 index 0000000..bafe478 --- /dev/null +++ b/src/freebsd/syscall.c @@ -0,0 +1,649 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "sim.h" +#include "state.h" +#include "memory.h" +#include "libsrs.h" +#include "libcore.h" +#include "os_support.h" + +#include "freebsd/machdep.h" +#include "freebsd/signal.h" +#include "freebsd/syscall.h" + +#define FBSD_PAGESIZE 8192 +#define FBSD_PAGEMASK (FBSD_PAGESIZE-1) + +/* Arbitrary... */ +#define FBSD_MMAP_START 0x6000000100000000ULL +#define FBSD_MMAP_END 0x7FFFFFFFFFFFFFFFULL + +#define fbsd_trunc_page(x) ((ADDR)(x) & ~FBSD_PAGEMASK) +#define fbsd_round_page(x) fbsd_trunc_page((x) + FBSD_PAGEMASK) + +void memFree(ADDR adr); +BOOL pmemMap(ADDR adr, void *hostadr); + +extern int fdlimit; + +int _close(int); +int _open(const char *, int, int); + +BOOL trace_syscalls = NO; +char *consLog = NULL; + +static ADDR mmap_base = FBSD_MMAP_START; + +static void * +unmap_mapped_pages(ADDR base, REG size) +{ + ADDR addr, end; + void *res; + + /* We expect page aligned addresses here. */ + assert((base & FBSD_PAGEMASK) == 0); + + end = fbsd_round_page(base + size); + res = pmemLookup(base); + for (addr = base; addr < end; addr += page_size) { + if (pmemLookup(addr) == NULL) + continue; + memFree(addr); + } + return res; +} + +static ADDR +verify_unmapped_pages(ADDR base, REG size) +{ + ADDR addr, end; + + /* We expect page aligned addresses here. */ + assert((base & FBSD_PAGEMASK) == 0); + + end = fbsd_round_page(base + size); + for (addr = base; addr < end; addr += page_size) { + if (pmemLookup(addr) != NULL) + return 0; + } + return base; +} + +static ADDR +get_unmapped_pages(REG size) +{ + ADDR start; + + while (mmap_base <= FBSD_MMAP_END) { + start = verify_unmapped_pages(mmap_base, size); + if (start != 0) { + mmap_base = fbsd_round_page(mmap_base + size); + return start; + } + mmap_base += FBSD_PAGESIZE; + } + return 0ULL; +} + +static int +fbsd_ioctl(int fd, unsigned long com, REG data) +{ + void *buf; + size_t len; + int res; + + len = IOCPARM_LEN(com); + if (len > FBSD_PAGESIZE) { + errno = ENOTTY; + return -1; + } + if (len) + buf = alloca(len); + else + buf = (void*)(intptr_t)data; + if ((com & IOC_IN) && len) + memBBRd(data, buf, len); + res = ioctl(fd, com, buf); + if ((com & IOC_OUT) && len) + memBBWrt_alloc(data, buf, len); + return res; +} + +void doSyscall(HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG arg4, + REG arg5, REG arg6, REG arg7, REG *ret, REG *status) +{ + int res = -1; + + *status = 0; + + if (num == SYS___syscall) { + num = arg0; + arg0 = arg1; + arg1 = arg2; + arg2 = arg3; + arg3 = arg4; + arg4 = arg5; + arg5 = arg6; + arg6 = arg7; + } + +#if 0 + printf("syscall %d", num); +#endif + + switch (num) { + case SYS_exit: /* 1 */ + /* void sys_exit(int rval); */ + GrWrtx(8, arg0, 0); + progExit("program exited with status %d\n", (int)arg0); + goto out; + case SYS_read: { /* 3 */ + /* ssize_t read(int fd, void *buf, size_t nbyte); */ + char *buf = alloca(arg2); + res = read(arg0, buf, arg2); + if (res > 0) + memBBWrt_alloc(arg1, buf, res); + break; + } + case SYS_write: { /* 4 */ + /* ssize_t write(int fd, const void *buf, size_t nbyte); */ + char *buf = alloca(arg2); + memBBRd(arg1, buf, arg2); + res = write(arg0, buf, arg2); + break; + } + case SYS_open: { /* 5 */ + /* int open(char *path, int flags, int mode); */ + char path[PATH_MAX]; + simroot(arg0, path, arg1 & O_CREAT); + res = _open(path, arg1, arg2); + if (res >= fdlimit) { + _close(res); + errno = EMFILE; + res = -1; + } + break; + } + case SYS_close: /* 6 */ + /* int close(int fd); */ + if (arg0 >= fdlimit) { + errno = EBADF; + res = -1; + } else + res = _close(arg0); + break; + case SYS_unlink: { /* 10 */ + /* int unlink(char *path); */ + char path[PATH_MAX]; + simroot(arg0, path, 0); + res = unlink(path); + break; + } + case SYS_fchdir: /* 13 */ + /* int fchdir(int fd); */ + res = fchdir(arg0); + break; + case SYS_break: { /* 17 */ + /* int obreak(char *nsize); */ + REG brk = heapGet(0); + if (brk <= FBSD_MMAP_END) { + if (arg0 > brk) { + for (brk = page_base(brk); brk < arg0; + brk += page_size) + pmemLookup_p(brk); + heapSet(0, brk); + } else if (arg0 == 0) + arg0 = brk; + res = 0; + } else { + errno = EINVAL; + res = -1; + } + break; + } + case SYS_getpid: /* 20 */ + /* pid_t getpid(void); */ + *ret = getpid(); + goto out; + case SYS_getuid: /* 24 */ + /* uid_t getuid(void); */ + *ret = getuid(); + goto out; + case SYS_geteuid: /* 25 */ + /* uid_t geteuid(void); */ + *ret = geteuid(); + goto out; + case SYS_access: { /* 33 */ + /* int access(char *path, int flags); */ + char path[PATH_MAX]; + simroot(arg0, path, 0); + res = access(path, arg1); + break; + } + case SYS_chflags: { /* 34 */ + /* int chflags(char *path, int flags); */ + char path[PATH_MAX]; + simroot(arg0, path, 0); + res = chflags(path, arg1); + break; + } + case SYS_kill: /* 37 */ + /* int kill(int pid, int signum); */ + res = kill(arg0, arg1); + break; + case SYS_pipe: { /* 42 */ + /* (int,int) pipe(void); */ + int fildes[2]; + res = pipe(fildes); + if (res == 0) { + GrWrtx(9, (REG)fildes[1], 0); + res = (REG)fildes[0]; + } + break; + } + case SYS_getegid: /* 43 */ + /* gid_t getegid(void); */ + *ret = getegid(); + goto out; + case SYS_getgid: /* 47 */ + /* gid_t getgid(void); */ + *ret = getgid(); + goto out; + case SYS_ioctl: /* 54 */ + /* int ioctl(int fd, u_long com, caddr_t data); */ + res = fbsd_ioctl(arg0, arg1, arg2); + break; + case SYS_readlink: { /* 58 */ + /* int readlink(char *path, char *buf, int count); */ + char *buf, path[PATH_MAX]; + size_t count; + simroot(arg0, path, 0); + count = arg2; + buf = alloca(count); + res = readlink(path, buf, count); + memBBWrt_alloc(arg1, buf, count); + break; + } + case SYS_munmap: { /* 73 */ + /* int munmap(void *addr, size_t len); */ + caddr_t addr; + ADDR reloc; + reloc = arg0; + arg0 = fbsd_trunc_page(arg0); + reloc -= arg0; + arg1 += reloc; + addr = unmap_mapped_pages(arg0, arg1); + res = munmap(addr, arg1); + break; + } + case SYS_mprotect: { /* 74 */ + /* int mprotect(const void *addr, size_t len, int prot); */ + ADDR reloc; + void *addr; + reloc = arg0; + arg0 = fbsd_trunc_page(arg0); + arg1 += reloc - arg0; + arg1 = fbsd_round_page(arg1); + addr = pmemLookup(arg0); + res = mprotect(addr, arg1, arg2); + break; + } + case SYS_setitimer: { /* 83 */ + /* int setitimer(u_int which, struct itimerval *itv, + * struct itimerval *oitv); + */ + struct itimerval itv, oitv, *itvp; + struct itimerval64 itv64; + itvp = (arg1 != 0) ? &itv : NULL; + if (arg1 != 0) { + memBBRd(arg1, (void*)&itv64, sizeof(itv64)); + ston_itimerval(&itv64, itvp); + } + res = setitimer((int)arg0, itvp, &oitv); + if (arg2 != 0) { + ntos_itimerval(&oitv, &itv64); + memBBWrt_alloc(arg2, (void*)&itv64, sizeof(itv64)); + } + break; + } + case SYS_getdtablesize: /* 89 */ + /* int getdtablesize(void); */ + res = getdtablesize() - SKI_NFDS; + break; + case SYS_dup2: /* 90 */ + /* int dup2(u_int from, u_int to); */ + if (arg1 >= fdlimit) { + errno = EBADF; + res = -1; + } else + res = dup2(arg0, arg1); + break; + case SYS_fcntl: { /* 92 */ + /* int fcntl(int fd, int cmd, long arg); */ + struct flock l; + switch (arg1) { + case F_GETLK: + case F_SETLK: + case F_SETLKW: + memBBRd(arg2, (void*)&l, sizeof(l)); + res = fcntl(arg0, arg1, &l); + memBBWrt_alloc(arg2, (void*)&l, sizeof(l)); + break; + default: + res = fcntl(arg0, arg1, arg2); + break; + } + break; + } + case SYS_socket: /* 97 */ + /* int socket(int domain, int type, int protocol); */ + res = socket(arg0, arg1, arg2); + break; + case SYS_connect: { /* 98 */ + /* int connect(int s, caddr_t name, int namelen); */ + void *name; + name = alloca(arg2); + memBBRd(arg1, name, arg2); + res = connect(arg0, name, arg2); + break; + } + case SYS_gettimeofday: { /* 116 */ + /* int gettimeofday(struct timeval *tp, + * struct timezone *tzp); + */ + struct timeval64 tp64; + struct timeval tp; + struct timezone tzp; + res = gettimeofday(&tp, &tzp); + ntos_timeval(&tp, &tp64); + if (arg0 != 0) + memBBWrt_alloc(arg0, (void*)&tp64, sizeof(tp64)); + if (arg1 != 0) + memBBWrt_alloc(arg1, (void*)&tzp, sizeof(tzp)); + break; + } + case SYS_getrusage: { /* 117 */ + /* int getrusage(int who, struct rusage *rusage); */ + struct rusage64 ru64; + struct rusage ru; + res = getrusage(arg0, &ru); + ntos_rusage(&ru, &ru64); + memBBWrt_alloc(arg1, (void*)&ru64, sizeof(ru64)); + break; + } + case SYS_sendto: { /* 133 */ + /* int sendto(int s, caddr_t buf, size_t len, int flags, + * caddr_t to, int tolen); + */ + void *msg, *to; + msg = alloca(arg2); + memBBRd(arg1, msg, arg2); + to = alloca(arg5); + memBBRd(arg4, to, arg5); + res = sendto(arg0, msg, arg2, arg3, to, arg5); + break; + } + case SYS_fstatfs: { /* 158 */ + /* int fstatfs(int fd, struct statfs *buf); */ + struct statfs64 buf64; + struct statfs buf; + res = fstatfs(arg0, &buf); + ntos_statfs(&buf, &buf64); + memBBWrt_alloc(arg1, (void*)&buf64, sizeof(buf64)); + break; + } + case SYS_stat: { /* 188 */ + /* int stat(char *path, struct stat *ub); */ + char path[PATH_MAX]; + struct stat64 sb64; + struct stat sb; + simroot(arg0, path, 0); + res = stat(path, &sb); + ntos_stat(&sb, &sb64); + memBBWrt_alloc(arg1, (void*)&sb64, sizeof(sb64)); + break; + } + case SYS_fstat: { /* 189 */ + /* int fstat(int fd, struct stat *sb); */ + struct stat64 sb64; + struct stat sb; + res = fstat(arg0, &sb); + ntos_stat(&sb, &sb64); + memBBWrt_alloc(arg1, (void*)&sb64, sizeof(sb64)); + break; + } + case SYS_lstat: { /* 190 */ + /* int lstat(char *path, struct stat *ub); */ + char path[PATH_MAX]; + struct stat64 sb64; + struct stat sb; + simroot(arg0, path, 0); + res = stat(path, &sb); + ntos_stat(&sb, &sb64); + memBBWrt_alloc(arg1, (void*)&sb64, sizeof(sb64)); + break; + } + case SYS_getrlimit: { /* 194 */ + /* int getrlimit(u_int which, struct rlimit *rlp); */ + struct rlimit rlp; + res = getrlimit(arg0, &rlp); + memBBWrt_alloc(arg1, (void*)&rlp, sizeof(rlp)); + break; + } + case SYS_getdirentries: { /* 196 */ + /* int getdirentries(int fd, char *buf, u_int count, + * long *basep); + */ + long64 basep64; + char *buf; + long basep; + buf = alloca(arg2); + res = getdirentries(arg0, buf, arg2, &basep); + memBBWrt_alloc(arg1, (void*)buf, arg2); + basep64 = basep; + memBBWrt_alloc(arg3, (void*)&basep64, sizeof(basep64)); + break; + } + case SYS_mmap: { /* 197 */ + /* caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, + * int fd, int pad, off_t pos); + */ + caddr_t addr; + ADDR arg, reloc; + addr = NULL; + reloc = arg0; + arg0 = fbsd_trunc_page(arg0); + reloc -= arg0; + arg1 += reloc; + arg6 -= reloc; + arg1 = fbsd_round_page(arg1); + /* Try to map where the process wants it. */ + arg = (arg0 != 0) ? verify_unmapped_pages(arg0, arg1) : 0; + if (arg == 0) { + if (arg3 & MAP_FIXED) + addr = unmap_mapped_pages(arg0, arg1); + else + arg0 = get_unmapped_pages(arg1); + } else + arg0 = arg; + if (arg0 == 0) { + errno = EINVAL; + res = -1; + break; + } + if (arg3 == MAP_STACK) + arg3 = MAP_ANON; + addr = mmap(addr, arg1, arg2, arg3, arg4, arg6); + if (addr != (void*)-1) { + for (arg = arg0; arg1 > 0; arg1 -= page_size) { + pmemMap(arg, addr); + arg += page_size; + addr += page_size; + } + *ret = arg0 + reloc; + goto out; + } + res = -1; + break; + } + case SYS_lseek: /* 199 */ + /* off_t lseek(int fd, int pad, off_t offset, int whence); */ + res = lseek(arg0, arg2, arg3); + break; + case SYS___sysctl: { /* 202 */ + /* int __sysctl(int *name, u_int namelen, void *old, + * size_t *oldlenp, void *new, size_t newlen); + */ + char *buf; + int *name; + size_t namelen, newlen, oldlen, *oldlenp; + void *new, *old; + namelen = arg1 << 2; + newlen = (arg4) ? arg5 : 0; + if (arg3 != 0L) { + memBBRd(arg3, (void*)&oldlen, sizeof(size_t)); + oldlenp = &oldlen; + } else { + oldlen = 0; + oldlenp = NULL; + } + buf = alloca(namelen + newlen + oldlen); + name = (void*)buf; + new = (newlen) ? buf + namelen : NULL; + old = (oldlen) ? buf + namelen + newlen : NULL; + memBBRd(arg0, (void*)name, namelen); + if (newlen) + memBBRd(arg4, new, newlen); + if (name[0] == CTL_HW && name[1] == HW_PAGESIZE && arg1 == 2) { + *oldlenp = sizeof(int); + *(int*)old = FBSD_PAGESIZE; + res = 0; + } else if (name[0] == CTL_KERN && name[1] == KERN_USRSTACK && + arg1 == 2) { + *oldlenp = sizeof(uint64_t); + *(uint64_t*)old = 0xA000000000000000ULL; + res = 0; + } else + res = sysctl(name, namelen >> 2, old, oldlenp, new, + newlen); + if (old != NULL) { + memBBWrt_alloc(arg3, (void*)oldlenp, sizeof(size_t)); + memBBWrt_alloc(arg2, old, oldlen); + } + break; + } + case SYS_poll: { /* 209 */ + /* int poll(struct pollfd *fds, u_int nfds, int timeout); */ + struct pollfd *fds; + size_t fdssz; + fdssz = arg1 * sizeof(struct pollfd); + fds = alloca(fdssz); + memBBRd(arg0, (void*)fds, fdssz); + res = poll(fds, arg1, arg2); + memBBWrt(arg0, (void*)fds, fdssz); + break; + } + case SYS_clock_gettime: { /* 232 */ + /* int clock_gettime(clockid_t clock_id, struct timespec *tp); + */ + struct timespec ts; + struct timespec64 ts64; + res = clock_gettime(arg0, &ts); + ntos_timespec(&ts, &ts64); + memBBWrt_alloc(arg1, (void*)&ts64, sizeof(ts64)); + break; + } + case SYS_issetugid: /* 253 */ + /* int issetugid(void); */ + *ret = issetugid(); + goto out; + case SYS_sigprocmask: { /* 340 */ + /* int sigprocmask(int how, const sigset_t *set, + * sigset_t *oset); + */ + sigset_t set, oset; + sigset_t *setp, *osetp; + if (arg1 != 0) { + setp = &set; + memBBRd(arg1, (void*)setp, sizeof(*setp)); + } else + setp = NULL; + osetp = (arg2 != 0) ? &oset : NULL; + res = sigprocmask(arg0, setp, osetp); + if (arg2 != 0) + memBBWrt_alloc(arg2, (void*)osetp, sizeof(*osetp)); + break; + } + case 416: { /* SYS_sigaction */ + /* int sigaction(int sig, const struct sigaction *act, + * struct sigaction *oact); + */ + struct sigaction64 sa; + if (arg2 != 0) { + res = signal_get_handler((int)arg0, &sa); + memBBWrt_alloc(arg2, (void*)&sa, sizeof(sa)); + } + if (arg1 != 0) { + memBBRd(arg1, (void*)&sa, sizeof(sa)); + res = signal_set_handler((int)arg0, &sa); + } + break; + } + default: + printf("syscall %d\n", num); + /* We'll give it a shot */ + res = __syscall(num, arg0, arg1, arg2, arg3, arg4, arg5); + break; + } + + if (res == -1) { + *ret = errno; + *status = ~0ULL; + } else + *ret = res; + + out: ; +#if 0 + printf(" = %llx,%llx\n", *status, *ret); +#endif +} diff --git a/src/freebsd/syscall.h b/src/freebsd/syscall.h new file mode 100644 index 0000000..fc1c65e --- /dev/null +++ b/src/freebsd/syscall.h @@ -0,0 +1,119 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_SYSCALL_H +#define _SKI_SYSCALL_H + +#define STAT64_USE_TIMESPEC 1 + +typedef long long long64 __attribute__((aligned(8))); +typedef long64 time64; + +struct timeval64 { + long64 tv_sec; + long64 tv_usec; +}; + +struct itimerval64 { + struct timeval64 it_interval; + struct timeval64 it_value; +}; + +struct rusage64 { + struct timeval64 ru_utime; + struct timeval64 ru_stime; + long64 ru_maxrss; + long64 ru_ixrss; + long64 ru_idrss; + long64 ru_isrss; + long64 ru_minflt; + long64 ru_majflt; + long64 ru_nswap; + long64 ru_inblock; + long64 ru_oublock; + long64 ru_msgsnd; + long64 ru_msgrcv; + long64 ru_nsignals; + long64 ru_nvcsw; + long64 ru_nivcsw; +}; + +struct timespec64 { + time64 tv_sec; + long64 tv_nsec; +}; + +struct stat64 { + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; +#if STAT64_USE_TIMESPEC + struct timespec64 st_atimespec; + struct timespec64 st_mtimespec; + struct timespec64 st_ctimespec; +#else + time64 st_atimesec; + long64 st_atimensec; + time64 st_mtimesec; + long64 st_mtimensec; + time64 st_ctimesec; + long64 st_ctimensec; +#endif + off_t st_size; + int64_t st_blocks; + uint32_t st_blksize; + uint32_t st_flags; + uint32_t st_gen; +}; + +struct statfs64 { + long64 f_bsize; + long64 f_iosize; + long64 f_blocks; + long64 f_bfree; + long64 f_bavail; + long64 f_files; + long64 f_ffree; + fsid_t f_fsid; + uid_t f_owner; + int f_type; + int f_flags; + long64 f_syncwrites; + long64 f_asyncwrites; + char f_fstypename[MFSNAMELEN]; + char f_mntonname[MNAMELEN]; + long64 f_syncreads; + long64 f_asyncreads; + char f_mntfromname[MNAMELEN]; +}; + +void ntos_itimerval(const struct itimerval *, struct itimerval64 *); +void ntos_rusage(const struct rusage *, struct rusage64 *); +void ntos_stat(const struct stat *, struct stat64 *); +void ntos_statfs(const struct statfs *, struct statfs64 *); +void ntos_timespec(const struct timespec *, struct timespec64 *); +void ntos_timeval(const struct timeval *, struct timeval64 *); + +void ston_itimerval(const struct itimerval64 *, struct itimerval *); +void ston_timeval(const struct timeval64 *, struct timeval *); + +#endif /* _SKI_SYSCALL_H */ diff --git a/src/hpux/dwarf-hpux.c b/src/hpux/dwarf-hpux.c new file mode 100644 index 0000000..2646716 --- /dev/null +++ b/src/hpux/dwarf-hpux.c @@ -0,0 +1,364 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator File DWARF Support Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include + +#include "std.h" +#include "types.h" +#include "exportui.h" +#include "coreui.h" +#define NPROC 1 +#include "program.h" + +#define FNAME_LEN 54 +#define EMPTY_FILENAME "???" +#define NOT_A_LINE 0xffffffff + +#if defined HAVE_DWARF_SUPPORT + +#include +#include + +/*##################### Datatypes ##########################################*/ + +#if 0 +typedef struct { + tgt_addr_t adr; + uint8 slot; + uint32 line; + uint32 col; + uint32 finx; +} DwLineRow_t; +#endif + +typedef struct { + int unit; + char *name; + BOOL prnerr; + tgt_addr_t low_pc, high_pc; + Dw_Line_Table *dwt; + char **files; +#if 0 + DwLineRow_t *dwrow; +#endif +} DwUnitInfo_t; + + +/*##################### Globals - Imports ##################################*/ + +extern PrgwMode prgwm; +extern unsigned cproc; + +/*##################### Globals - Exports ##################################*/ + +/*##################### Local Variables ####################################*/ + +static BOOL dwInfo; +static DwUnitInfo_t *unitTbl; +static unsigned nunits = 0; +static err_t err; +static Dw_Unit *gdwu; + +/*##################### Functions ##########################################*/ + +static void dwerr(char *msg) +{ + /* XXX - cmdErr() fails in X when the interface is not up yet. */ + if (interface == CURSES_INTERFACE) + cmdErr("%s: %s\n", msg, Dw_Error_message(err)); +} + +static int cmpDUaddr(const void *elm1, const void *elm2) +{ + const DwUnitInfo_t *dwu1 = elm1; + const DwUnitInfo_t *dwu2 = elm2; + + if (dwu1->low_pc == dwu2->low_pc) + return 0; + if (dwu1->low_pc < dwu2->low_pc) + return -1; + if (dwu1->low_pc > dwu2->low_pc) + return 1; + /*NOTREACHED*/ +} + +static unsigned getLines(ADDR ofs, DwUnitInfo_t *unit, char *srcln) +{ + Dw_Line_Table_Row dwrow; + Dw_File_Info dwfi; + unsigned i, startln, prevln = 1, count = 0; + char prevfn[80] = ""; + bool tblok; + char *p = srcln; + FILE *fp; + + unit->dwt = Dw_Line_Table_construct_empty(&err); + Dw_Unit_assign_line_table(gdwu, unit->dwt, &err); + Dw_Line_Table_reset(unit->dwt, &err); + if (err) { + dwerr("Reset Line Table"); + return 0; + } + do { + tblok = Dw_Line_Table_assign_next_row(unit->dwt, &dwrow, &err); + if (err) { + dwerr("Get next table row"); + break; + } + dwfi = Dw_Line_Table_file(unit->dwt, dwrow.file_info_index, &err); + if (err) { + dwerr("Get line table file"); + break; + } + if (strcmp(prevfn, dwfi.name)) { + (void)strcpy(prevfn, dwfi.name); + prevln = 1; + } + if (ofs == dwrow.address) { + if (!(fp = fopen(dwfi.name, "r"))) { + if (unit->prnerr) { + cmdErr("Couldn't open file '%s'. Was ski " + "started in the right directory?\n", + dwfi.name); + unit->prnerr = NO; + } + break; + } + if ((dwrow.line_num - prevln + 1) > prgRows/3) { + startln = dwrow.line_num - prgRows/3 + 2; + p += sprintf(p, "%03d ...\n", startln-1); + count = 1; + } else { + startln = prevln; + count = 0; + } + for (i = 1; i <= dwrow.line_num; i++) { + char tmpbuf[BUFSIZ]; + + if (fgets(tmpbuf, 160, fp) == NULL) { + cmdErr("Error reading '%s' line: %d\n", + dwfi.name, i); + break; + } + if (i >= startln && i <= dwrow.line_num) { + if (interface == CURSES_INTERFACE) { + tmpbuf[75] = '\n'; /* to fit in curses window */ + tmpbuf[76] = '\0'; + } + p += sprintf(p, "%03d %s", i, tmpbuf); + count++; + } + } + (void)fclose(fp); + } + prevln = dwrow.line_num + 1; + if (!tblok) /* end of table */ + break; + } while (ofs > dwrow.address); + + Dw_Line_Table_reset(unit->dwt, &err); + if (err) { + dwerr("Reset Line Table"); + srcln[0] = '\0'; + count = 0; + } + return count; +} + +static void getName(ADDR ofs, DwUnitInfo_t *unit, char *fname) +{ + Dw_Line_Table_Row dwrow; + Dw_File_Info dwfi; + bool tblok; + + fname[0] = '\0'; + unit->dwt = Dw_Line_Table_construct_empty(&err); + Dw_Unit_assign_line_table(gdwu, unit->dwt, &err); + Dw_Line_Table_reset(unit->dwt, &err); + if (err) { + dwerr("Reset Line Table"); + fname[0] = '\0'; + } + do { + tblok = Dw_Line_Table_assign_next_row(unit->dwt, &dwrow, &err); + if (err) { + dwerr("Get next table row"); + break; + } + dwfi = Dw_Line_Table_file(unit->dwt, dwrow.file_info_index, &err); + if (err) { + dwerr("Get line table file"); + break; + } + if (ofs <= dwrow.address) + (void)strcpy(fname, dwfi.name); + if (!tblok) /* end of table */ + break; + } while (ofs > dwrow.address); + Dw_Line_Table_reset(unit->dwt, &err); + if (err) { + dwerr("Reset Line Table"); + fname[0] = '\0'; + } +} + +void initDwUnitTbl(int fd) +{ + Dw_Image *dwi; + Dw_Unit *dwu; + unsigned i; + + dwInfo = NO; +#if 0 + return; +#endif + + dwi = Dw_Image_construct_from_elf(fd, &err); + if (err) { +#if 0 +/* XXX - can we distinguish real errors from just not having a DWARF section? */ + dwerr("Construct DWARF image"); +#endif + return; + } + + nunits = Dw_Image_get_num_units(dwi, &err); + if (err) { + dwerr("Get # of units"); + return; + } + + unitTbl = malloc(nunits * sizeof *unitTbl); + + for (i = 0; i < nunits; i++) { + dwu = Dw_Image_get_unit(dwi, i, &err); +gdwu = dwu; + if (err) { + dwerr("Get Unit"); + return; + } + unitTbl[i].unit = i; + unitTbl[i].name = Dw_Unit_get_name(dwu, &err); + if (err) { + dwerr("Get unit name"); + return; + } + unitTbl[i].prnerr = YES; + unitTbl[i].low_pc = Dw_Unit_get_low_pc(dwu, &err); + if (err) { + dwerr("Get unit low_pc"); + return; + } + unitTbl[i].high_pc = Dw_Unit_get_high_pc(dwu, &err); + if (err) { + dwerr("Get unit high_pc"); + return; + } + unitTbl[i].dwt = Dw_Line_Table_construct_empty(&err); + if (err) { + dwerr("Construct empty line table"); + Dw_Line_Table_destroy(unitTbl[i].dwt); + return; + } + Dw_Unit_assign_line_table(dwu, unitTbl[i].dwt, &err); + if (err) { + dwerr("Assign unit to line table"); + Dw_Line_Table_destroy(unitTbl[i].dwt); + return; + } + } + + /* Sort unitTbl to allow binary searches */ + qsort(unitTbl, nunits, sizeof *unitTbl, cmpDUaddr); + dwInfo = YES; +} + +/*------------------------------------------------------------------------ + * This routine returns the source lines that precede the executable address + * given and the number of lines is returned. The lines are returned in a + * statically allocated buffer. + * + * The routine has a caveat: + * - The routine returns a pointer to a static buffer of fixed size. + * There is always the possibility that the size of the source lines + * returned exceeds this size (causing havoc!). Change to use malloc? + * + * And possibilities to improve: + * - The search algorithms are linear. The performance of these + * algorithms can be improved by making them binary searches. + * + * - The line table is always accessed from the DWARF data structures. + * The performance can be improved by caching the line table. + *-----------------------------------------------------------------------*/ +char *getSrcLines(ADDR ofs, unsigned *count) +{ + unsigned i; + static char srcln[80 * 25]; /* 25 lines, 80 char/line */ + + *count = 0; + srcln[0] = '\0'; + if (dwInfo && prgwm != ASM) + for (i = 0; i < nunits; i++) + if (ofs >= unitTbl[i].low_pc && ofs < unitTbl[i].high_pc) + *count = getLines(ofs, &unitTbl[i], srcln); + return srcln; +} + +char *getSrcName(ADDR ofs) +{ + unsigned i; + static char fname[80]; + + fname[0] = '\0'; + if (dwInfo && prgwm != ASM) + for (i = 0; i < nunits; i++) + if (ofs >= unitTbl[i].low_pc && ofs < unitTbl[i].high_pc) + getName(ofs, &unitTbl[i], fname); + return fname; +} + +#else /* !defined HAVE_DWARF_SUPPORT */ + +char * +getSrcLines (ADDR ofs, unsigned *count) +{ + *count = 0; + return ""; +} + +char * +getSrcName (ADDR ofs) +{ + static char fname[FNAME_LEN]; + strcpy (fname, EMPTY_FILENAME); + return fname; +} + +void +initDwUnitTbl (int fd) +{ +} + +#endif /* !defined HAVE_DWARF_SUPPORT */ diff --git a/src/hpux/osload-hpux.c b/src/hpux/osload-hpux.c new file mode 100644 index 0000000..5eb4a58 --- /dev/null +++ b/src/hpux/osload-hpux.c @@ -0,0 +1,220 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "osload.h" +#include "state.h" +#include "sim.h" +#include "libcore.h" +#include "fields.h" + +extern char **environ; + +#define BSP32_ADDR 0x2000000062800000ULL +#define BSP64_ADDR 0x9FFFFFFF7F600000ULL + +#define LI_TRACE 0x2 + +#define SYSCALL_CODE 0xE000000000000000ULL + +#define ULD_TADDR 0x4000000080001000ULL +#define ULD_DADDR 0x4000000080100000ULL + +static int +os_elf_abi(int osabi, int set) +{ + BOOL abi; + + if (osabi != ELFOSABI_HPUX && osabi != ELFOSABI_STANDALONE) + return (0); + + abi = (osabi == ELFOSABI_HPUX) ? YES : NO; + if (set) + unixABI = abi; + else if (unixABI != abi) + return (0); + + return (1); +} + +int +os_elf32_abi(char *ident, Elf32_Ehdr *ehdr, int set) +{ + return (os_elf_abi(ident[EI_OSABI], set)); +} + +int +os_elf64_abi(char *ident, Elf64_Ehdr *ehdr, int set) +{ + return (os_elf_abi(ident[EI_OSABI], set)); +} + +ADDR +os_rtld32_text(Elf32_Phdr *phdr) +{ + return (ULD_TADDR); +} + +ADDR +os_rtld32_data(Elf32_Phdr *phdr) +{ + return (ULD_DADDR); +} + +ADDR +os_rtld64_text(Elf64_Phdr *phdr) +{ + return (ULD_TADDR); +} + +ADDR +os_rtld64_data(Elf64_Phdr *phdr) +{ + return (ULD_DADDR); +} + +int +os_setup_process(const char *file_name, int s_argc, char *s_argv[], + struct os_proc *proc) +{ + ADDR aout_path, aout_sz; + ADDR addr, arg_p, arg_sz, base_sp, loadinfoAddr; + ADDR sp, str_p, str_sz, sysvecAddr; + size_t argv_sz, env_sz; + unsigned int ptr_sz; + int i, n_env; + + ptr_sz = (lp64) ? sizeof(DWORD) : sizeof(WORD); + + sp = (lp64) ? 0xA000000000000000ULL : 0x2000000080000000ULL; + setMaxSP(sp); + + argv_sz = env_sz = 0; + for (i = 0; i < s_argc; i++) + argv_sz += strlen(s_argv[i]) + 1; + for (i = 0; environ[i]; i++) + env_sz += strlen(environ[i]) + 1; + n_env = i; + + aout_sz = strlen(file_name) + 1; + str_sz = argv_sz + env_sz + aout_sz; + arg_sz = (s_argc + n_env + 2) * ptr_sz; + arg_p = base_sp = (sp - (str_sz + arg_sz)) & ~(ADDR)0xF; + str_p = base_sp + arg_sz; + aout_path = sp - aout_sz; + + /* Allocate all necessary pages */ + for (addr = page_base(base_sp); addr < sp; addr += page_size) + memZerosPageSet(addr); + + (void)grSet(curPid, SP_ID, base_sp); + (void)grSet(curPid, 32, s_argc); + (void)grSet(curPid, 33, arg_p); + for (i = 0; i < s_argc; i++) { + memBBWrt(str_p, (BYTE *)s_argv[i], + strlen(s_argv[i]) + 1); + memMWrt(arg_p, ptr_sz, str_p); + str_p += strlen(s_argv[i]) + 1; + arg_p += ptr_sz; + } + memMWrt(arg_p, ptr_sz, 0); + arg_p += ptr_sz; + + (void)grSet(curPid, 34, arg_p); + for (i = 0; environ[i]; i++) { + memBBWrt(str_p, (BYTE *)environ[i], + strlen(environ[i]) + 1); + memMWrt(arg_p, ptr_sz, str_p); + str_p += strlen(environ[i]) + 1; + arg_p += ptr_sz; + } + memMWrt(arg_p, ptr_sz, 0); + + memBBWrt(aout_path, (BYTE *)file_name, aout_sz); + + if (lp64) { + loadinfoAddr = 0xE000000000001000ULL; + sysvecAddr = 0xE000000000002000ULL; + } else { + loadinfoAddr = BSP32_ADDR - 0x10000ULL; + sysvecAddr = loadinfoAddr + 0x1000ULL; + } + memZerosPageSet(SYSCALL_CODE); + memZerosPageSet(loadinfoAddr); + memZerosPageSet(sysvecAddr); + /* To support up to 1024 syscalls, need a second sysvec page */ + memZerosPageSet(sysvecAddr+page_size); + (void)grSet(curPid, 35, loadinfoAddr); + + /* Syscall entrypoint table */ + /* XXX - in the future, might be only 512 syscalls (should also use + a #define for the max syscall number) */ + for (i = 0; i < 1024; i++) + memMWrt(sysvecAddr + i*8, 8, SYSCALL_CODE); + + /* Handcoded bundle: + break.m 0x0 + nop.f 0x0 + br.ret.sptk.few b6;; + */ + memMWrt(SYSCALL_CODE+0, 8, 0x1D00000000000000ULL); + memMWrt(SYSCALL_CODE+8, 8, 0x0002008060008400ULL); + + /* Fill in load_info struct */ + memMWrt(loadinfoAddr+0x00, 8, 1ULL); + memMWrt(loadinfoAddr+0x08, 8, 0x90ULL); + memMWrt(loadinfoAddr+0x10, 8, 0ULL); + memMWrt(loadinfoAddr+0x18, 8, aout_path); + memMWrt(loadinfoAddr+0x20, 8, proc->aout_base); + memMWrt(loadinfoAddr+0x28, 8, proc->aout_phdr); + memMWrt(loadinfoAddr+0x30, 8, ULD_TADDR); + memMWrt(loadinfoAddr+0x38, 8, ULD_DADDR); + memMWrt(loadinfoAddr+0x40, 8, 0ULL); /* user_sendsig text addr */ + memMWrt(loadinfoAddr+0x48, 8, 0ULL); /* user_sendsig text size */ + memMWrt(loadinfoAddr+0x50, 8, 0ULL); /* user_sendsig unwind info */ + memMWrt(loadinfoAddr+0x58, 8, (unsigned long long)LI_TRACE); + memMWrt(loadinfoAddr+0x60, 8, 0ULL); /* service manager */ + memMWrt(loadinfoAddr+0x68, 8, 0ULL); /* DLD text */ + memMWrt(loadinfoAddr+0x70, 8, 0ULL); /* DLD data */ + memMWrt(loadinfoAddr+0x78, 8, 0ULL); /* RSE backing store start */ + memMWrt(loadinfoAddr+0x80, 8, 0ULL); /* Private MMF start */ + memMWrt(loadinfoAddr+0x88, 8, 0ULL); /* PA entry address */ + + /* Place location of sysvec table in ar.k7 */ + arSet(curPid, K7_ID, sysvecAddr); + + /* Backing Store */ + if (lp64) { + (void)arSet(curPid, BSP_ID, BSP64_ADDR); + (void)arSet(curPid, BSPST_ID, BSP64_ADDR); + } else { + (void)arSet(curPid, BSP_ID, BSP32_ADDR); + (void)arSet(curPid, BSPST_ID, BSP32_ADDR); + } + + if ((proc->ehdr_flags & EF_IA_64_TRAPNIL) == 0) + memZerosPageSet(0); + + return (0); +} diff --git a/src/hpux/syscall-hpux.c b/src/hpux/syscall-hpux.c new file mode 100644 index 0000000..8d48c07 --- /dev/null +++ b/src/hpux/syscall-hpux.c @@ -0,0 +1,3106 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator System Call Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#ifdef HPUX9 +#include /* For getdirentries */ +#endif +#include /* Also #includes on PA */ +#ifdef __ia64 +#include +#endif +#include +#include +#include +#include +#include +#include /* Also #includes */ +#include +#if !defined(__ia64) && !defined(HPUX1100) +#include /* For struct export because nfs.h references it! */ +#endif +#include /* For getdomainname */ +#ifndef HPUX9 +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "std.h" +#include "bits.h" +#include "types.h" +#undef B0 /* from sys/???.h */ +#include "fields.h" +#include "state.h" +#include "ssc.h" +#include "sim.h" /* For Status used in memory.h & progExit; preInst */ +#include "libcore.h" +#include "os_support.h" +#include "memory.h" +#include "lp64struct.h" +#include "libui.h" + +/* Prototypes for *64 functions */ +off64_t lseek64(int, off64_t, int); + +typedef struct { + WORD year; + WORD mon; + WORD mday; + WORD hour; + WORD min; + WORD sec; + WORD msec; + WORD wday; +} SscTime; + +typedef struct { + WORD ssc_Sec; + WORD ssc_Usec; +} SscTimeval; + +typedef struct { + WORD ssc_Minuteswest; + WORD ssc_Dsttime; +} SscTimezone; + +typedef struct { + ADDR addr; + WORD len; +} SscDiskReq; + +typedef struct { + unsigned fd; + WORD count; +} SscDiskStat; + +static struct { + ADDR buff; + size_t len, off; + unsigned scale; +} prof[5]; + +/* XXX - move these (and following prototypes) to .h file? */ +extern BOOL intrsim, extint, kybdint; + +void mmapSyms(int, ADDR, ADDR, ADDR); +void munmapSyms(ADDR, ADDR); +void dynBlock(ADDR, ADDR); +void clearPdecode(ADDR adr, unsigned size); +BOOL acceptIrpt(void); +void memMPMap(ADDR, char *, size_t); + +extern void memFree (ADDR); +extern void memFreeAll(void); +extern void resetState(int); +extern BOOL elfLoad(const char *file_name, int s_argc, char *s_argv[]); + +extern int getdents (unsigned int, void*, unsigned int); +extern int getdomainname(char *, int); + + +#if 0 +#define FAIL_FIXED_MMAPS +#endif +#ifndef MAP_FAILED /* defined in mman.h on 11.0 */ +#define MAP_FAILED (void *)-1L +#endif +#ifndef MAP_NORESERVE /* defined in mman.h on 11.0 */ +#define MAP_NORESERVE 0x400 +#endif + +#define ADDPTR(addr) (lp64 \ + ? addr \ + : (BitfX(addr,32,32) | BitfX(addr,32,2) << 61)) + +#define INITMALLOC 2048 /* size of initial malloc for malargbuf */ +#define MAXIRPT 30 /* size of interrupts array */ +#define FDMAX 1024 /* file descriptors array size */ + +#define SIZE_FD(n) ((((n)/32)+1)*4) + +/* XXX - move to ssc.h */ +#define SSC_STOP 0 + +#define SYS_SIGCLEANUP 139 /* Under #define _KERNEL in sys/syscall.h */ +#ifdef HPUX9 +#define SYS_GETDENTS 356 +#ifdef NEW_MP +#define SYS_WAITID 382 +#endif +#define MAP_SHLIB 0x40 +#endif +#ifndef HPUX1020 +#define SYS_FCNTL64 359 +#define SYS_FTRUNCATE64 360 +#define SYS_FSTAT64 361 +#define SYS_GETDIRENTRIES64 362 +#define SYS_GETRLIMIT64 363 +#define SYS_LOCKF64 364 +#define SYS_LSEEK64 365 +#define SYS_LSTAT64 366 +#define SYS_MMAP64 367 +#define SYS_SETRLIMIT64 368 +#define SYS_STAT64 369 +#define SYS_TRUNCATE64 370 +#define SYS_ULIMIT64 371 +#endif +#ifdef HPUX1020 +#undef SYS_LWP_GETPRIVATE +#undef SYS_LWP_SETPRIVATE +#endif +#ifndef HPUX1100 +#define SYS_LWP_GETPRIVATE 67 +#define SYS_LWP_SETPRIVATE 68 +#define SYS_SIGINHIBIT 491 +#define SYS_SIGENABLE 492 +#endif +/* XXX - recent BEs define SYS_SPROFIL; older BEs may have used + 515 implicitly? */ +#ifndef SYS_SPROFIL +#define SYS_SPROFIL 540 +#endif +/* XXX - This is only if we want to support older executables before profil + got merged in with sprofil; current IA-64 headers don't have profil + */ +#ifndef SYS_PROFIL +#define SYS_PROFIL 44 +#endif + +/* Renumbered syscalls */ +#undef SYS_LWP_SELF /* 394 */ +#define SYS_LWP_SELF 147 + +/* New syscalls */ +#ifndef SYS_PSET_CTL +#define SYS_PSET_CTL 524 +#endif +#ifndef SYS_LWP_MUTEX_INIT2 +#define SYS_LWP_MUTEX_INIT2 253 +#endif + +#define PROF_USHORT 1 +#define PROF_UINT 2 + +/* From SWDEV4's /usr/include/sys/unistd.h */ +#ifndef CPU_HP_INTEL_EM_1_0 +#define CPU_HP_INTEL_EM_1_0 0x300 +#endif + +/* Defines not in system headers */ +#ifndef HPUX9 +#define _SI_MACHINE_MODEL 5 +#endif +#ifndef _SC_THREAD_THREADS_MAX +#define _SC_THREAD_KEYS_MAX 431 +#define _SC_THREAD_STACK_MIN 432 +#define _SC_THREAD_THREADS_MAX 433 +#endif +#ifndef PTHREAD_STACK_MIN +#define PTHREAD_STACK_MIN 4096 +#define PTHREAD_KEYS_MAX 128 +#endif +#ifndef MPC_GETLWP_BINDINGTYPE +#define MPC_GETLWP_BINDINGTYPE 12 +#endif + +/* Prototypes for syscalls not in system headers */ +int _utssys(char *, int, int); +int getmount_cnt(time_t *); +int getmount_entry(ulong_t, BYTE *, BYTE *, struct mount_data *, char *); +#ifndef HPUX9 +int lchmod(const char *, mode_t); /* Belongs in sys/stat.h */ +int sysinfo(int, BYTE *, size_t); +#endif + +static struct { + short type; + short irrBit; +} irptTbl[MAXIRPT]; +static unsigned irptTop = 0; + +static unsigned clkTmr = 0; /* for clock interrupts */ +static unsigned profTmr = 0; /* for profile interrupts */ +static SscReqNode *sscNew = NULL; +static SscReqNode *sscDiskDone = NULL; +SscReqNode *sscPend = NULL; + +ADDR sigHdlr = ~0ULL; +CTR alarm_insts = ~0ULL, alarm_interval; +CTR prof_insts = ~0ULL; +static CTR prof_interval; +static DWORD prof_mask, prof_maxcnt; +#define PRE_ALARM 16 +#define PRE_PROFIL 64 + +static pid_t cons_pid = -1; +static int cfd; +static struct termios origttyIos; +BOOL noConsole = NO; +char *consLog = NULL; + +#ifdef NEW_MP +extern int numpids; +static struct { + int fdmap[FDMAX]; +} fdMPstate[4]; +#define fdmap fdMPstate[curPid].fdmap +#else +static int fdmap[FDMAX] = {0, 1, 2}; +#endif +struct { + char *name; + int oflag; + mode_t mode; + off_t offset; +} fdInfo[FDMAX]; + +static BYTE *malargbuf; +static size_t malargbufsize = 0; + +#ifdef OLD_WAY +static ADDR shm_addr = 0x40000000B0000000ULL; +#endif + +static void setStatReturn(REG *ret, REG *status) +{ + if ((int)*status == -1) + *ret = errno; + else { + *ret = *status; + *status = 0; + } +} + +static BYTE *stat32to64(struct stat ilp32stat) +{ + unsigned i; + static struct stat64 lp64stat = {0}; + + lp64stat.st_dev = ilp32stat.st_dev; + lp64stat.st_ino = ilp32stat.st_ino; + lp64stat.st_mode = ilp32stat.st_mode; + lp64stat.st_nlink = ilp32stat.st_nlink; + lp64stat.st_reserved1 = ilp32stat.st_reserved1; + lp64stat.st_reserved2 = ilp32stat.st_reserved2; + lp64stat.st_rdev = ilp32stat.st_rdev; + lp64stat.st_size = ilp32stat.st_size; + lp64stat.st_atime = ilp32stat.st_atime; + lp64stat.st_spare1 = ilp32stat.st_spare1; + lp64stat.st_mtime = ilp32stat.st_mtime; + lp64stat.st_spare2 = ilp32stat.st_spare2; + lp64stat.st_ctime = ilp32stat.st_ctime; + lp64stat.st_spare3 = ilp32stat.st_spare3; + lp64stat.st_blksize = ilp32stat.st_blksize; + lp64stat.st_blocks = ilp32stat.st_blocks; + lp64stat.st_pad = ilp32stat.st_pad; + lp64stat.st_acl = ilp32stat.st_acl; + lp64stat.st_remote = ilp32stat.st_remote; + lp64stat.st_netdev = ilp32stat.st_netdev; + lp64stat.st_netino = ilp32stat.st_netino; + lp64stat.st_cnode = ilp32stat.st_cnode; + lp64stat.st_rcnode = ilp32stat.st_rcnode; + lp64stat.st_netsite = ilp32stat.st_netsite; + lp64stat.st_fstype = ilp32stat.st_fstype; + lp64stat.st_realdev = ilp32stat.st_realdev; + lp64stat.st_basemode = ilp32stat.st_basemode; + lp64stat.st_spareshort = ilp32stat.st_spareshort; + lp64stat.st_uid = ilp32stat.st_uid; + lp64stat.st_gid = ilp32stat.st_gid; + for (i = 0; i < _SPARE4_SIZE; i++) + lp64stat.st_spare4[i] = ilp32stat.st_spare4[i]; + + return (BYTE *)&lp64stat; +} + +static BYTE *stat32to64x(struct stat ilp32stat) +{ + unsigned i; + static struct stat64x lp64stat = {0}; + + lp64stat.st_dev = ilp32stat.st_dev; + lp64stat.st_ino = ilp32stat.st_ino; + lp64stat.st_mode = ilp32stat.st_mode; + lp64stat.st_nlink = ilp32stat.st_nlink; + lp64stat.st_reserved1 = ilp32stat.st_reserved1; + lp64stat.st_reserved2 = ilp32stat.st_reserved2; + lp64stat.st_rdev = ilp32stat.st_rdev; + lp64stat.st_size = ilp32stat.st_size; + lp64stat.st_atime = ilp32stat.st_atime; + lp64stat.st_spare1 = ilp32stat.st_spare1; + lp64stat.st_mtime = ilp32stat.st_mtime; + lp64stat.st_spare2 = ilp32stat.st_spare2; + lp64stat.st_ctime = ilp32stat.st_ctime; + lp64stat.st_spare3 = ilp32stat.st_spare3; + lp64stat.st_blksize = ilp32stat.st_blksize; + lp64stat.st_blocks = ilp32stat.st_blocks; + lp64stat.st_pad = ilp32stat.st_pad; + lp64stat.st_acl = ilp32stat.st_acl; + lp64stat.st_remote = ilp32stat.st_remote; + lp64stat.st_netdev = ilp32stat.st_netdev; + lp64stat.st_netino = ilp32stat.st_netino; + lp64stat.st_cnode = ilp32stat.st_cnode; + lp64stat.st_rcnode = ilp32stat.st_rcnode; + lp64stat.st_netsite = ilp32stat.st_netsite; + lp64stat.st_fstype = ilp32stat.st_fstype; + lp64stat.st_realdev = ilp32stat.st_realdev; + lp64stat.st_basemode = ilp32stat.st_basemode; + lp64stat.st_spareshort = ilp32stat.st_spareshort; + lp64stat.st_uid = ilp32stat.st_uid; + lp64stat.st_gid = ilp32stat.st_gid; + for (i = 0; i < _SPARE4_SIZE; i++) + lp64stat.st_spare4[i] = ilp32stat.st_spare4[i]; + + return (BYTE *)&lp64stat; +} + +static BYTE *ustat32to64(BYTE *buf) +{ + struct ustat *ilp32ustat = (struct ustat *)buf; + static struct ustat64 lp64ustat; + + lp64ustat.f_tfree = ilp32ustat->f_tfree; + lp64ustat.f_tinode = ilp32ustat->f_tinode; + (void)strcpy(lp64ustat.f_fname, ilp32ustat->f_fname); + (void)strcpy(lp64ustat.f_fpack, ilp32ustat->f_fpack); + lp64ustat.f_blksize = ilp32ustat->f_blksize; + + return (BYTE *)&lp64ustat; +} + +static struct flock *flock64to32(BYTE *buf) +{ + struct flock64 *lp64flock = (struct flock64 *)buf; + static struct flock ilp32flock; + + ilp32flock.l_type = lp64flock->l_type; + ilp32flock.l_whence = lp64flock->l_whence; + ilp32flock.l_start = lp64flock->l_start; + ilp32flock.l_len = lp64flock->l_len; + ilp32flock.l_pid = lp64flock->l_pid; + + return &ilp32flock; +} + +static BYTE *flock32to64(BYTE *buf) +{ + struct flock *ilp32flock = (struct flock *)buf; + static struct flock64 lp64flock; + + lp64flock.l_type = ilp32flock->l_type; + lp64flock.l_whence = ilp32flock->l_whence; + lp64flock.l_start = ilp32flock->l_start; + lp64flock.l_len = ilp32flock->l_len; + lp64flock.l_pid = ilp32flock->l_pid; + + return (BYTE *)&lp64flock; +} + +static struct timeval *timeval64to32(BYTE *buf) +{ + struct timeval64 *lp64tv = (struct timeval64 *)buf; + static struct timeval ilp32tv; + + ilp32tv.tv_sec = lp64tv->tv_sec; + ilp32tv.tv_usec = lp64tv->tv_usec; + return &ilp32tv; +} + +#if 0 +static BYTE *timeval32to64(struct timeval tv) +{ + static struct timeval64 tv64; + + tv64.tv_sec = tv.tv_sec; + tv64.tv_usec = tv.tv_usec; + return (BYTE *)&tv64; +} +#endif + +static BYTE *rlimit32to64(struct rlimit *rlp) +{ + static struct rlimit64 rlim64; + + rlim64.rlim_cur = rlp->rlim_cur; + rlim64.rlim_max = rlp->rlim_max; + return (BYTE *)&rlim64; +} + +static struct rlimit rlimit64to32(struct rlimit64 *rlp64) +{ + struct rlimit rlim; + + rlim.rlim_cur = rlp64->rlim_cur; + rlim.rlim_max = rlp64->rlim_max; + return rlim; +} + +static fd_set mapSelectFds(BYTE *buf, int num) +{ + int i; + fd_set fds; + + FD_ZERO(&fds); + for (i = 0; i < num; i++) + if (FD_ISSET(i, (fd_set *)buf)) + FD_SET(fdmap[i], &fds); + return fds; +} + +static int getShmSz(int shmid) +{ + struct shmid_ds buf; + + shmctl(shmid, IPC_STAT, &buf); + return buf.shm_segsz; +} + +#ifdef HPUX9 +static int getDirEnts(int fd, BYTE *buf, int len) +{ + int i, n, slen; + struct direct *directbuf; + unsigned short reclen; + BYTE *p, *q; + off_t base; + + if (!(directbuf = malloc(len))) { + printf("malloc failed\n"); /* XXX - what should we do? */ + return 0; + } + n = getdirentries(fd, directbuf, (size_t)len/2, &base); + p = (BYTE *)directbuf; + q = buf; + for (i = 0; i < n;) { + slen = ((struct direct *)p)->d_reclen - 8; + (void)memset(q, 0, 8); q += 8; + (void)memcpy(q, p, 4); q += 4; p += 4; i += 4; /* fileno */ + + reclen = (((unsigned)*p * 256) | (unsigned)*(p+1) & 0xFF) + + ((slen % 8 == 4) ? 12 : 8); + *q = reclen >> 8; + *(q+1) = reclen & 0xFF; + q += 2; p += 2; i += 2; + + (void)memcpy(q, p, 2); q += 2; p += 2; i += 2; /* namlen */ + (void)memcpy(q, p, slen); q += slen; p += slen; i += slen; + if (slen % 8 == 4) { + (void)memset(q, 0, 4); q += 4; + } + } + free(directbuf); + return q - buf; +} +#endif + +static char *copyArg(REG arg) +{ + static BYTE buf[32768]; + + if (arg) { + memBBRd(ADDPTR(arg), buf, 0); + return (char *)buf; + } else + return NULL; +} + +static BOOL mmapOverlap(ADDR adr, REG size) +{ + ADDR start, end, a; + DWORD junk; + + start = page_base(ADDPTR(adr)); + end = page_base(ADDPTR(adr)+size-1); + for (a = start; a <= end; a += page_size) + if (memMRd(a, 1, &junk)) /* page exists */ + return YES; + return NO; +} + +void profCnt(void) +{ + ADDR baddr, offset, cntaddr; + unsigned bucket; + HWORD cnt2; + DWORD cnt8; + + prof_insts += prof_interval; + baddr = ip & ~0xFULL; + if (prof[0].scale < 2 || baddr < prof[0].off) + return; + offset = baddr - prof[0].off; + bucket = (((offset >> 4) * prof[0].scale) >> 12) & prof_mask; + if (bucket >= prof[0].len) + return; + cntaddr = prof[0].buff + bucket; + if (!memMRd(cntaddr, 2, &cnt8)) { + prof[0].scale = 0; + return; + } + cnt2 = cnt8; + if (cnt2 < prof_maxcnt) { + cnt2++; + if (!memMWrt(cntaddr, 2, cnt2)) + prof[0].scale = 0; + } +} + +static void chkMalargbuf(size_t len) +{ + /* make sure we have enough space in malargbuf */ + if (len > malargbufsize) { + if (!(malargbuf = realloc(malargbuf, len))) + return; /* XXX - set errno? */ + malargbufsize = len; + } +} + +static void execLoad(ADDR arg0, ADDR arg1, ADDR arg2) +{ + BYTE buf[128], buf3[1024]; + char *buf2[64], **argvp = buf2; + BYTE *argp = buf3; + unsigned argcnt = 0; + static unsigned ptrSz = 0; + ADDR argvAddr; + + if (!ptrSz) + ptrSz = lp64 ? 8 : 4; + memBBRd(ADDPTR(arg0), buf, 0); + /* XXX - handle arg2 which points at environment */ + while (1) { + if (lp64) + memBBRd(arg1, (BYTE *)&argvAddr, ptrSz); + else { + argvAddr = 0; + memBBRd(ADDPTR(arg1), (BYTE *)&argvAddr+ptrSz, ptrSz); + } + *argvp = (char *)argp; + if (!argvAddr) { + *argvp = 0; + break; + } + memBBRd(ADDPTR(argvAddr), argp, 0); + arg1 += ptrSz; + argvp++; + argp += strlen((char *)argp) + 1; + argcnt++; + } + memFreeAll(); +#ifdef NEW_MP + numpids--; +#endif + resetState(0); + elfLoad((char *)buf, argcnt, (char **)buf2); +#ifdef NEW_MP + initAppState(numpids-1); +#endif +} + +void saveOpenFiles(FILE *f) +{ + unsigned i, offset; + + for (i = 3; i < FDMAX; i++) { + if (!fdInfo[i].name) + continue; +#if 0 + fsync(fdmap[i]); +#endif + offset = lseek(fdmap[i], 0, SEEK_CUR); + fprintf(f, "ski_file %s %o %o %x\n", fdInfo[i].name, + fdInfo[i].oflag, fdInfo[i].mode, offset); + } +} + +void restoreOpenFile(char *name, unsigned oflag, unsigned mode, unsigned offset) +{ + int fd; + + fd = open(name, oflag, mode); + lseek(fd, offset, SEEK_SET); + fdmap[fd] = fd; +} + +void doSyscall(HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG arg4, + REG arg5, REG arg6, REG arg7, REG *ret, REG *status) +{ + BYTE buf[32768], buf2[32768]; + char msg[100]; + int size, pfd[2]; + size_t nbytes; + struct stat statbuf; + struct tms tmsbuf; + struct utimbuf utimbuf; + struct timeval *tmout; +#if 0 + struct timeval tvbuf; + struct timezone tzbuf; +#endif + struct rlimit rlimbuf; + struct rusage rusgbuf; + fd_set readfds, writefds, errorfds, *rfds, *wfds, *efds; + struct mount_data mdata; + static BOOL lgf; +#ifdef NEW_MP + static BOOL firstsyscall[4] = {YES, YES, YES, YES}; + static ADDR anon_mmapMP[4]; +#define anon_mmap anon_mmapMP[curPid] +#else + static ADDR anon_mmap; +#endif + +#ifdef NEW_MP + if (firstsyscall[curPid]) { + int i; + + firstsyscall[curPid] = NO; + fdmap[0] = 0; + fdmap[1] = 1; + fdmap[2] = 2; + for (i = 3; i < FDMAX; i++) + fdmap[i] = -1; + anon_mmap = lp64 ? 0x9FFFFFFF7F600000ULL : 0x200000006A7F0000ULL; + } +#endif + /* initialize malargbuf ptr if necessary */ + if (malargbufsize == 0) { + int i; + struct utsname name; + char dummy; + int ver, rev; + +#ifndef NEW_MP + for (i = 3; i < FDMAX; i++) +#ifdef HOST_MAP + fdmap[i] = -1; +#else + fdmap[i] = i; +#endif +#endif + for (i = 3; i < FDMAX; i++) + fdInfo[i].name = NULL; + if (!(malargbuf = malloc(INITMALLOC))) + return; /* XXX - set errno? */ + malargbufsize = INITMALLOC; + uname(&name); + sscanf(name.release, "%c.%d.%d", &dummy, &ver, &rev); + lgf = ver >= 11 || (ver == 10 && rev >= 20); +#ifndef NEW_MP + anon_mmap = lp64 ? 0x9FFFFFFF7F600000ULL : 0x200000006A7F0000ULL; +#endif + prof_interval = 10000 * mips; + } + +#if 0 + num &= ~0x400; +#endif + switch (num) { + case SYS_ACCEPT: + memBBRd(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + if (arg1) { + *status = accept(fdmap[arg0], buf, &size); + memBBWrt(ADDPTR(arg1), buf, size); + } else + *status = accept(fdmap[arg0], NULL, &size); + memBBWrt(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + setStatReturn(ret, status); + break; + case SYS_ACCESS: + *status = access(copyArg(arg0), arg1); + setStatReturn(ret, status); + break; + case SYS_ALARM: + if (arg0 > MAX_ALARM) + arg0 = MAX_ALARM; + if (arg0) { + alarm_interval = arg0 * 1000000 * mips; + alarm_insts = total_insts + alarm_interval; + preInst |= PRE_ALARM; + } else { + alarm_insts = ~0ULL; + preInst &= ~PRE_ALARM; + } + /* XXX - need to return time left */ + *ret = 0; + *status = 0; + break; + case SYS_BIND: + memBBRd(ADDPTR(arg1), buf, arg2); + *status = bind(fdmap[arg0], buf, arg2); + setStatReturn(ret, status); + break; + case SYS_BRK: + arg0 = ADDPTR(arg0); + if (arg0 > heap) { + ADDR adr; + + for (adr = page_base(heap); adr < arg0; adr += page_size) + (void)pmemLookup_p(adr); + } + heap = arg0; + *status = 0; + *ret = 0; + break; + case SYS_CHDIR: + memBBRd(ADDPTR(arg0), buf, 0); + *status = chdir((char *)buf); + setStatReturn(ret, status); + break; + case SYS_CHMOD: + memBBRd(ADDPTR(arg0), buf, 0); + *status = chmod((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_CHOWN: + memBBRd(ADDPTR(arg0), buf, 0); + *status = chown((char *)buf, arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_CHROOT: + memBBRd(ADDPTR(arg0), buf, 0); + *status = chroot((char *)buf); + setStatReturn(ret, status); + break; + case SYS_CLOSE: + if (fdmap[arg0] > 2) { /* don't close stdin, stdout, stderr */ + *status = close(fdmap[arg0]); +#if 0 +fprintf(stderr, "closing file with fd %d (host fd %d)\n", (int)arg0, fdmap[arg0]); +#endif + fdmap[arg0] = -1; + } else + *status = 0; + setStatReturn(ret, status); + break; + case SYS_CONNECT: + memBBRd(ADDPTR(arg1), buf, arg2); + *status = connect(fdmap[arg0], (char *)buf, arg2); + setStatReturn(ret, status); + break; + case SYS_CREAT: + memBBRd(ADDPTR(arg0), buf, 0); + *status = creat((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_DUP: + *status = dup(fdmap[arg0]); + setStatReturn(ret, status); + break; + case SYS_DUP2: + *status = dup2(fdmap[arg0], fdmap[arg1]); + setStatReturn(ret, status); + break; + case SYS_EXECVE: + execLoad(arg0, arg1, arg2); + /*symListFree();*/ + progPause(); + break; + case SYS_EXIT: + ip += 4; +#ifdef NEW_MP + mpState[curPid].status_ = arg0 << 8; + progExit("pid %u exited with status %d\n", curPid+2, (int)arg0); +#else + GrWrtx(8, arg0, 0); + progExit("program exited with status %d\n", (int)arg0); +#endif + break; + case SYS_FCHDIR: + *status = fchdir(fdmap[arg0]); + setStatReturn(ret, status); + break; + case SYS_FCHMOD: + *status = fchmod(fdmap[arg0], arg1); + setStatReturn(ret, status); + break; + case SYS_FCHOWN: + *status = fchown(fdmap[arg0], arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_FCNTL: + if (arg1 == F_GETLK || arg1 == F_SETLK || arg1 == F_SETLKW) { + if (!arg2) { + DWORD junk; + + errno = memMRd(0, 1, &junk) ? EINVAL : EFAULT; + *status = -1; + } else if (lp64) { + memBBRd(arg2, buf, sizeof (struct flock64)); + *status = fcntl(fdmap[arg0], arg1, flock64to32(buf)); + memBBWrt(arg2, flock32to64(buf), sizeof (struct flock64)); + } else { + memBBRd(ADDPTR(arg2), buf, sizeof (struct flock)); + *status = fcntl(fdmap[arg0], arg1, buf); + memBBWrt(ADDPTR(arg2), buf, sizeof (struct flock)); + } + } else + *status = fcntl(fdmap[arg0], arg1, arg2); + setStatReturn(ret, status); + break; +#ifdef NEW_MP + case SYS_FORK: + newPid(); + memFork(curPid, numpids-1); + stateFork(curPid, numpids-1); + *ret = numpids+1; /* new pid of child */ + GrWrtx(9, 0, 0); /* GR9 = 0 indicates parent */ + *status = 0; + break; +#endif + case SYS_FPATHCONF: + *status = fpathconf(fdmap[arg0], arg1); + setStatReturn(ret, status); + break; + case SYS_FSTAT: + case SYS_FSTAT64: + *status = fstat(fdmap[arg0], &statbuf); +#ifdef CONSTANT_TIME +statbuf.st_atime = statbuf.st_mtime; +#endif + if ((int)*status != -1) { + if (lp64) + memBBWrt(arg1, stat32to64(statbuf), sizeof(struct stat64)); + else if (num == SYS_FSTAT64) + memBBWrt(ADDPTR(arg1), stat32to64x(statbuf), sizeof(struct stat64x)); + else + memBBWrt(ADDPTR(arg1), (BYTE *)&statbuf, sizeof(statbuf)); + } + setStatReturn(ret, status); + break; + case SYS_FSYNC: + /* XXX - call __fsync_sys on 11.x? */ + *status = fsync(fdmap[arg0]); + setStatReturn(ret, status); + break; + case SYS_FTRUNCATE: + *status = ftruncate(fdmap[arg0], arg1); + setStatReturn(ret, status); + break; + case SYS_FTRUNCATE64: + *status = ftruncate(fdmap[arg0], arg2); + setStatReturn(ret, status); + break; + case SYS_GETDENTS: + chkMalargbuf(arg2); +#ifdef HPUX9 + *status = getDirEnts(fdmap[arg0], malargbuf, arg2); +#else + *status = getdents(fdmap[arg0], malargbuf, arg2); +#endif + memBBWrt(ADDPTR(arg1), malargbuf, arg2); + setStatReturn(ret, status); + break; + case SYS_GETDOMAINNAME: + chkMalargbuf(arg1); + *status = getdomainname((char *)malargbuf, arg1); + memBBWrt(ADDPTR(arg0), malargbuf, arg1); + setStatReturn(ret, status); + break; + case SYS_GETGID: + *ret = getgid(); + GrWrtx(9, getegid(), 0); + *status = 0; + break; + case SYS_GETMOUNT_CNT: + if (arg0) { + *status = getmount_cnt((time_t *)buf); + memBBWrt(ADDPTR(arg0), buf, sizeof (time_t)); + } else + *status = getmount_cnt(NULL); + setStatReturn(ret, status); + break; + case SYS_GETMOUNT_ENTRY: + *status = getmount_entry(arg0, buf, buf2, &mdata, copyArg(arg4)); + memBBWrt(ADDPTR(arg1), buf, strlen((char *)buf)+1); + memBBWrt(ADDPTR(arg2), buf2, strlen((char *)buf2)+1); + /*memBBWrt(ADDPTR(arg3), (BYTE *)&mdata, sizeof (struct mdata));*/ + setStatReturn(ret, status); + break; + case SYS_GETPEERNAME: + memBBRd(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + if (arg1) { + *status = getpeername(fdmap[arg0], buf, &size); + memBBWrt(ADDPTR(arg1), buf, size); + } else + *status = getpeername(fdmap[arg0], NULL, &size); + memBBWrt(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + setStatReturn(ret, status); + break; + case SYS_GETPGRP2: + /* XXX - the first (& only) simulated process gets a pid of 2 */ + *ret = 2; + *status = 0; + break; + case SYS_GETPID: +#ifdef NEW_MP + *ret = curPid + 2; + GrWrtx(9, parentPid, 0); +#else + /* XXX - the first (& only) simulated process gets a pid of 2 */ + *ret = 2; + /* XXX - for Shivaji, return Ski's pid */ + *ret = getpid(); + GrWrtx(9, 1, 0); +#endif + *status = 0; + break; + case SYS_GETRLIMIT: + switch ((int)arg0) { +#ifndef HPUX9 + case RLIMIT_CORE: + break; + case RLIMIT_CPU: + break; + case RLIMIT_DATA: + break; + case RLIMIT_FSIZE: + break; +#endif + case RLIMIT_NOFILE: + *status = getrlimit(arg0, &rlimbuf); + if ((int)*status != -1) { + if (lp64) + memBBWrt(arg1, rlimit32to64(&rlimbuf), + sizeof(struct rlimit64)); + else + memBBWrt(ADDPTR(arg1), (BYTE *)&rlimbuf, + sizeof(struct rlimit)); + } + break; +#ifndef HPUX9 + case RLIMIT_STACK: + break; + case RLIMIT_RSS: + break; + case RLIMIT_AS: + break; +#endif + default: + errno = EINVAL; + *status = -1; + break; + } + setStatReturn(ret, status); + break; + case SYS_GETRUSAGE: + switch ((int)arg0) { + case RUSAGE_SELF: + *status = getrusage(arg0, &rusgbuf); + if ((int)*status != -1) +#if 0 + if (lp64) + memBBWrt(arg1, rusage32to64(&rusgbuf), + sizeof (struct rusage64)); + else +#endif + memBBWrt(ADDPTR(arg1), (BYTE *)&rlimbuf, + sizeof (struct rusage)); + break; + case RUSAGE_CHILDREN: + default: + errno = EINVAL; + *status = -1; + break; + } + setStatReturn(ret, status); + break; + case SYS_GETSOCKNAME: + memBBRd(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + if (arg1) { + *status = getsockname(fdmap[arg0], buf, &size); + memBBWrt(ADDPTR(arg1), buf, size); + } else + *status = getsockname(fdmap[arg0], NULL, &size); + memBBWrt(ADDPTR(arg2), (BYTE *)&size, sizeof (int)); + setStatReturn(ret, status); + break; + case SYS_GETSOCKOPT: + memBBRd(ADDPTR(arg4), (BYTE *)&size, sizeof (int)); + *status = getsockopt(fdmap[arg0], arg1, arg2, buf, &size); + memBBWrt(ADDPTR(arg3), buf, size); + memBBWrt(ADDPTR(arg4), (BYTE *)&size, sizeof (int)); + setStatReturn(ret, status); + break; + case SYS_GETTIMEOFDAY: +#if 0 + *status = gettimeofday(&tvbuf, &tzbuf); + if ((int)*status != -1) { + if (lp64) + memBBWrt(arg0, timeval32to64(tvbuf), + sizeof (struct timeval64)); + else + memBBWrt(ADDPTR(arg0), (BYTE *)&tvbuf, sizeof tvbuf); + if (arg1) + memBBWrt(ADDPTR(arg1), (BYTE *)&tzbuf, sizeof tzbuf); + } +#else +{ + SimTime st; + getSimTime(&st); + memBBWrt(ADDPTR(arg0), (BYTE *)&st, 8); + if (arg1) + memBBWrt(ADDPTR(arg1), (BYTE *)&st.simMinuteswest, 8); +} + *status = 0; +#endif + setStatReturn(ret, status); + break; + case SYS_GETUID: + *ret = getuid(); + GrWrtx(9, geteuid(), 0); + *status = 0; + break; + case SYS_IOCTL: + size = (arg1 & IOCSIZE_MASK) >> 16; + /* check IOC_IN to see if I will write driver */ + if ((arg1 & IOC_IN) && size) + memBBRd(ADDPTR(arg2), buf, size); + + if ((arg1 & IOC_OUT) || ((arg1 & IOC_IN) && size)) { + *status = ioctl(fdmap[arg0], arg1, buf); + if (((int)*status != -1) && (arg1 & IOC_OUT)) + memBBWrt(ADDPTR(arg2), buf, size); + } else + *status = ioctl(fdmap[arg0], arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_KILL: + if (!arg0 || arg0 == getpid()) + progExit("program killed with signal %d\n", (int)arg1); + *status = kill(arg0, arg1); + setStatReturn(ret, status); + break; +#ifndef HPUX9 + case SYS_LCHMOD: + memBBRd(ADDPTR(arg0), buf, 0); + *status = lchmod((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_LCHOWN: + memBBRd(ADDPTR(arg0), buf, 0); + *status = lchown((char *)buf, arg1, arg2); + setStatReturn(ret, status); + break; +#endif + case SYS_LINK: + memBBRd(ADDPTR(arg0), buf, 0); + memBBRd(ADDPTR(arg1), buf2, 0); + *status = link((char *)buf, (char *)buf2); + setStatReturn(ret, status); + break; + case SYS_LISTEN: + *status = listen(fdmap[arg0], arg1); + setStatReturn(ret, status); + break; + case SYS_LOCKF: + *status = lockf(fdmap[arg0], arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_LSEEK: + *status = lseek(fdmap[arg0], arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_LSEEK64: + if (lgf) +#ifdef HPUX9 /* XXX - This doesn't seem to work! */ + *status = syscall(SYS_LSEEK64, fdmap[arg0], arg2, arg4); +#else + *status = lseek64(fdmap[arg0], arg1, arg2); +#endif + else + *status = lseek(fdmap[arg0], arg2, arg4); + setStatReturn(ret, status); + break; + case SYS_LSTAT: + case SYS_LSTAT64: + memBBRd(ADDPTR(arg0), buf, 0); + *status = lstat((char *)buf, &statbuf); + if ((int)*status != -1) { + if (lp64) + memBBWrt(arg1, stat32to64(statbuf), sizeof(struct stat64)); + else if (num == SYS_LSTAT64) + memBBWrt(ADDPTR(arg1), stat32to64x(statbuf), sizeof(struct stat64x)); + else + memBBWrt(ADDPTR(arg1), (BYTE *)&statbuf, sizeof(statbuf)); + } + setStatReturn(ret, status); + break; + case SYS_LWP_GETPRIVATE: + /* XXX - set errno if TPNAT? */ + *status = TPNAT ? -1 : TP; + setStatReturn(ret, status); + break; + case SYS_LWP_MUTEX_INIT2: + *status = 0; + setStatReturn(ret, status); + break; + case SYS_LWP_SELF: + *status = 0; + setStatReturn(ret, status); + break; + case SYS_LWP_SETPRIVATE: + TP = arg0; + TPNAT = 0; + *status = 0; + setStatReturn(ret, status); + break; + case SYS_MADVISE: + *status = 0; + setStatReturn(ret, status); + break; + case SYS_MKDIR: + memBBRd(ADDPTR(arg0), buf, 0); + *status = mkdir((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_MKNOD: + memBBRd(ADDPTR(arg0), buf, 0); + *status = mknod((char *)buf, arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_MMAP: + if (!(arg3 & (MAP_FILE|MAP_ANONYMOUS))) + arg3 |= MAP_FILE; + if (!(arg3 & (MAP_VARIABLE|MAP_FIXED))) + arg3 |= MAP_VARIABLE; +#if 0 + if (arg3 & MAP_SHLIB) + arg3 &= ~(REG)MAP_SHLIB; +#endif + if (arg3 & MAP_NORESERVE) + arg3 &= ~(REG)MAP_NORESERVE; + if (!(arg2 & PROT_WRITE)) { + arg2 |= PROT_WRITE; + if (arg3 & MAP_SHARED) { + arg3 &= ~(REG)MAP_SHARED; + arg3 |= (REG)MAP_PRIVATE; + } + } + if (arg3 & MAP_FIXED && mmapOverlap(arg0, arg1)) { + errno = EINVAL; + *status = -1; + setStatReturn(ret, status); + break; + } +if (!arg0 && arg3 & MAP_FIXED) { +arg3 &= ~(REG)MAP_FIXED; +arg3 |= (REG)MAP_VARIABLE; +} + if (arg3 == (MAP_ANONYMOUS|MAP_FIXED|MAP_PRIVATE) || + arg3 == (MAP_ANONYMOUS|MAP_FIXED|MAP_PRIVATE|MAP_SHLIB) || + arg3 == (MAP_FILE|MAP_FIXED|MAP_PRIVATE) || + arg3 == (MAP_FILE|MAP_FIXED|MAP_PRIVATE|MAP_SHLIB) || + arg3 == (MAP_FILE|MAP_FIXED|MAP_SHARED) || + arg3 == (MAP_FILE|MAP_FIXED|MAP_SHARED|MAP_SHLIB)) { + ADDR start; + BYTE *hostadr; + +#ifdef FAIL_FIXED_MMAPS +errno = EINVAL; +*status = -1; +setStatReturn(ret, status); +break; +#endif + arg3 &= ~(REG)MAP_FIXED; + arg3 |= (REG)MAP_VARIABLE; + hostadr = mmap((void *)0,arg1,arg2,arg3,fdmap[arg4],arg5); + if (hostadr == MAP_FAILED) { + *status = (REG)(long)hostadr; + setStatReturn(ret, status); + break; + } + start = ADDPTR(arg0); /* XXX - assume page aligned? */ + if (start < anon_mmap) + anon_mmap = start; +#if 0 +fprintf(stderr, "fixed: %llx mapped to %x\n", start, hostadr); +#endif + memMPMap(start, (char*)hostadr, arg1); + if (arg3 & MAP_FILE) + mmapSyms(fdmap[arg4], start, arg1, arg5); + else if (arg2 & PROT_EXEC) + dynBlock(start, arg1); + *status = start; + setStatReturn(ret, status); + } else if (arg3 == (MAP_ANONYMOUS|MAP_VARIABLE|MAP_PRIVATE) || + arg3 == (MAP_ANONYMOUS|MAP_VARIABLE|MAP_PRIVATE|MAP_SHLIB) || + arg3 == (MAP_FILE|MAP_VARIABLE|MAP_PRIVATE) || + arg3 == (MAP_FILE|MAP_VARIABLE|MAP_PRIVATE|MAP_SHLIB) || + arg3 == (MAP_FILE|MAP_VARIABLE|MAP_SHARED) || + arg3 == (MAP_FILE|MAP_VARIABLE|MAP_SHARED|MAP_SHLIB)) { + ADDR start, nbytes; + BYTE *hostadr; + + hostadr = mmap((void *)(long)arg0,arg1,arg2,arg3,fdmap[arg4],arg5); + if (hostadr == MAP_FAILED) { + *status = (REG)(long)hostadr; + setStatReturn(ret, status); + break; + } + nbytes = page_base(arg1) == arg1 + ? arg1 + : page_base(arg1) + page_size; + anon_mmap -= nbytes; + start = anon_mmap; +#if 0 +fprintf(stderr, "var: %llx mapped to %x\n", start, hostadr); +#endif + memMPMap(start, (char*)hostadr, arg1); + if (arg3 & MAP_FILE) + mmapSyms(fdmap[arg4], start, arg1, arg5); + else if (arg2 & PROT_EXEC) + dynBlock(start, arg1); + *status = start; + setStatReturn(ret, status); + } else { + *status = ~(REG)0; + *ret = EINVAL; + progStop("unsupported mmap flags value: 0x%x\n", (int)arg3); + } + break; + case SYS_MPCTL: + switch ((int)arg0) { + case MPC_GETNUMSPUS: + *status = 1; + break; + case MPC_GETFIRSTSPU: + *status = 1; + break; + case MPC_GETNEXTSPU: + *status = -1; + break; + case MPC_GETCURRENTSPU: + *status = 1; + break; + case MPC_SETPROCESS: + *status = 0; + break; + case MPC_SETPROCESS_FORCE: + *status = 0; + break; + case MPC_SETLWP: + *status = 0; + break; + case MPC_SETLWP_FORCE: + *status = 0; + break; + case MPC_GETLWP_BINDINGTYPE: + *status = 0; + break; + default: + errno = EINVAL; + *status = -1; + } + setStatReturn(ret, status); + break; + case SYS_MPROTECT: + *ret = 0; + *status = 0; + break; + case SYS_MUNMAP: +#if 0 +fprintf(stderr, "unmapped %llx bytes from %llx (host %llx)\n", +arg1, ADDPTR(arg0), pmemLookup(page_base(ADDPTR(arg0)))); +#endif + *status = munmap(pmemLookup(page_base(ADDPTR(arg0))),arg1); + { + ADDR adr; + + for (adr = ADDPTR(arg0); adr < ADDPTR(arg0)+arg1; + adr += page_size) + memFree(adr); + } + munmapSyms(ADDPTR(arg0),ADDPTR(arg0)+arg1-1); + setStatReturn(ret, status); + break; + case SYS_OPEN: + memBBRd(ADDPTR(arg0), buf, 0); + *status = open((char *)buf, arg1, arg2); + if ((int)*status != -1) { +#ifdef NEW_MP + int simfd; + + for (simfd = 0; simfd < FDMAX; simfd++) + if (fdmap[simfd] == -1) + break; + fdmap[simfd] = *status; + *status = simfd; +#if 0 +fprintf(stderr, "opening file %s as fd %d (host fd %d)\n", buf, simfd, fdmap[simfd]); +#endif +#else +#ifdef HOST_MAP + int simfd; + + for (simfd = 0; simfd < FDMAX; simfd++) + if (fdmap[simfd] == -1) + break; + fdInfo[simfd].name = strdup(buf); + fdInfo[simfd].oflag = arg1; + fdInfo[simfd].mode = arg2; + fdmap[simfd] = *status; + *status = simfd; +#else + fdInfo[*status].name = strdup((char*)buf); + fdInfo[*status].oflag = arg1 & ~01400; + fdInfo[*status].mode = arg2; + fdmap[*status] = *status; +#endif +#endif + } + setStatReturn(ret, status); + break; + case SYS_PATHCONF: + memBBRd(ADDPTR(arg0), buf, 0); + *status = pathconf((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_PIPE: + *status = pipe(pfd); + if ((int)*status != -1) { + memBBWrt(ADDPTR(arg0), (BYTE *)pfd, sizeof pfd); + *status = pfd[0]; + GrWrtx(9, pfd[1], 0); + } + setStatReturn(ret, status); + break; + case SYS_PROFIL: + if (arg1 && arg3 > 1) { + prof[0].buff = ADDPTR(arg0); + prof[0].len = arg1; + prof[0].off = arg2; + prof[0].scale = arg3; + prof_insts = total_insts + prof_interval; + prof_maxcnt = ONES(16); + prof_mask = ~1; + preInst |= PRE_PROFIL; + } else { + prof_insts = ~0ULL; + preInst &= ~PRE_PROFIL; + } + *status = 0; + setStatReturn(ret, status); + break; + case SYS_PSET_CTL: + *status = 0; + setStatReturn(ret, status); + break; + case SYS_PSTAT: + *status = 0; + switch ((int)arg0) { + struct pst_static static_data; + + case PSTAT_PROC: + break; + case PSTAT_STATIC: + *status = pstat_getstatic(&static_data, sizeof static_data, arg3, arg4); + if (!lp64) + arg1 >>= 32; + memBBWrt(ADDPTR(arg1), &static_data, arg2); + break; + case PSTAT_DYNAMIC: + break; + case PSTAT_SETCMD: + break; + case PSTAT_VMINFO: + break; + case PSTAT_DISKINFO: + break; + case PSTAT_SEMINFO: + break; + case PSTAT_MSGINFO: + break; + case PSTAT_SHMINFO: + break; + case PSTAT_PROCESSOR: + break; + case PSTAT_LVINFO: + break; + case PSTAT_SWAPINFO: + break; + case PSTAT_FILEINFO: + break; + case PSTAT_IPCINFO: + break; + case PSTAT_PROC_VM: + break; + case PSTAT_STABLE: + break; + default: + errno = EINVAL; + *status = -1; + } + setStatReturn(ret, status); + break; + case SYS_READ: + chkMalargbuf(arg2); + nbytes = read(fdmap[arg0], malargbuf, arg2); +#if 0 +fprintf(stderr, "reading from fd %d (host fd %d) into %llx\n", (int)arg0, fdmap[arg0], arg1); +#endif + *status = nbytes; + if ((int)nbytes > 0) + memBBWrt(ADDPTR(arg1), malargbuf, nbytes); + setStatReturn(ret, status); + break; + case SYS_READLINK: + memBBRd(ADDPTR(arg0), buf, 0); + chkMalargbuf(arg2); + *status = readlink((char *)buf, (char *)malargbuf, arg2); + if ((int)*status != -1) + memBBWrt(ADDPTR(arg1), malargbuf, (int)*status); + setStatReturn(ret, status); + break; + case SYS_READV: { + int i; + + /* XXX - check arg2 in 1..IOV_MAX? */ + *status = 0; + for (i = 0; i < arg2; i++) { + ADDR addr = 0; + DWORD len = 0; + + if (lp64) { + memBBRd(arg1, (BYTE *)&addr, 8); + arg1 += 8; + memBBRd(arg1, (BYTE *)&len, 8); + arg1 += 8; + } else { + memBBRd(ADDPTR(arg1), (BYTE *)&addr+4, 4); + arg1 += 4; + memBBRd(ADDPTR(arg1), (BYTE *)&len+4, 4); + arg1 += 4; + } + chkMalargbuf(len); + nbytes = read(fdmap[arg0], malargbuf, len); + if ((int)nbytes < 0) { + *status = nbytes; + break; + } + *status += nbytes; + memBBWrt(ADDPTR(addr), malargbuf, nbytes); + if ((int)nbytes < len) + break; + } + setStatReturn(ret, status); + break; + } + case SYS_RECV: + *status = recv(fdmap[arg0], buf, arg2, arg3); + memBBWrt(ADDPTR(arg1), buf, arg2); + setStatReturn(ret, status); + break; + case SYS_RECVFROM: + memBBRd(ADDPTR(arg5), (BYTE *)&size, sizeof (int)); + *status = recvfrom(fdmap[arg0], buf, arg2, arg3, buf2, &size); + memBBWrt(ADDPTR(arg1), buf, arg2); + memBBWrt(ADDPTR(arg4), buf2, size); + memBBWrt(ADDPTR(arg5), (BYTE *)&size, sizeof (int)); + setStatReturn(ret, status); + break; +#if 0 + case SYS_RECVMSG: /* fill in */ + break; +#endif + case SYS_RENAME: + memBBRd(ADDPTR(arg0), buf, 0); + memBBRd(ADDPTR(arg1), buf2, 0); + *status = rename((char *)buf, (char *)buf2); + setStatReturn(ret, status); + break; + case SYS_RMDIR: + memBBRd(ADDPTR(arg0), buf, 0); + *status = rmdir((char *)buf); + setStatReturn(ret, status); + break; + case SYS_SCHED_GET_PRIORITY_MAX: + *status = sched_get_priority_max(arg0); + setStatReturn(ret, status); + break; + case SYS_SCHED_GET_PRIORITY_MIN: + *status = sched_get_priority_min(arg0); + setStatReturn(ret, status); + break; + case SYS_SELECT: + if (arg1) { + memBBRd(ADDPTR(arg1), buf, SIZE_FD(arg0)); + readfds = mapSelectFds(buf, arg0); + rfds = &readfds; + } else + rfds = NULL; + if (arg2) { + memBBRd(ADDPTR(arg2), buf, SIZE_FD(arg0)); + writefds = mapSelectFds(buf, arg0); + wfds = &writefds; + } else + wfds = NULL; + if (arg3) { + memBBRd(ADDPTR(arg3), buf, SIZE_FD(arg0)); + errorfds = mapSelectFds(buf, arg0); + efds = &errorfds; + } else + efds = NULL; + if (arg4) + if (lp64) { + memBBRd(arg4, buf, sizeof (struct timeval64)); + tmout = timeval64to32(buf); + } else { + memBBRd(ADDPTR(arg4), buf, sizeof (struct timeval)); + tmout = (struct timeval *)buf; + } + else + tmout = NULL; + *status = select(arg0, (fd_set *)rfds, (fd_set *)wfds, (fd_set *)efds, + tmout); + if (rfds) + memBBWrt(ADDPTR(arg1), (BYTE *)rfds, SIZE_FD(arg0)); + if (wfds) + memBBWrt(ADDPTR(arg2), (BYTE *)wfds, SIZE_FD(arg0)); + if (efds) + memBBWrt(ADDPTR(arg3), (BYTE *)efds, SIZE_FD(arg0)); + setStatReturn(ret, status); + break; + case SYS_SEND: + memBBRd(ADDPTR(arg1), buf, arg2); + *status = send(fdmap[arg0], buf, arg2, arg3); + setStatReturn(ret, status); + break; +#if 0 + case SYS_SENDMSG: /* fill in */ + break; +#endif + case SYS_SENDTO: + memBBRd(ADDPTR(arg1), buf, arg2); + memBBRd(ADDPTR(arg4), buf2, arg5); + *status = sendto(fdmap[arg0], buf, arg2, arg3, buf2, arg5); + setStatReturn(ret, status); + break; + case SYS_SETITIMER: + *ret = 0; + *status = 0; + if (arg0 == ITIMER_REAL) { + CTR interval; + + memBBRd(ADDPTR(arg1), buf, + lp64 ? 32 : sizeof (struct itimerval)); + interval = lp64 ? *(ADDR *)buf + : ((struct itimerval *)buf)->it_interval.tv_sec; + interval *= 1000000; + interval += lp64 ? *(ADDR *)((char *)buf+8) + : ((struct itimerval *)buf)->it_interval.tv_usec; + if (interval) { + alarm_interval = interval * mips; + alarm_insts = total_insts + alarm_interval; + preInst |= PRE_ALARM; + } else { + alarm_insts = ~0ULL; + preInst &= ~PRE_ALARM; + } + } else { + (void)sprintf(msg, "ignoring system call %d\n", (int)num); + (void)sysWrite(STDERR_FILENO, msg, strlen(msg)); + } + break; +#if 0 + case SYS_SETPRGP3: + getpgrp() == setpgrp3(0) + setpgrp3() == setpgrp3(1) + setsid() == setpgrp3(2) + break; +#endif + case SYS_SETRLIMIT: + if (lp64) { + memBBRd(arg1, buf, sizeof (struct rlimit64)); + rlimbuf = rlimit64to32((struct rlimit64 *)buf); + } else + memBBRd(ADDPTR(arg1), (BYTE *)&rlimbuf, sizeof (struct rlimit)); + switch ((int)arg0) { +#ifndef HPUX9 + case RLIMIT_CORE: + break; + case RLIMIT_CPU: + break; + case RLIMIT_DATA: + break; + case RLIMIT_FSIZE: + break; +#endif + case RLIMIT_NOFILE: + *status = setrlimit(arg0, &rlimbuf); + break; +#ifndef HPUX9 + case RLIMIT_STACK: + break; + case RLIMIT_RSS: + break; + case RLIMIT_AS: + break; +#endif + default: + errno = EINVAL; + *status = -1; + } + setStatReturn(ret, status); + break; + case SYS_SETSOCKOPT: + memBBRd(ADDPTR(arg3), buf, arg4); + *status = setsockopt(fdmap[arg0], arg1, arg2, buf, arg4); + setStatReturn(ret, status); + break; + case SYS_SHMAT: + *status = (REG)(long)shmat(arg0, (void *)(long)ADDPTR(arg1), arg2); + { +#ifdef OLD_WAY + ADDR adr; +#endif + ADDR res = ADDPTR(*status); + int sz; + + sz = getShmSz(arg0); +#ifdef OLD_WAY + *status = shm_addr; + /* XXX - If ever use this, change to use memMPMap call */ + for (adr = page_base(res); adr < res+sz; adr += page_size) { + (void)pmemMap(shm_addr, adr); + shm_addr += page_size; + } +#else + *status = res; + memMPMap(res, (char*)(long)res, sz); +#endif + } + setStatReturn(ret, status); + break; + case SYS_SHMCTL: + switch ((int)arg1) { + case IPC_STAT: + break; + case IPC_SET: + break; + case IPC_RMID: + *status = shmctl(arg0, arg1, 0); + break; + case SHM_LOCK: + break; + case SHM_UNLOCK: + break; + default: + errno = EINVAL; + *status = -1; + break; + } + setStatReturn(ret, status); + break; + case SYS_SHMDT: + *status = shmdt((void *)(long)ADDPTR(arg0)); + setStatReturn(ret, status); + break; + case SYS_SHMGET: + *status = shmget(arg0, arg1, arg2); + setStatReturn(ret, status); + break; + case SYS_SHUTDOWN: + *status = shutdown(fdmap[arg0], arg1); + setStatReturn(ret, status); + break; + case SYS_SIGACTION: + *ret = 0; + *status = 0; + if (arg0 == SIGALRM) { + memBBRd(ADDPTR(arg1), buf, sizeof (struct sigaction)); + if (lp64) + sigHdlr = *(ADDR *)buf; + else + sigHdlr = (ADDR)(long)(((struct sigaction *)buf)->sa_handler)+8; + if (!memMRd(ADDPTR(sigHdlr), 8, &sigHdlr)) { + errno = EFAULT; + *status = -1; + setStatReturn(ret, status); + } + } else { + (void)sprintf(msg, "ignoring system call %d\n", (int)num); + (void)sysWrite(STDERR_FILENO, msg, strlen(msg)); + } + break; + case SYS_SIGBLOCK: + case SYS_SIGCLEANUP: + case SYS_SIGPAUSE: + case SYS_SIGPENDING: + case SYS_SIGPROCMASK: + case SYS_SIGSETMASK: + case SYS_SIGSTACK: + case SYS_SIGSUSPEND: + (void)sprintf(msg, "ignoring system call %d\n", (int)num); + (void)sysWrite(STDERR_FILENO, msg, strlen(msg)); + *ret = 0; + *status = 0; + break; + case SYS_LWP_GETSCHEDULER: + case SYS_SET_USERTHREADID: + case SYS_SIGENABLE: + case SYS_SIGINHIBIT: + case SYS_SIGSETRETURN: + *ret = 0; + *status = 0; + break; + case SYS_SIGSETSTATEMASK: + if (arg0 != 0x17) { + errno = EINVAL; + *status = -1; + setStatReturn(ret, status); + break; + } + if (arg2) { + /* fill in *arg2 using memBBWrt */; + } + *ret = 0; + *status = 0; + break; + case SYS_SIGVECTOR: + *ret = 0; + *status = 0; + if (arg0 == SIGFPE) { + memBBRd(ADDPTR(arg1), buf, sizeof (struct sigvec)); + if (lp64) + sigHdlr = *(ADDR *)buf; + else + sigHdlr = (ADDR)(long)(((struct sigvec *)buf)->sv_handler)+8; + if (!memMRd(ADDPTR(sigHdlr), 8, &sigHdlr)) { + errno = EFAULT; + *status = -1; + setStatReturn(ret, status); + } + } else { + (void)sprintf(msg, "ignoring system call %d\n", (int)num); + (void)sysWrite(STDERR_FILENO, msg, strlen(msg)); + } + break; + case SYS_SOCKET: + *status = socket(arg0, arg1, arg2); + fdmap[*status] = *status; + setStatReturn(ret, status); + break; + case SYS_SOCKETPAIR: + *status = socketpair(arg0, arg1, arg2, (int *)buf); + memBBWrt(ADDPTR(arg3), buf, 8); /* store 2 ints */ + setStatReturn(ret, status); + break; + case SYS_SPROFIL: + if (!arg0 || (arg3 != PROF_USHORT && arg3 != PROF_UINT)) { + errno = EINVAL; + *status = -1; + setStatReturn(ret, status); + break; + } + if (arg2) /* tvp */ + /* fill in timeval */; + if (arg1) { +#if 0 + int i; + + for (i = 0; i < arg1; i++) { + memMRd(ADDPTR(arg0+32*i), &prof[i].base); + } +#endif + prof_insts = total_insts + prof_interval; + prof_maxcnt = ONES(8*arg3); + prof_mask = ~(arg3-1); + preInst |= PRE_PROFIL; + } else { + prof_insts = ~0ULL; + preInst &= ~PRE_PROFIL; + } + *status = 0; + setStatReturn(ret, status); + break; + case SYS_STAT: + case SYS_STAT64: + memBBRd(ADDPTR(arg0), buf, 0); + *status = stat((char *)buf, &statbuf); +#ifdef CONSTANT_TIME +statbuf.st_atime = statbuf.st_mtime; +#endif + if ((int)*status != -1) { + if (lp64) + memBBWrt(arg1, stat32to64(statbuf), + sizeof(struct stat64)); + else if (num == SYS_STAT64) + memBBWrt(ADDPTR(arg1), stat32to64x(statbuf), sizeof(struct stat64x)); + else + memBBWrt(ADDPTR(arg1), (BYTE *)&statbuf, sizeof(statbuf)); + } + setStatReturn(ret, status); + break; +#if 0 + case SYS_STATFS: /* fill in */ + break; +#endif + case SYS_SYMLINK: + memBBRd(ADDPTR(arg0), buf, 0); + memBBRd(ADDPTR(arg1), buf2, 0); + *status = symlink((char *)buf, (char *)buf2); + setStatReturn(ret, status); + break; + case SYS_SYSCONF: + switch ((int)arg0) { + case _SC_CPU_VERSION: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_THREAD_THREADS_MAX: + *status = 1; + break; + case _SC_THREAD_STACK_MIN: + *status = PTHREAD_STACK_MIN; + break; + case _SC_THREAD_KEYS_MAX: + *status = PTHREAD_KEYS_MAX; + break; + case _SC_CLK_TCK: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_CLOCKS_PER_SEC: + *status = CPU_HP_INTEL_EM_1_0; + break; +#ifdef HPUX1100 + case _SC_XBS5_ILP32_OFF32: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_XBS5_ILP32_OFFBIG: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_XBS5_LP64_OFF64: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_XBS5_LPBIG_OFFBIG: + *status = CPU_HP_INTEL_EM_1_0; + break; +#endif + case _SC_IO_TYPE: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_MCAS_OFFSET: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_CPU_KEYBITS1: + *status = CPU_HP_INTEL_EM_1_0; + break; +#ifdef HPUX1100 + case _SC_KERNEL_BITS: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_KERNEL_IS_BIGENDIAN: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_HW_32_64_CAPABLE: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_INT_MIN: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_INT_MAX: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_LONG_MIN: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_LONG_MAX: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_SSIZE_MAX: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_WORD_BIT: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_LONG_BIT: + *status = CPU_HP_INTEL_EM_1_0; + break; + case _SC_CPU_CHIP_TYPE: + *status = CPU_HP_INTEL_EM_1_0; + break; +#endif + default: + *status = sysconf(arg0); /* XXX - call __sysconf? */ + break; + } + setStatReturn(ret, status); + break; +#ifndef HPUX9 + case SYS_SYSFS: + switch ((int)arg0) { + case GETFSIND: + memBBRd(ADDPTR(arg1), buf, 0); + *status = sysfs(arg0, (char *)buf); + break; + case GETFSTYP: + *status = sysfs(arg0, arg1, (char *)buf); + memBBWrt(ADDPTR(arg2), buf, strlen((char *)buf) + 1); + break; + case GETNFSTYP: + *status = sysfs(arg0); + break; + default: + errno = EINVAL; + *status = -1; + break; + } + setStatReturn(ret, status); + break; + case SYS_SYSINFO: + switch ((int)arg0) { + case _SI_MACHINE_MODEL: + /* XXX - if arg2 < sizeof "ia64", need to truncate */ + *status = sizeof "ia64"; + (void)strcpy((char *)buf, "ia64"); + break; + default: + /* XXX - what if buf not large enough, but arg1 is? */ + *status = sysinfo(arg0, buf, sizeof buf); + break; + } + /* XXX - truncate if arg2 < *status? */ + memBBWrt(ADDPTR(arg1), buf, *status); + setStatReturn(ret, status); + break; +#endif + case SYS_TIME: +#if 0 + if (arg0) { + *status = time((time_t *)buf); +#ifdef CONSTANT_TIME +buf[0] = 0; +buf[1] = 0; +buf[2] = 0; +buf[3] = 0; +#endif + memBBWrt(ADDPTR(arg0), buf, sizeof (time_t)); + } else + *status = time(NULL); +#ifdef CONSTANT_TIME +*status = 0; +#endif +#else +{ + SimTime st; + getSimTime(&st); + if (arg0) + memBBWrt(ADDPTR(arg0), (BYTE *)&st.simSec, 4); + *status = st.simSec; +} +#endif + setStatReturn(ret, status); + break; + case SYS_TIMES: +#if 0 + *status = times(&tmsbuf); +#ifdef CONSTANT_TIME +tmsbuf.tms_utime = 0; +tmsbuf.tms_stime = 0; +tmsbuf.tms_cutime = 0; +tmsbuf.tms_cstime = 0; +*status = 0; +#endif + if ((int)*status != -1) + memBBWrt(ADDPTR(arg0), (BYTE *)&tmsbuf, sizeof tmsbuf); +#else + tmsbuf.tms_utime = total_insts / (mips * 10000ULL); + tmsbuf.tms_stime = 0; + tmsbuf.tms_cutime = 0; + tmsbuf.tms_cstime = 0; + memBBWrt(ADDPTR(arg0), (BYTE *)&tmsbuf, sizeof tmsbuf); + *status = 0; +#endif + setStatReturn(ret, status); + break; + case SYS_TRUNCATE: + memBBRd(ADDPTR(arg0), buf, 0); + *status = truncate((char *)buf, arg1); + setStatReturn(ret, status); + break; + case SYS_TRUNCATE64: + memBBRd(ADDPTR(arg0), buf, 0); + *status = truncate((char *)buf, arg2); + setStatReturn(ret, status); + break; + case SYS_ULIMIT: + *status = ulimit(arg0, (long)arg1); + setStatReturn(ret, status); + break; + case SYS_UMASK: + *ret = umask(arg0); + *status = 0; + break; + case SYS_UMOUNT: + memBBRd(ADDPTR(arg0), buf, 0); + *status = umount((char *)buf); + setStatReturn(ret, status); + break; + case SYS_UNLINK: + memBBRd(ADDPTR(arg0), buf, 0); + *status = unlink((char *)buf); + setStatReturn(ret, status); + break; + case SYS_UTIME: + memBBRd(ADDPTR(arg0), buf, 0); + memBBRd(ADDPTR(arg1), (BYTE *)&utimbuf, sizeof utimbuf); + *status = utime((char *)buf, &utimbuf); + setStatReturn(ret, status); + break; + case SYS_UTSSYS: + switch ((unsigned)arg2) { + case 0: /* uname */ + *status = _utssys((char *)buf, arg1, arg2); + memBBWrt(ADDPTR(arg0), buf, sizeof (struct utsname)); + break; + case 2: /* ustat */ + *status = _utssys((char *)buf, arg1, arg2); + if (lp64) + memBBWrt(arg0, ustat32to64(buf), + sizeof (struct ustat64)); + else + memBBWrt(ADDPTR(arg0), buf, sizeof (struct ustat)); + break; + case 3: /* setuname */ + case 4: /* sethostname */ + memBBRd(ADDPTR(arg0), buf, arg1); + *status = _utssys((char *)buf, arg1, arg2); + break; + case 5: /* gethostname */ + *status = _utssys((char *)buf, arg1, arg2); + memBBWrt(ADDPTR(arg0), buf, arg1); + break; + case 6: /* set sysname field (called from setuname) */ + break; + case 7: /* set uname release field (undocumented and + used by SD -- does IA-64 need it?) */ + break; + case 1: /* was umask */ + default: + errno = EFAULT; + *status = -1; + break; + } + setStatReturn(ret, status); + break; +#ifdef NEW_MP + case SYS_WAIT: + { + int i; + + /* see if there are children */ + for (i = 0; i < numpids; i++) + if (mpState[i].parentPid_ == curPid+2) + break; + if (i == numpids) { /* no children found */ + errno = ECHILD; + *status = -1; + } else { /* children found */ + /* see if any have already exited & not been waited for */ + for (; i < numpids; i++) + if (mpState[i].parentPid_ == curPid+2 && + (mpState[i].nextPid_ == ~0U) && + (mpState[i].status_ & 0x10000)) + break; + if (i != numpids) { + *status = i+2; + mpState[i].status_ &= ~0x10000; + if (arg0) { + int childstat = mpState[i].status_; + + memBBWrt(ADDPTR(arg0), + (BYTE *)&childstat, sizeof (int)); + } + } else { + /* see if any are still running */ + for (i = 0; i < numpids; i++) + if (mpState[i].parentPid_ == curPid+2 && + (mpState[i].nextPid_ != ~0U)) + break; + if (i != numpids) { + ip += 4; + for (i = 0; i < numpids; i++) + if (mpState[i].nextPid_ == curPid) { + unsigned newPid = nextPid; + + mpState[i].nextPid_ = newPid; + curPid = newPid; + break; + } + lastPid = ~0U; + for (i = 0; i < numpids; i++) + if (mpState[i].nextPid_ != ~0U) + lastPid = i; + progPause(); + } else { + errno = ECHILD; + *status = -1; + } + } + } + } + setStatReturn(ret, status); + break; + case SYS_WAIT3: + errno = ECHILD; + *status = -1; + setStatReturn(ret, status); + break; + case SYS_WAITID: + errno = ECHILD; + *status = -1; + setStatReturn(ret, status); + break; + case SYS_WAITPID: + errno = ECHILD; + *status = -1; + setStatReturn(ret, status); + break; +#endif + case SYS_WRITE: + chkMalargbuf(arg2); + memBBRd(ADDPTR(arg1), malargbuf, arg2); + *status = sysWrite(fdmap[arg0], malargbuf, arg2); + setStatReturn(ret, status); + break; + case SYS_WRITEV: { + int i; + + /* XXX - check arg2 in 1..IOV_MAX? */ + *status = 0; + for (i = 0; i < arg2; i++) { + ADDR addr = 0; + DWORD len = 0; + + if (lp64) { + memBBRd(arg1, (BYTE *)&addr, 8); + arg1 += 8; + memBBRd(arg1, (BYTE *)&len, 8); + arg1 += 8; + } else { + memBBRd(ADDPTR(arg1), (BYTE *)&addr+4, 4); + arg1 += 4; + memBBRd(ADDPTR(arg1), (BYTE *)&len+4, 4); + arg1 += 4; + } + chkMalargbuf(len); + memBBRd(ADDPTR(addr), malargbuf, len); + nbytes = sysWrite(fdmap[arg0], malargbuf, len); + if ((int)nbytes < 0) { + *status = nbytes; + break; + } + *status += nbytes; + } + setStatReturn(ret, status); + break; + } + default: + *status = ~(REG)0; + *ret = EINVAL; + progStop("unsupported system call %d\n", (int)num); + break; + } +} + +#define TDELTA 100000 + +static SscReqNode *newSscReq(unsigned type, int cnt, unsigned fd, unsigned size) +{ + SscReqNode *p; + + if ((p = malloc(sizeof *p))) { + p->type = type; + p->irptcnt = cnt; + p->fd = fd; + p->count = size; + p->next = NULL; + } + return p; +} + +void addSscReq(SscReqNode *node) +{ + SscReqNode *p, *q; + int t = 0; + +#if 0 +printf("(%llu) Adding SSC Req: type = %d, cnt = %d\n", +total_insts, (int)node->type, (int)node->irptcnt); +#endif + for (p = sscPend; p; q = p, p = p->next) { + if (node->irptcnt < t + p->irptcnt) { + node->irptcnt -= t; + node->next = p; + p->irptcnt -= node->irptcnt; + if (p == sscPend) + sscPend = node; + else + q->next = node; + return; + } + if (node->irptcnt == (t + p->irptcnt)) +#if 0 + cmdWarn("Two interrupts at same time\n"); +#endif + t += p->irptcnt; + } + node->irptcnt -= t; + node->next = p; + if (sscPend) + q->next = node; + else + sscPend = node; +} + +static void delSscReq(SscReqNode *p) +{ +#if 0 +printf("(%llu) Deleting SSC Req: type = %d, cnt = %d\n", +total_insts, (int)p->type, (int)p->irptcnt); +#endif + if (p == sscPend) + sscPend = sscPend->next; + else { + SscReqNode *q; + + for (q = sscPend; q->next != p; q = q->next) + ; + q->next = p->next; + } +} + +static int getPty(char master[], char slave[]) +{ + int i, j, mfd, sfd; + + for (i = 0; i < 11; i++) { + master[13] = slave[12] = "pqrstuvwxyz"[i]; + for (j = 0; j < 16; j++) { + master[14] = slave[13] = "0123456789abcdef"[j]; + if ((mfd = open(master, O_RDWR | O_EXCL)) < 0) + continue; + if ((sfd = open(slave, O_RDWR | O_EXCL)) < 0) { + (void)close(mfd); + continue; + } + (void)close(sfd); + return mfd; + } + } + progExit("Unable to open console window\n"); + /*NOTREACHED*/ + return -1; +} + +void closeConsole(void) +{ + if (cons_pid > 0) + (void)kill(cons_pid, SIGTERM); + if (noConsole && isatty(0)) + (void)tcsetattr(0, TCSANOW, &origttyIos); +} + +static void initNoConsole(void) +{ + struct termios ttyIos; + + if (!isatty(0)) { + cons_pid = 0; + setvbuf(stdout, NULL, _IOLBF, 0); + return; + } + if (tcgetattr(0, &origttyIos) == -1) + progExit("Unable to get console attributes\n"); + + ttyIos.c_iflag = (BRKINT | IGNPAR | ISTRIP | IXON); + ttyIos.c_oflag = OPOST; + ttyIos.c_cflag = (B38400 | CS8 | PARENB | HUPCL | CREAD); + /* Change back to B9600? */ + ttyIos.c_lflag = (ISIG | IEXTEN); + + ttyIos.c_cc[VMIN] = 0; + ttyIos.c_cc[VTIME] = 0; + + /* initialize special characters */ + ttyIos.c_cc[VINTR] = CINTR; + ttyIos.c_cc[VQUIT] = CQUIT; + ttyIos.c_cc[VERASE] = CERASE; + ttyIos.c_cc[VKILL] = CKILL; + ttyIos.c_cc[VEOF] = CEOF; + ttyIos.c_cc[VEOL] = CNUL; + ttyIos.c_cc[VEOL2] = CNUL; /* non-default */ + ttyIos.c_cc[VSTART] = CSTART; + ttyIos.c_cc[VSTOP] = CSTOP; + ttyIos.c_cc[VSWTCH] = CSWTCH; + ttyIos.c_cc[VWERASE] = CERASE; + ttyIos.c_cc[VLNEXT] = CLNEXT; + ttyIos.c_cc[VDSUSP] = CDSUSP; + ttyIos.c_cc[VSUSP] = CSUSP; + if (tcsetattr(0, TCSANOW, &ttyIos) == -1) + progExit("Unable to set console attributes\n"); + (void)atexit(closeConsole); + cons_pid = 0; + setvbuf(stdout, NULL, _IOLBF, 0); +} + +static int initConsole(void) +{ + char master[] = "/dev/ptym/ptyxx"; + char slave[] = "/dev/pty/ttyxx"; + int mfd = getPty(master, slave); + int pfd[2]; + + if (pipe(pfd) == -1) + return -1; + if ((cons_pid = fork()) == 0) { /* Child */ + struct termios ttyIos; + char cmdBuf[80]; + + ttyIos.c_iflag = (BRKINT | IGNPAR | ISTRIP | IXON); + ttyIos.c_oflag = OPOST; + ttyIos.c_cflag = (B38400 | CS8 | PARENB | HUPCL | CREAD); + /* Change back to B9600? */ + ttyIos.c_lflag = (ISIG | IEXTEN); + + ttyIos.c_cc[VMIN] = 0; + ttyIos.c_cc[VTIME] = 0; + + /* initialize special characters */ + ttyIos.c_cc[VINTR] = CINTR; + ttyIos.c_cc[VQUIT] = CQUIT; + ttyIos.c_cc[VERASE] = CERASE; + ttyIos.c_cc[VKILL] = CKILL; + ttyIos.c_cc[VEOF] = CEOF; + ttyIos.c_cc[VEOL] = CNUL; + ttyIos.c_cc[VEOL2] = CNUL; /* non-default */ + ttyIos.c_cc[VSTART] = CSTART; + ttyIos.c_cc[VSTOP] = CSTOP; + ttyIos.c_cc[VSWTCH] = CSWTCH; + ttyIos.c_cc[VWERASE] = CERASE; + ttyIos.c_cc[VLNEXT] = CLNEXT; + ttyIos.c_cc[VDSUSP] = CDSUSP; + ttyIos.c_cc[VSUSP] = CSUSP; + +#if 0 +/* print current c_cc values */ + printf("c_cc[VINTR] = \\x%02x\n", ttyIos.c_cc[VINTR]); + printf("c_cc[VQUIT] = \\x%02x\n", ttyIos.c_cc[VQUIT]); + printf("c_cc[VERASE] = \\x%02x\n", ttyIos.c_cc[VERASE]); + printf("c_cc[VKILL] = \\x%02x\n", ttyIos.c_cc[VKILL]); + printf("c_cc[VEOF] = \\x%02x\n", ttyIos.c_cc[VEOF]); + printf("c_cc[VEOL] = \\x%02x\n", ttyIos.c_cc[VEOL]); + printf("c_cc[VEOL2] = \\x%02x\n", ttyIos.c_cc[VEOL2]); + printf("c_cc[VSWTCH] = \\x%02x\n", ttyIos.c_cc[VSWTCH]); + printf("c_cc[VWERASE]= \\x%02x\n", ttyIos.c_cc[VWERASE]); + printf("c_cc[VLNEXT] = \\x%02x\n", ttyIos.c_cc[VLNEXT]); + printf("c_cc[VDSUSP] = \\x%02x\n", ttyIos.c_cc[VDSUSP]); + printf("c_cc[VMIN] = \\x%02x\n", ttyIos.c_cc[VMIN]); + printf("c_cc[VTIME] = \\x%02x\n", ttyIos.c_cc[VTIME]); + printf("c_cc[VSUSP] = \\x%02x\n", ttyIos.c_cc[VSUSP]); + printf("c_cc[VSTART] = \\x%02x\n", ttyIos.c_cc[VSTART]); + printf("c_cc[VSTOP] = \\x%02x\n", ttyIos.c_cc[VSTOP]); +#endif + + (void)close(2); + (void)dup(pfd[1]); + (void)close(1); + (void)dup(pfd[1]); + (void)close(pfd[0]); + (void)close(0); + (void)setpgrp(); + (void)umask(0); + if (tcsetattr(mfd, TCSANOW, &ttyIos) == -1) + progExit("Unable to set console attributes\n"); + (void)sprintf(cmdBuf, "-S %s.%d", &master[13], mfd); +if (consLog) { + if (execlp("hpterm", "hpterm", "-name", "Console", "-l", "-lf", consLog, cmdBuf, (char *)0) + == -1) { + cons_pid = -1; + return -1; + } +} else { + if (execlp("hpterm", "hpterm", "-name", "Console", cmdBuf, (char *)0) + == -1) { + cons_pid = -1; + return -1; + } +} + /*NOTREACHED*/ + } else if (cons_pid != -1) { /* Parent */ + (void)close(pfd[1]); + (void)close(mfd); +#if 0 + alarm(2); + pause(); + alarm(0); +#endif + (void)sleep(3); + (void)atexit(closeConsole); + return open(slave, O_RDWR | O_EXCL); + } + return -1; +} + +/*ARGSUSED*/ +static void asynckb(int sig) +{ +#if 0 + cmdWarn("(%lld) Signal %d received. Pending keyboard interrupt\n", + total_insts, sig); +#endif + (void)signal(SIGIO, asynckb); + intrsim = kybdint = YES; +} + +static void readConsole(char *buf) +{ + if (noConsole) + buf[0] = getchar(); + else if (!read(cfd, buf, 1)) + buf[0] = '\0'; +} + +static void writeConsole(char *buf) +{ +#if 1 + if (cons_pid == -1) { + if (noConsole) + initNoConsole(); + else if ((cfd = initConsole()) == -1) + progExit("Unable to open console window\n"); + } +#endif + if (noConsole) + (void)fprintf(stdout, "%s", buf); + else + (void)write(cfd, buf, strlen(buf)); +} + +static BOOL completeXfer(unsigned fd, WORD *count) +{ + SscReqNode *p; + + for (p = sscPend; p; p = p->next) + if (p->type == DISK_IRPT && p->fd == fd) { + *count = p->count; + delSscReq(p); + free(p); + return YES; + } + return NO; +} + +static BOOL getXfer(unsigned *fd, WORD *count) +{ + if (sscDiskDone) { + SscReqNode *p = sscDiskDone; + + *fd = p->fd; + *count = p->count; + sscDiskDone = p->next; + free(p); + return YES; + } + return NO; +} + +void doSSC(HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG *ret) +{ + BYTE buf[100]; + char msg[100]; + unsigned i; + size_t nbytes; + static struct timeval tp; + static struct timezone tzp; + ADDR adr; +#if 0 + struct tm *uxTimeP; + SscTime sscTime; +#endif + SscTimeval sscTimeval; + SscTimezone sscTimezone; + SscDiskReq diskReq; + SscDiskStat diskStat; + unsigned diskXfer; + + /* initialize malargbuf ptr if necessary */ + if (malargbufsize == 0) { + if (!(malargbuf = malloc(INITMALLOC))) + return; /* XXX - set errno? */ + malargbufsize = INITMALLOC; + } + +#if 0 +/* debug stuff */ +if (num != SSC_PUTCHAR && num != SSC_GET_TOD) + cmdWarn("(%llu) SSC call: %d. arg0-3: %llx, %llx, %llx, %llx\n", + total_insts, num, arg0, arg1, arg2, arg3); +#endif + switch (num) { + case SSC_CLOSE: + *ret = close(arg0); +#if 0 + cmdWarn("Close file descriptor: %lld\n", arg0); +#endif + break; + case SSC_CONNECT_INTERRUPT: { + BOOL found = NO; + +#if 0 +fprintf(stderr, "(%llu) Connecting SSC Irpt: type = %d, bit = %d\n", +total_insts, (int)arg0, (int)arg1); +#endif + for (i = 0; i < irptTop && !found; i++) + if (irptTbl[i].type == arg0) { + irptTbl[i].irrBit = arg1; + found = YES; + } + if (!found) { + irptTbl[irptTop].type = arg0; + irptTbl[irptTop].irrBit = arg1; + irptTop++; + } + if (arg0 == KEYBOARD_IRPT) { + BOOL asyncio = YES; + +#if 1 + (void)read(cfd, (BYTE *)buf, sizeof buf); /* clean buffer */ +#endif + /* enable async keyboard input */ + if (noConsole) + (void)ioctl(0, FIOSSAIOSTAT, &asyncio); + else + (void)ioctl(cfd, FIOSSAIOSTAT, &asyncio); + (void)signal(SIGIO, asynckb); +#if 0 +progStop("Kybd interrupt connected to bit %d\n", (int)arg1); +#endif + } + /* no return value */ + break; + } + case SSC_CONSOLE_INIT: + if (!noConsole && (*ret = cfd = initConsole()) != -1) +#if 0 + (void)read(cfd, (BYTE *)buf, sizeof buf); /* clean buffer */ +#else + ; +#endif + if (noConsole) + initNoConsole(); + if (!noConsole && cfd == -1) + progExit("Unable to open console window\n"); + break; + case SSC_DUMP_CMD_SETUP: + (void)sprintf(msg, "ignoring unimplemented SSC: %d\n", (int)num); + (void)sysWrite(STDERR_FILENO, msg, strlen(msg)); + *ret = -1; + break; + case SSC_EXIT: + GrWrtx(8, arg0, 0); +#ifdef NEW_MP + progExit("processor %d exited with status %llx\n", curPid, arg0); +#else + progExit("processor exited with status %llx\n", arg0); +#endif + break; + case SSC_GENERATE_INTERRUPT: +#if 0 + if (arg0 == CLK_TIMER_IRPT || arg0 == PROF_TIMER_IRPT) + cmdWarn("generating a clock or profile timer interrupt\n"); + if (arg0 == DISK_IRPT) + cmdWarn("generating a disk interrupt\n"); +#endif + pendSscIrpt(arg0); + /* no return value */ + break; + case SSC_GET_COMPLETION: + if (getXfer(&diskStat.fd, &diskStat.count)) { + memBBWrtP(arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + *ret = 0; + } else + *ret = -1; + break; +#if 0 + case SSC_GET_RTC: + (void)gettimeofday(&tp, &tzp); + uxTimeP = localtime((const time_t *)&tp.tv_sec); + sscTime.year = uxTimeP->tm_year; + sscTime.mon = uxTimeP->tm_mon; + sscTime.mday = uxTimeP->tm_mday; + sscTime.hour = uxTimeP->tm_hour; + sscTime.min = uxTimeP->tm_min; + sscTime.sec = uxTimeP->tm_sec; + sscTime.msec = tp.tv_usec/1000; + sscTime.wday = uxTimeP->tm_wday; + memBBWrtP(arg0, (BYTE *)&sscTime, sizeof (SscTime)); + /* no return value */ + break; +#endif + case SSC_GET_TOD: + (void)gettimeofday(&tp, &tzp); + sscTimeval.ssc_Sec = tp.tv_sec; + sscTimeval.ssc_Usec = tp.tv_usec; + sscTimezone.ssc_Minuteswest = tzp.tz_minuteswest; + sscTimezone.ssc_Dsttime = tzp.tz_dsttime; + memBBWrtP(arg0, (BYTE *)&sscTimeval, sizeof (SscTimeval)); + memBBWrtP(arg1, (BYTE *)&sscTimezone, sizeof (SscTimezone)); + /* no return value */ + break; + case SSC_GETCHAR: + readConsole((char *)buf); + *ret = buf[0]; + GrWrtx(32, buf[0], 0); + break; + case SSC_LOAD_SYMBOLS: + memBBRdP(arg1, buf, 0); + /* arg0, arg2, and arg3 are currently not used */ + if (elfSymLoad((char *)buf)) + *ret = 0; + else + *ret = -1; + break; + case SSC_OPEN: + memBBRdP(arg0, buf, 0); + if (arg1 == SSC_READ_ACCESS) + *ret = open((char *)buf, O_RDONLY); + else if (arg1 == SSC_WRITE_ACCESS) + *ret = open((char *)buf, O_WRONLY); + else if (arg1 == (SSC_READ_ACCESS | SSC_WRITE_ACCESS)) + *ret = open((char *)buf, O_RDWR); + else + progStop("SSC_OPEN: arg1 has an illegal access type\n"); +#if 0 + cmdWarn("File opened: %s. Return status: %lld\n", + (char *)buf, *ret); +#endif +#if 0 + fprintf(stderr, "File opened: %s, Mode: %s, Return status: %lld\n", + (char *)buf, + arg1 == SSC_READ_ACCESS ? "R" : arg1 == SSC_WRITE_ACCESS ? "W" : "RW", + *ret); +#endif + break; + case SSC_PUTCHAR: + buf[0] = arg0; + buf[1] = '\0'; + writeConsole((char *)buf); + /* no return value */ + break; + case SSC_READ: + /* XXX - should error return be a 32- or 64-bit -1? */ + /* XXX - is the -1 right or should it be 0xFFFFFFFF? */ + if ((*ret = (WORD)lseek(arg0, arg3, SEEK_SET)) == -1) + return; + adr = arg2; + *ret = 0; + for (i = 0, diskXfer = 0; i < arg1; i++) { + memBBRdP(adr, (BYTE *)&diskReq, sizeof (SscDiskReq)); + if (diskReq.len > malargbufsize) { + if (!(malargbuf = realloc(malargbuf, diskReq.len))) { + *ret = -1; + break; + } + malargbufsize = diskReq.len; + } +#if 0 +cmdWarn("SSC read: reading %d bytes\n", (int)diskReq.len); +#endif +#if 0 +fprintf(stderr, "SSC read: attempting to read %d bytes from %llx\n", +(int)diskReq.len, diskReq.addr); +#endif + nbytes = read(arg0, malargbuf, diskReq.len); +#if 0 +fprintf(stderr, "SSC read: return value from read: %d, errno=%d\n", (int)nbytes, errno); +#endif + if ((int)nbytes > 0) { + diskXfer += nbytes; + memBBWrtP(diskReq.addr, malargbuf, nbytes); +{ +ADDR a, b; + +b = (diskReq.addr + nbytes) & ~0xFULL; +for (a = diskReq.addr & ~0xF; a <= b; a += 16) +clearPdecode(a, 16); +} + } else if (!nbytes) + break; + else { + *ret = -1; + break; + } + adr += sizeof (SscDiskReq); + } + if (!(sscNew = newSscReq(DISK_IRPT, IO_IRPT_CNT, arg0, diskXfer))) + *ret = -1; + addSscReq(sscNew); + break; + case SSC_SET_PERIODIC_INTERRUPT: + if (arg0 == CLK_TIMER_IRPT) + clkTmr = arg1; + else if (arg0 == PROF_TIMER_IRPT) + profTmr = arg1; + else + progStop("SSC_SET_PERIODIC:" + " arg0 has an illegal interrupt type\n"); + if (!arg1) { + SscReqNode *p; + + for (p = sscPend; p; p = p->next) + if (p->type == arg0) { + delSscReq(p); + free(p); + break; + } + } else { + SscReqNode *p; + + for (p = sscPend; p; p = p->next) + if (p->type == arg0) { + delSscReq(p); + p->irptcnt = arg1; + addSscReq(p); + break; + } + if (!p) { + sscNew = newSscReq(arg0, arg1, 0, 0); + addSscReq(sscNew); + } + } +#if 0 + fprintf(stderr, + "(%llu) Periodic interrupt: type %d, interval %llu\n", + total_insts, (int)arg0, arg1); +#endif + /* no return value */ + break; + case SSC_STOP: + progStop("SSC breakpoint\n"); + break; + case SSC_WAIT_COMPLETION: + memBBRdP(arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + if (completeXfer(diskStat.fd, &diskStat.count)) { + memBBWrtP(arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + *ret = 0; + } else + *ret = -1; + break; + case SSC_WRITE: + if ((*ret = lseek(arg0, arg3, SEEK_SET)) == -1) + return; + adr = arg2; + for (i = 0, diskXfer = 0; i < arg1; i++) { + memBBRdP(adr, (BYTE *)&diskReq, sizeof (SscDiskReq)); + if (diskReq.len > malargbufsize) { + if (!(malargbuf = realloc(malargbuf, diskReq.len))) { + *ret = -1; + break; + } + malargbufsize = diskReq.len; + } + memBBRdP(diskReq.addr, malargbuf, diskReq.len); + nbytes = write(arg0, malargbuf, diskReq.len); + if ((int)nbytes > 0) + diskXfer += nbytes; + else if (!nbytes) + break; + else { + *ret = -1; + break; + } + adr += sizeof (SscDiskReq); + } + if (!(sscNew = newSscReq(DISK_IRPT, IO_IRPT_CNT, arg0, diskXfer))) + *ret = -1; + addSscReq(sscNew); + break; + default: + progStop("Unsupported SSC: %d\n", (int)num); + break; + } +} + +void pendSscIrpt(unsigned type) +{ + unsigned i; + REG *p = &IRR0; /* assume IRR0-3 are contiguous */ + +#if 0 +fprintf(stderr, "(%llu) Pending SSC Irpt: type = %u\n", total_insts, type); +#endif + for (i = 0; i < irptTop; i++) + if (type == irptTbl[i].type) { + unsigned vector = irptTbl[i].irrBit, reg, bit; + +#if 0 + fprintf(stderr, + "(%llu) Pend interrupt vector %u for SSC interrupt %u\n", + total_insts, vector, type); +#endif + if (vector == 1 || (vector >= 3 && vector <= 15)) + continue; /* ignore vectors 1 and 3 - 15 */ + + reg = vector >> 6 & 0x3; + bit = vector & 0x3F; + *(p + reg) |= (REG)1 << bit; + break; + } + if (i == irptTop) + progStop("Could not pend SSC interrupt %u\n", type); + + if (type == CLK_TIMER_IRPT) { + SscReqNode *q = sscPend; + + sscPend = q->next; + q->irptcnt = clkTmr; + addSscReq(q); + } + if (type == PROF_TIMER_IRPT) { + SscReqNode *q = sscPend; + + sscPend = q->next; + q->irptcnt = profTmr; + addSscReq(q); + } + if (type == DISK_IRPT) { + SscReqNode *q = sscPend; + + sscPend = q->next; + if (sscDiskDone) { + SscReqNode *p; + + for (p = sscDiskDone; p->next; p = p->next) + ; + p->next = q; + } else + sscDiskDone = q; + q->next = NULL; + } + + if (acceptIrpt()) + intrsim = extint = YES; +} + +void setFdmap(int fd1, int fd2) +{ + fdmap[fd1] = fd2; +} + +static void doEFI_GetTime(REG arg0, REG *ret0) +{ + *ret0 = 0; + (void)memMWrt(arg0, 8, 0); + (void)memMWrt(arg0+8, 8, 0); +} + +static void doPAL(REG *ret0, REG *ret1, REG *ret2, REG *ret3) +{ + REG arg0, arg1, arg2, arg3; + BOOL junk; + + GrRd(28, arg0, junk, NO); + GrRd(29, arg1, junk, NO); + GrRd(30, arg2, junk, NO); + GrRd(31, arg3, junk, NO); + + *ret0 = *ret1 = *ret2 = *ret3 = 0; + if (arg0 == 0x4ULL) { /* PAL_CACHE_SUMMARY */ + *ret1 = 3; /* CACHE_LEVELS_MIN */ + } else if (arg0 == 0x2ULL) { /* PAL_CACHE_INFO */ + /* XXX - are these cache parameters OK? */ + switch ((int)arg1) { + case 0: + *ret1 = 4<<8; /* L1I_INST_DAT_CACHE_ASSOC */ + *ret2 = 0x4000; /* L1I_INST_DAT_CACHE_SZ */ + break; + case 1: + *ret1 = arg2 == 1 ? 0 : 6<<8; /* L2_UNIF_CACHE_ASSOC */ + *ret2 = arg2 == 1 ? 0 : 0x18000;/* L2_UNIF_CACHE_SZ */ + break; + case 2: + /* L3 Unified Cache w/ line size = 32, assoc = 4 */ + *ret1 = arg2 == 1 ? 0 : 5<<16|4<<8; + *ret2 = arg2 == 1 ? 0 : 0x200000;/* L3_UNIF_CACHE_SZ */ + break; + } + } else if (arg0 == 0x8ULL) { /* PAL_VM_SUMMARY */ + *ret1 = 7ULL<<40 | 7ULL<<32 | 15ULL<<16 | 18ULL<<8; + *ret2 = 18ULL<<8 | 50; + } else if (arg0 == 0x9ULL) { /* PAL_BUS_GET_FEATURES */ + *ret1 = 0; /* avail */ + *ret2 = 0; /* status */ + *ret3 = 0; /* control */ + } else if (arg0 == 0xBULL) { /* PAL_DEBUG_INFO */ + *ret1 = 4; + *ret2 = 4; + } else if (arg0 == 0xEULL) { /* PAL_FREQ_RATIOS */ + *ret1 = 0x800000002ULL; + *ret2 = 0x100000001ULL; + *ret3 = 0x800000002ULL; + } else if (arg0 == 0xFULL) { /* PAL_PERF_MON_INFO */ + *ret1 = 0ULL<<24 | 0ULL<<16 | 0ULL<<8 | 4; + } else if (arg0 == 0x11ULL) { /* PAL_PROC_GET_FEATURES */ + *ret1 = 0; /* avail */ + *ret2 = 0; /* status */ + *ret3 = 0; /* control */ + } else if (arg0 == 0x14ULL) { /* PAL_VERSION */ + *ret1 = 0; /* min_pal_ver */ +#if 0 + *ret2 = 0xFFULL<<24; /* cur_pal_ver (vendor == INTEL) */ +#else + *ret2 = 0; /* cur_pal_ver */ +#endif + } else if (arg0 == 0x22ULL) { /* PAL_VM_PAGE_SIZE */ + *ret1 = 15557ULL << 12; + } else + progStop("bad PAL call\n"); +} + +static HWORD pciCmd; +static BYTE pciCacheLineSz, pciLatTmr; +WORD pciBar[6] = {0xFFFFE001, 0xFFFFE000, 0xFFFFE000}; + +static REG pciConfigRd(REG arg1, REG arg2) +{ + BYTE segno, busno, devno, fnno, regno; + + segno = BitfR(arg1,32,8); + busno = BitfR(arg1,40,8); + devno = BitfR(arg1,48,5); + fnno = BitfR(arg1,53,3); + regno = BitfR(arg1,56,8); + if (arg1 == 0x7800) /* Azusa platform */ + return arg2 == 2 ? 0x1000 : 0x000c1000; + if (arg1 == 0x7804 && arg2 == 2) /* command */ + return pciCmd; + if (arg1 == 0x7804 && arg2 == 4) /* command/status */ + return pciCmd; + if (arg1 == 0x7806 && arg2 == 2) /* status */ + return 0x0000; + if (arg1 == 0x7808 && arg2 == 4) /* revision ID and class code */ + return 0x0100000A; + if (arg1 == 0x780A && arg2 == 2) /* class */ + return 0x0100; /* SCSI bus controller */ + if (arg1 == 0x780C && arg2 == 2) /* cache line size & latency timer */ + return (HWORD)pciLatTmr << 8 | pciCacheLineSz; + if (arg1 == 0x780E && arg2 == 1) /* header type */ + return 0x00; + if (arg1 >= 0x7810 && arg1 <= 0x7824 && arg2 == 4) /* BARs */ + return pciBar[(arg1-0x7810)>>2]; + if (arg1 == 0x7830 && arg2 == 4) /* Expansion ROM */ + return 0x00000000; + if (arg1 == 0x783D && arg2 == 1) /* Interrupt Pin */ + return 0x01; + if (!segno && !busno && !fnno && !regno && arg2 == 4) + return 0xFFFFFFFF; + progStop("bad FW call\n"); + return 0; +} + +static void pciConfigWr(REG arg1, REG arg2, REG arg3) +{ + BYTE segno, busno, devno, fnno, regno; + + segno = BitfR(arg1,32,8); + busno = BitfR(arg1,40,8); + devno = BitfR(arg1,48,5); + fnno = BitfR(arg1,53,3); + regno = BitfR(arg1,56,8); + if (arg1 == 0x7804 && arg2 == 2) { /* command */ + pciCmd = arg3; + return; + } +/* XXX - this case seems to only be currently used in a situation that + probably should never occur, so perhaps move this to the end? + */ + if (arg1 == 0x780C && arg2 == 1) { /* cache line size */ + pciCacheLineSz = BitfR(arg3,56,8); + return; + } + if (arg1 == 0x780C && arg2 == 2) { /* cache line size & latency timer */ + pciCacheLineSz = BitfR(arg3,56,8); + pciLatTmr = BitfR(arg3,48,8); + return; + } + if (arg1 == 0x7810 && arg2 == 4) { /* I/O BAR */ + pciBar[(arg1-0x7810)>>2] = (arg3 & ~0x1FFFULL) | 1; + return; + } + if (arg1 >= 0x7814 && arg1 <= 0x7818 && arg2 == 4) { /* Memory BARs */ + pciBar[(arg1-0x7810)>>2] = arg3 & ~0x1FFFULL; + return; + } + if (arg1 >= 0x781C && arg1 <= 0x7824 && arg2 == 4) /* unimpl. BARs */ + return; + if (arg1 == 0x7830 && arg2 == 4) /* Expansion ROM */ + return; + progStop("bad FW call\n"); +} + +REG doFW(REG imm, REG arg0, REG arg1, REG arg2, REG arg3) +{ + REG ret0 = 0, ret1 = 0, ret2 = 0, ret3 = 0; + + if (ip == 0x12FFFFB0ULL) + doEFI_GetTime(arg0, &ret0); + else if (arg0 < 0x100ULL) /* XXX - hack that should detect PAL calls */ + doPAL(&ret0, &ret1, &ret2, &ret3); + else if (arg0 == 0x1000000ULL) /* SAL_SET_VECTORS */ + ; + else if (arg0 == 0x1000001ULL) /* SAL_GET_STATE_INFO */ + ret0 = -5ULL; + else if (arg0 == 0x1000002ULL) /* SAL_GET_STATE_INFO_SIZE */ + ret1 = 1; + else if (arg0 == 0x1000003ULL) /* SAL_CLEAR_STATE_INFO */ + ; + else if (arg0 == 0x1000005ULL) /* SAL_MC_SET_PARAMS */ + ; + else if (arg0 == 0x1000010ULL) /* SAL_PCI_CONFIG_READ */ + ret1 = pciConfigRd(arg1, arg2); + else if (arg0 == 0x1000011ULL) /* SAL_PCI_CONFIG_WRITE */ + pciConfigWr(arg1, arg2, arg3); + else if (arg0 == 0x1000012ULL) /* SAL_FREQ_BASE */ + ret1 = 10000000ULL/*140000000ULL*/, + ret2 = 100ULL; + else + progStop("bad FW call\n"); + GrWrtx(9, ret1, 0); + GrWrtx(10, ret2, 0); + GrWrtx(11, ret3, 0); + return ret0; +} diff --git a/src/hpux/syscall-hpux.h b/src/hpux/syscall-hpux.h new file mode 100644 index 0000000..3007afb --- /dev/null +++ b/src/hpux/syscall-hpux.h @@ -0,0 +1,826 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_SYSCALL_HPUX_H +#define _SKI_SYSCALL_HPUX_H + +#define SYS_NOSYS 0 +#define SYS_nosys 0 +#define SYS_EXIT 1 +#define SYS_exit 1 +#define SYS_FORK 2 +#define SYS_fork 2 +#define SYS_READ 3 +#define SYS_read 3 +#define SYS_WRITE 4 +#define SYS_write 4 +#define SYS_OPEN 5 +#define SYS_open 5 +#define SYS_CLOSE 6 +#define SYS_close 6 +#define SYS_WAIT 7 +#define SYS_wait 7 +#define SYS_CREAT 8 +#define SYS_creat 8 +#define SYS_LINK 9 +#define SYS_link 9 +#define SYS_UNLINK 10 +#define SYS_unlink 10 +#define SYS_EXECV 11 +#define SYS_execv 11 +#define SYS_CHDIR 12 +#define SYS_chdir 12 +#define SYS_TIME 13 +#define SYS_time 13 +#define SYS_MKNOD 14 +#define SYS_mknod 14 +#define SYS_CHMOD 15 +#define SYS_chmod 15 +#define SYS_CHOWN 16 +#define SYS_chown 16 +#define SYS_BRK 17 +#define SYS_brk 17 +#define SYS_LCHMOD 18 +#define SYS_lchmod 18 +#define SYS_LSEEK 19 +#define SYS_lseek 19 +#define SYS_GETPID 20 +#define SYS_getpid 20 +#define SYS_MOUNT 21 +#define SYS_mount 21 +#define SYS_UMOUNT 22 +#define SYS_umount 22 +#define SYS_SETUID 23 +#define SYS_setuid 23 +#define SYS_GETUID 24 +#define SYS_getuid 24 +#define SYS_STIME 25 +#define SYS_stime 25 +#define SYS_PTRACE 26 +#define SYS_ptrace 26 +#define SYS_ALARM 27 +#define SYS_alarm 27 +#define SYS_PAUSE 29 +#define SYS_pause 29 +#define SYS_UTIME 30 +#define SYS_utime 30 +#define SYS_STTY 31 +#define SYS_stty 31 +#define SYS_GTTY 32 +#define SYS_gtty 32 +#define SYS_ACCESS 33 +#define SYS_access 33 +#define SYS_NICE 34 +#define SYS_nice 34 +#define SYS_FTIME 35 +#define SYS_ftime 35 +#define SYS_SYNC 36 +#define SYS_sync 36 +#define SYS_KILL 37 +#define SYS_kill 37 +#define SYS_STAT 38 +#define SYS_stat 38 +#define SYS_SETPGRP3 39 +#define SYS_setpgrp3 39 +#define SYS_LSTAT 40 +#define SYS_lstat 40 +#define SYS_DUP 41 +#define SYS_dup 41 +#define SYS_PIPE 42 +#define SYS_pipe 42 +#define SYS_TIMES 43 +#define SYS_times 43 +#define SYS_PROFIL 44 +#define SYS_profil 44 +#define SYS_KI_CALL 45 +#define SYS_ki_call 45 +#define SYS_SETGID 46 +#define SYS_setgid 46 +#define SYS_GETGID 47 +#define SYS_getgid 47 +#define SYS_ACCT 51 +#define SYS_acct 51 +#define SYS_SET_USERTHREADID 52 +#define SYS_set_userthreadid 52 +#define SYS_IOCTL 54 +#define SYS_ioctl 54 +#define SYS_REBOOT 55 +#define SYS_reboot 55 +#define SYS_SYMLINK 56 +#define SYS_symlink 56 +#define SYS_UTSSYS 57 +#define SYS_utssys 57 +#define SYS_READLINK 58 +#define SYS_readlink 58 +#define SYS_EXECVE 59 +#define SYS_execve 59 +#define SYS_UMASK 60 +#define SYS_umask 60 +#define SYS_CHROOT 61 +#define SYS_chroot 61 +#define SYS_FCNTL 62 +#define SYS_fcntl 62 +#define SYS_ULIMIT 63 +#define SYS_ulimit 63 +#define SYS_VFORK 66 +#define SYS_vfork 66 +#define SYS_LWP_GETPRIVATE 67 +#define SYS_lwp_getprivate 67 +#define SYS_LWP_SETPRIVATE 68 +#define SYS_lwp_setprivate 68 +#define SYS_MMAP 71 +#define SYS_mmap 71 +#define SYS_MUNMAP 73 +#define SYS_munmap 73 +#define SYS_MPROTECT 74 +#define SYS_mprotect 74 +#define SYS_MADVISE 75 +#define SYS_madvise 75 +#define SYS_VHANGUP 76 +#define SYS_vhangup 76 +#define SYS_SWAPOFF 77 +#define SYS_swapoff 77 +#define SYS_GETGROUPS 79 +#define SYS_getgroups 79 +#define SYS_SETGROUPS 80 +#define SYS_setgroups 80 +#define SYS_GETPGRP2 81 +#define SYS_getpgrp2 81 +#define SYS_SETPGID 82 +#define SYS_setpgid 82 +#define SYS_SETPGRP2 82 +#define SYS_setpgrp2 82 +#define SYS_SETITIMER 83 +#define SYS_setitimer 83 +#define SYS_WAIT3 84 +#define SYS_wait3 84 +#define SYS_SWAPON 85 +#define SYS_swapon 85 +#define SYS_GETITIMER 86 +#define SYS_getitimer 86 +#define SYS_DUP2 90 +#define SYS_dup2 90 +#define SYS_FSTAT 92 +#define SYS_fstat 92 +#define SYS_SELECT 93 +#define SYS_select 93 +#define SYS_FSYNC 95 +#define SYS_fsync 95 +#define SYS_SETPRIORITY 96 +#define SYS_setpriority 96 +#define SYS_GETPRIORITY 100 +#define SYS_getpriority 100 +#define SYS_LF_SEND 103 +#define SYS_lf_send 103 +#define SYS_SIGVECTOR 108 +#define SYS_sigvector 108 +#define SYS_SIGBLOCK 109 +#define SYS_sigblock 109 +#define SYS_SIGSETMASK 110 +#define SYS_sigsetmask 110 +#define SYS_SIGPAUSE 111 +#define SYS_sigpause 111 +#define SYS_SIGSTACK 112 +#define SYS_sigstack 112 +#define SYS_GETTIMEOFDAY 116 +#define SYS_gettimeofday 116 +#define SYS_GETRUSAGE 117 +#define SYS_getrusage 117 +#define SYS_READV 120 +#define SYS_readv 120 +#define SYS_WRITEV 121 +#define SYS_writev 121 +#define SYS_SETTIMEOFDAY 122 +#define SYS_settimeofday 122 +#define SYS_FCHOWN 123 +#define SYS_fchown 123 +#define SYS_FCHMOD 124 +#define SYS_fchmod 124 +#define SYS_SETRESUID 126 +#define SYS_setresuid 126 +#define SYS_SETRESGID 127 +#define SYS_setresgid 127 +#define SYS_RENAME 128 +#define SYS_rename 128 +#define SYS_TRUNCATE 129 +#define SYS_truncate 129 +#define SYS_FTRUNCATE 130 +#define SYS_ftruncate 130 +#define SYS_SYSCONF 132 +#define SYS_sysconf 132 +#define SYS_MKDIR 136 +#define SYS_mkdir 136 +#define SYS_RMDIR 137 +#define SYS_rmdir 137 +#define SYS_SIGCLEANUP 139 +#define SYS_sigcleanup 139 +#define SYS_SETCORE 140 +#define SYS_setcore 140 +#define SYS_GETRLIMIT 144 +#define SYS_getrlimit 144 +#define SYS_SETRLIMIT 145 +#define SYS_setrlimit 145 +#define SYS_LWP_SELF 147 +#define SYS_lwp_self 147 +#define SYS_QUOTACTL 148 +#define SYS_quotactl 148 +#define SYS_GET_SYSINFO 149 +#define SYS_get_sysinfo 149 +#define SYS_PRIVGRP 151 +#define SYS_privgrp 151 +#define SYS_RTPRIO 152 +#define SYS_rtprio 152 +#define SYS_PLOCK 153 +#define SYS_plock 153 +#define SYS_LF_NEXT_SCN 154 +#define SYS_lf_next_scn 154 +#define SYS_LOCKF 155 +#define SYS_lockf 155 +#define SYS_SEMGET 156 +#define SYS_semget 156 +#define SYS_SEMOP 158 +#define SYS_semop 158 +#define SYS_MSGGET 159 +#define SYS_msgget 159 +#define SYS_MSGSND 161 +#define SYS_msgsnd 161 +#define SYS_MSGRCV 162 +#define SYS_msgrcv 162 +#define SYS_SHMGET 163 +#define SYS_shmget 163 +#define SYS_SHMAT 165 +#define SYS_shmat 165 +#define SYS_SHMDT 166 +#define SYS_shmdt 166 +#define SYS_NSP_INIT 168 +#define SYS_nsp_init 168 +#define SYS_MKRNOD 170 +#define SYS_mkrnod 170 +#define SYS_TEST 171 +#define SYS_test 171 +#define SYS_UNSP_OPEN 172 +#define SYS_unsp_open 172 +#define SYS_OGETCONTEXT 174 +#define SYS_ogetcontext 174 +#define SYS_OSETCONTEXT 175 +#define SYS_osetcontext 175 +#define SYS_BIGIO 176 +#define SYS_bigio 176 +#define SYS_PIPENODE 177 +#define SYS_pipenode 177 +#define SYS_LSYNC 178 +#define SYS_lsync 178 +#define SYS_MYSITE 180 +#define SYS_mysite 180 +#define SYS_SITELS 181 +#define SYS_sitels 181 +#define SYS_SWAPCLIENTS 182 +#define SYS_swapclients 182 +#define SYS_RMTPROCESS 183 +#define SYS_rmtprocess 183 +#define SYS_DSKLESS_STATS 184 +#define SYS_dskless_stats 184 +#define SYS_SIGPROCMASK 185 +#define SYS_sigprocmask 185 +#define SYS_SIGPENDING 186 +#define SYS_sigpending 186 +#define SYS_SIGSUSPEND 187 +#define SYS_sigsuspend 187 +#define SYS_SIGACTION 188 +#define SYS_sigaction 188 +#define SYS_LW_GET_THREAD_TIMES 189 +#define SYS_lw_get_thread_times 189 +#define SYS_NFSSVC 190 +#define SYS_nfssvc 190 +#define SYS_GETFH 191 +#define SYS_getfh 191 +#define SYS_GETDOMAINNAME 192 +#define SYS_getdomainname 192 +#define SYS_SETDOMAINNAME 193 +#define SYS_setdomainname 193 +#define SYS_ASYNC_DAEMON 194 +#define SYS_async_daemon 194 +#define SYS_GETDIRENTRIES 195 +#define SYS_getdirentries 195 +#define SYS_STATFS 196 +#define SYS_statfs 196 +#define SYS_FSTATFS 197 +#define SYS_fstatfs 197 +#define SYS_VFSMOUNT 198 +#define SYS_vfsmount 198 +#define SYS_QMML 199 +#define SYS_qmml 199 +#define SYS_WAITPID 200 +#define SYS_waitpid 200 +#define SYS_SIGSETRETURN 224 +#define SYS_sigsetreturn 224 +#define SYS_SIGSETSTATEMASK 225 +#define SYS_sigsetstatemask 225 +#define SYS_CS 227 +#define SYS_cs 227 +#define SYS_CDS 228 +#define SYS_cds 228 +#define SYS_SET_NO_TRUNC 229 +#define SYS_set_no_trunc 229 +#define SYS_PATHCONF 230 +#define SYS_pathconf 230 +#define SYS_FPATHCONF 231 +#define SYS_fpathconf 231 +#define SYS_NFS_FCNTL 234 +#define SYS_nfs_fcntl 234 +#define SYS_OGETACL 235 +#define SYS_ogetacl 235 +#define SYS_OFGETACL 236 +#define SYS_ofgetacl 236 +#define SYS_OSETACL 237 +#define SYS_osetacl 237 +#define SYS_OFSETACL 238 +#define SYS_ofsetacl 238 +#define SYS_PSTAT 239 +#define SYS_pstat 239 +#define SYS_GETAUDID 240 +#define SYS_getaudid 240 +#define SYS_SETAUDID 241 +#define SYS_setaudid 241 +#define SYS_GETAUDPROC 242 +#define SYS_getaudproc 242 +#define SYS_SETAUDPROC 243 +#define SYS_setaudproc 243 +#define SYS_GETEVENT 244 +#define SYS_getevent 244 +#define SYS_SETEVENT 245 +#define SYS_setevent 245 +#define SYS_AUDWRITE 246 +#define SYS_audwrite 246 +#define SYS_AUDSWITCH 247 +#define SYS_audswitch 247 +#define SYS_AUDCTL 248 +#define SYS_audctl 248 +#define SYS_OGETACCESS 249 +#define SYS_ogetaccess 249 +#define SYS_FSCTL 250 +#define SYS_fsctl 250 +#define SYS_SWAPFS 259 +#define SYS_swapfs 259 +#define SYS_FSS 260 +#define SYS_fss 260 +#define SYS_TSYNC 267 +#define SYS_tsync 267 +#define SYS_GETNUMFDS 268 +#define SYS_getnumfds 268 +#define SYS_POLL 269 +#define SYS_poll 269 +#define SYS_GETMSG 270 +#define SYS_getmsg 270 +#define SYS_PUTMSG 271 +#define SYS_putmsg 271 +#define SYS_FCHDIR 272 +#define SYS_fchdir 272 +#define SYS_GETMOUNT_CNT 273 +#define SYS_getmount_cnt 273 +#define SYS_GETMOUNT_ENTRY 274 +#define SYS_getmount_entry 274 +#define SYS_ACCEPT 275 +#define SYS_accept 275 +#define SYS_BIND 276 +#define SYS_bind 276 +#define SYS_CONNECT 277 +#define SYS_connect 277 +#define SYS_GETPEERNAME 278 +#define SYS_getpeername 278 +#define SYS_GETSOCKNAME 279 +#define SYS_getsockname 279 +#define SYS_GETSOCKOPT 280 +#define SYS_getsockopt 280 +#define SYS_LISTEN 281 +#define SYS_listen 281 +#define SYS_RECV 282 +#define SYS_recv 282 +#define SYS_RECVFROM 283 +#define SYS_recvfrom 283 +#define SYS_RECVMSG 284 +#define SYS_recvmsg 284 +#define SYS_SEND 285 +#define SYS_send 285 +#define SYS_SENDMSG 286 +#define SYS_sendmsg 286 +#define SYS_SENDTO 287 +#define SYS_sendto 287 +#define SYS_SETSOCKOPT 288 +#define SYS_setsockopt 288 +#define SYS_SHUTDOWN 289 +#define SYS_shutdown 289 +#define SYS_SOCKET 290 +#define SYS_socket 290 +#define SYS_SOCKETPAIR 291 +#define SYS_socketpair 291 +#define SYS_PROC_OPEN 292 +#define SYS_proc_open 292 +#define SYS_PROC_CLOSE 293 +#define SYS_proc_close 293 +#define SYS_PROC_SEND 294 +#define SYS_proc_send 294 +#define SYS_PROC_RECV 295 +#define SYS_proc_recv 295 +#define SYS_PROC_SENDRECV 296 +#define SYS_proc_sendrecv 296 +#define SYS_PROC_SYSCALL 297 +#define SYS_proc_syscall 297 +#define SYS_SEMCTL 312 +#define SYS_semctl 312 +#define SYS_MSGCTL 313 +#define SYS_msgctl 313 +#define SYS_SHMCTL 314 +#define SYS_shmctl 314 +#define SYS_MPCTL 315 +#define SYS_mpctl 315 +#define SYS_EXPORTFS 316 +#define SYS_exportfs 316 +#define SYS_GETPMSG 317 +#define SYS_getpmsg 317 +#define SYS_PUTPMSG 318 +#define SYS_putpmsg 318 +#define SYS_MSYNC 320 +#define SYS_msync 320 +#define SYS_MSLEEP 321 +#define SYS_msleep 321 +#define SYS_MWAKEUP 322 +#define SYS_mwakeup 322 +#define SYS_MSEM_INIT 323 +#define SYS_msem_init 323 +#define SYS_MSEM_REMOVE 324 +#define SYS_msem_remove 324 +#define SYS_ADJTIME 325 +#define SYS_adjtime 325 +#define SYS_KLOAD 326 +#define SYS_kload 326 +#define SYS_FATTACH 327 +#define SYS_fattach 327 +#define SYS_FDETACH 328 +#define SYS_fdetach 328 +#define SYS_SERIALIZE 329 +#define SYS_serialize 329 +#define SYS_STATVFS 330 +#define SYS_statvfs 330 +#define SYS_FSTATVFS 331 +#define SYS_fstatvfs 331 +#define SYS_LCHOWN 332 +#define SYS_lchown 332 +#define SYS_GETSID 333 +#define SYS_getsid 333 +#define SYS_SYSFS 334 +#define SYS_sysfs 334 +#define SYS_SCHED_SETPARAM 337 +#define SYS_sched_setparam 337 +#define SYS_SCHED_GETPARAM 338 +#define SYS_sched_getparam 338 +#define SYS_SCHED_SETSCHEDULER 339 +#define SYS_sched_setscheduler 339 +#define SYS_SCHED_GETSCHEDULER 340 +#define SYS_sched_getscheduler 340 +#define SYS_SCHED_YIELD 341 +#define SYS_sched_yield 341 +#define SYS_SCHED_GET_PRIORITY_MAX 342 +#define SYS_sched_get_priority_max 342 +#define SYS_SCHED_GET_PRIORITY_MIN 343 +#define SYS_sched_get_priority_min 343 +#define SYS_SCHED_RR_GET_INTERVAL 344 +#define SYS_sched_rr_get_interval 344 +#define SYS_CLOCK_SETTIME 345 +#define SYS_clock_settime 345 +#define SYS_CLOCK_GETTIME 346 +#define SYS_clock_gettime 346 +#define SYS_CLOCK_GETRES 347 +#define SYS_clock_getres 347 +#define SYS_TIMER_CREATE 348 +#define SYS_timer_create 348 +#define SYS_TIMER_DELETE 349 +#define SYS_timer_delete 349 +#define SYS_TIMER_SETTIME 350 +#define SYS_timer_settime 350 +#define SYS_TIMER_GETTIME 351 +#define SYS_timer_gettime 351 +#define SYS_TIMER_GETOVERRUN 352 +#define SYS_timer_getoverrun 352 +#define SYS_NANOSLEEP 353 +#define SYS_nanosleep 353 +#define SYS_TOOLBOX 354 +#define SYS_toolbox 354 +#define SYS_GETDENTS 356 +#define SYS_getdents 356 +#define SYS_GETCONTEXT 357 +#define SYS_getcontext 357 +#define SYS_SYSINFO 358 +#define SYS_sysinfo 358 +#define SYS_FCNTL64 359 +#define SYS_fcntl64 359 +#define SYS_FTRUNCATE64 360 +#define SYS_ftruncate64 360 +#define SYS_FSTAT64 361 +#define SYS_fstat64 361 +#define SYS_GETDIRENTRIES64 362 +#define SYS_getdirentries64 362 +#define SYS_GETRLIMIT64 363 +#define SYS_getrlimit64 363 +#define SYS_LOCKF64 364 +#define SYS_lockf64 364 +#define SYS_LSEEK64 365 +#define SYS_lseek64 365 +#define SYS_LSTAT64 366 +#define SYS_lstat64 366 +#define SYS_MMAP64 367 +#define SYS_mmap64 367 +#define SYS_SETRLIMIT64 368 +#define SYS_setrlimit64 368 +#define SYS_STAT64 369 +#define SYS_stat64 369 +#define SYS_TRUNCATE64 370 +#define SYS_truncate64 370 +#define SYS_ULIMIT64 371 +#define SYS_ulimit64 371 +#define SYS_PREAD 372 +#define SYS_pread 372 +#define SYS_PREADV 373 +#define SYS_preadv 373 +#define SYS_PWRITE 374 +#define SYS_pwrite 374 +#define SYS_PWRITEV 375 +#define SYS_pwritev 375 +#define SYS_PREAD64 376 +#define SYS_pread64 376 +#define SYS_PREADV64 377 +#define SYS_preadv64 377 +#define SYS_PWRITE64 378 +#define SYS_pwrite64 378 +#define SYS_PWRITEV64 379 +#define SYS_pwritev64 379 +#define SYS_SETCONTEXT 380 +#define SYS_setcontext 380 +#define SYS_SIGALTSTACK 381 +#define SYS_sigaltstack 381 +#define SYS_WAITID 382 +#define SYS_waitid 382 +#define SYS_SETPGRP 383 +#define SYS_setpgrp 383 +#define SYS_RECVMSG2 384 +#define SYS_recvmsg2 384 +#define SYS_SENDMSG2 385 +#define SYS_sendmsg2 385 +#define SYS_SOCKET2 386 +#define SYS_socket2 386 +#define SYS_SOCKETPAIR2 387 +#define SYS_socketpair2 387 +#define SYS_SETREGID 388 +#define SYS_setregid 388 +#define SYS_LWP_CREATE 389 +#define SYS_lwp_create 389 +#define SYS_LWP_TERMINATE 390 +#define SYS_lwp_terminate 390 +#define SYS_LWP_WAIT 391 +#define SYS_lwp_wait 391 +#define SYS_LWP_SUSPEND 392 +#define SYS_lwp_suspend 392 +#define SYS_LWP_RESUME 393 +#define SYS_lwp_resume 393 +#define SYS_LWP_ABORT_SYSCALL 395 +#define SYS_lwp_abort_syscall 395 +#define SYS_LWP_INFO 396 +#define SYS_lwp_info 396 +#define SYS_LWP_KILL 397 +#define SYS_lwp_kill 397 +#define SYS_KSLEEP 398 +#define SYS_ksleep 398 +#define SYS_KWAKEUP 399 +#define SYS_kwakeup 399 +#define SYS_PSTAT_GETLWP 401 +#define SYS_pstat_getlwp 401 +#define SYS_LWP_EXIT 402 +#define SYS_lwp_exit 402 +#define SYS_LWP_CONTINUE 403 +#define SYS_lwp_continue 403 +#define SYS_GETACL 404 +#define SYS_getacl 404 +#define SYS_FGETACL 405 +#define SYS_fgetacl 405 +#define SYS_SETACL 406 +#define SYS_setacl 406 +#define SYS_FSETACL 407 +#define SYS_fsetacl 407 +#define SYS_GETACCESS 408 +#define SYS_getaccess 408 +#define SYS_LWP_MUTEX_INIT 409 +#define SYS_lwp_mutex_init 409 +#define SYS_LWP_MUTEX_LOCK_SYS 410 +#define SYS_lwp_mutex_lock_sys 410 +#define SYS_LWP_MUTEX_UNLOCK 411 +#define SYS_lwp_mutex_unlock 411 +#define SYS_LWP_COND_INIT 412 +#define SYS_lwp_cond_init 412 +#define SYS_LWP_COND_SIGNAL 413 +#define SYS_lwp_cond_signal 413 +#define SYS_LWP_COND_BROADCAST 414 +#define SYS_lwp_cond_broadcast 414 +#define SYS_LWP_COND_WAIT_SYS 415 +#define SYS_lwp_cond_wait_sys 415 +#define SYS_LWP_GETSCHEDULER 416 +#define SYS_lwp_getscheduler 416 +#define SYS_LWP_SETSCHEDULER 417 +#define SYS_lwp_setscheduler 417 +#define SYS_LWP_GETSTATE 418 +#define SYS_lwp_getstate 418 +#define SYS_LWP_SETSTATE 419 +#define SYS_lwp_setstate 419 +#define SYS_LWP_DETACH 420 +#define SYS_lwp_detach 420 +#define SYS_MLOCK 421 +#define SYS_mlock 421 +#define SYS_MUNLOCK 422 +#define SYS_munlock 422 +#define SYS_MLOCKALL 423 +#define SYS_mlockall 423 +#define SYS_MUNLOCKALL 424 +#define SYS_munlockall 424 +#define SYS_SHM_OPEN 425 +#define SYS_shm_open 425 +#define SYS_SHM_UNLINK 426 +#define SYS_shm_unlink 426 +#define SYS_SIGQUEUE 427 +#define SYS_sigqueue 427 +#define SYS_SIGWAITINFO 428 +#define SYS_sigwaitinfo 428 +#define SYS_SIGTIMEDWAIT 429 +#define SYS_sigtimedwait 429 +#define SYS_SIGWAIT 430 +#define SYS_sigwait 430 +#define SYS_AIO_READ 431 +#define SYS_aio_read 431 +#define SYS_AIO_WRITE 432 +#define SYS_aio_write 432 +#define SYS_LIO_LISTIO 433 +#define SYS_lio_listio 433 +#define SYS_AIO_ERROR 434 +#define SYS_aio_error 434 +#define SYS_AIO_RETURN 435 +#define SYS_aio_return 435 +#define SYS_AIO_CANCEL 436 +#define SYS_aio_cancel 436 +#define SYS_AIO_SUSPEND 437 +#define SYS_aio_suspend 437 +#define SYS_AIO_FSYNC 438 +#define SYS_aio_fsync 438 +#define SYS_MQ_OPEN 439 +#define SYS_mq_open 439 +#define SYS_MQ_CLOSE 440 +#define SYS_mq_close 440 +#define SYS_MQ_UNLINK 441 +#define SYS_mq_unlink 441 +#define SYS_MQ_SEND 442 +#define SYS_mq_send 442 +#define SYS_MQ_RECEIVE 443 +#define SYS_mq_receive 443 +#define SYS_MQ_NOTIFY 444 +#define SYS_mq_notify 444 +#define SYS_MQ_SETATTR 445 +#define SYS_mq_setattr 445 +#define SYS_MQ_GETATTR 446 +#define SYS_mq_getattr 446 +#define SYS_KSEM_OPEN 447 +#define SYS_ksem_open 447 +#define SYS_KSEM_UNLINK 448 +#define SYS_ksem_unlink 448 +#define SYS_KSEM_CLOSE 449 +#define SYS_ksem_close 449 +#define SYS_KSEM_POST 450 +#define SYS_ksem_post 450 +#define SYS_KSEM_WAIT 451 +#define SYS_ksem_wait 451 +#define SYS_KSEM_READ 452 +#define SYS_ksem_read 452 +#define SYS_KSEM_TRYWAIT 453 +#define SYS_ksem_trywait 453 +#define SYS_LWP_RWLOCK_INIT 454 +#define SYS_lwp_rwlock_init 454 +#define SYS_LWP_RWLOCK_DESTROY 455 +#define SYS_lwp_rwlock_destroy 455 +#define SYS_LWP_RWLOCK_RDLOCK_SYS 456 +#define SYS_lwp_rwlock_rdlock_sys 456 +#define SYS_LWP_RWLOCK_WRLOCK_SYS 457 +#define SYS_lwp_rwlock_wrlock_sys 457 +#define SYS_LWP_RWLOCK_TRYRDLOCK 458 +#define SYS_lwp_rwlock_tryrdlock 458 +#define SYS_LWP_RWLOCK_TRYWRLOCK 459 +#define SYS_lwp_rwlock_trywrlock 459 +#define SYS_LWP_RWLOCK_UNLOCK 460 +#define SYS_lwp_rwlock_unlock 460 +#define SYS_TTRACE 461 +#define SYS_ttrace 461 +#define SYS_TTRACE_WAIT 462 +#define SYS_ttrace_wait 462 +#define SYS_LF_WIRE_MEM 463 +#define SYS_lf_wire_mem 463 +#define SYS_LF_UNWIRE_MEM 464 +#define SYS_lf_unwire_mem 464 +#define SYS_LF_SEND_PIN_MAP 465 +#define SYS_lf_send_pin_map 465 +#define SYS_LF_FREE_BUF 466 +#define SYS_lf_free_buf 466 +#define SYS_LF_WAIT_NQ 467 +#define SYS_lf_wait_nq 467 +#define SYS_LF_WAKEUP_CONN_Q 468 +#define SYS_lf_wakeup_conn_q 468 +#define SYS_LF_UNUSED 469 +#define SYS_lf_unused 469 +#define SYS_LWP_SEMA_INIT 470 +#define SYS_lwp_sema_init 470 +#define SYS_LWP_SEMA_POST 471 +#define SYS_lwp_sema_post 471 +#define SYS_LWP_SEMA_WAIT 472 +#define SYS_lwp_sema_wait 472 +#define SYS_LWP_SEMA_TRYWAIT 473 +#define SYS_lwp_sema_trywait 473 +#define SYS_LWP_SEMA_DESTROY 474 +#define SYS_lwp_sema_destroy 474 +#define SYS_STATVFS64 475 +#define SYS_statvfs64 475 +#define SYS_FSTATVFS64 476 +#define SYS_fstatvfs64 476 +#define SYS_MSH_REGISTER 477 +#define SYS_msh_register 477 +#define SYS_PTRACE64 478 +#define SYS_ptrace64 478 +#define SYS_SENDFILE 479 +#define SYS_sendfile 479 +#define SYS_SENDPATH 480 +#define SYS_sendpath 480 +#define SYS_SENDFILE64 481 +#define SYS_sendfile64 481 +#define SYS_SENDPATH64 482 +#define SYS_sendpath64 482 +#define SYS_MODLOAD 483 +#define SYS_modload 483 +#define SYS_MODULOAD 484 +#define SYS_moduload 484 +#define SYS_MODPATH 485 +#define SYS_modpath 485 +#define SYS_GETKSYM 486 +#define SYS_getksym 486 +#define SYS_MODADM 487 +#define SYS_modadm 487 +#define SYS_MODSTAT 488 +#define SYS_modstat 488 +#define SYS_LWP_DETACHED_EXIT 489 +#define SYS_lwp_detached_exit 489 +#define SYS_CRASHCONF 490 +#define SYS_crashconf 490 +#define SYS_SIGINHIBIT 491 +#define SYS_siginhibit 491 +#define SYS_SIGENABLE 492 +#define SYS_sigenable 492 +#define SYS_SPUCTL 493 +#define SYS_spuctl 493 +#define SYS_ZEROKERNELSUM 494 +#define SYS_zerokernelsum 494 +#define SYS_NFS_KSTAT 495 +#define SYS_nfs_kstat 495 +#define SYS_AIO_READ64 496 +#define SYS_aio_read64 496 +#define SYS_AIO_WRITE64 497 +#define SYS_aio_write64 497 +#define SYS_AIO_ERROR64 498 +#define SYS_aio_error64 498 +#define SYS_AIO_RETURN64 499 +#define SYS_aio_return64 499 +#define SYS_AIO_CANCEL64 500 +#define SYS_aio_cancel64 500 +#define SYS_AIO_SUSPEND64 501 +#define SYS_aio_suspend64 501 +#define SYS_AIO_FSYNC64 502 +#define SYS_aio_fsync64 502 +#define SYS_LIO_LISTIO64 503 +#define SYS_lio_listio64 503 +#define SYS_RECV2 504 +#define SYS_recv2 504 +#define SYS_RECVFROM2 505 +#define SYS_recvfrom2 505 +#define SYS_SEND2 506 +#define SYS_send2 506 +#define SYS_SENDTO2 507 +#define SYS_sendto2 507 + +#endif /* _SKI_SYSCALL_HPUX_H */ diff --git a/src/ia_das.c b/src/ia_das.c new file mode 100644 index 0000000..617049c --- /dev/null +++ b/src/ia_das.c @@ -0,0 +1,1420 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Disassembly Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "sim.h" +#include "libsym.h" +#include "libcore.h" /* XXX - Just for grGet used by IPfromEIP which is + * only used in a call to symAddrtoName -- redesign? */ +#include "iadas_types.h" +#include "ia_decoder.h" +#include "ia_das.h" + +ADDR dasAddress(void); + +#define MNE "%-12s" /* field width for assembly mnemonic */ +#define HEX 16 /* force hex display of immediates */ + +static ADDR IPfromEIP(ADDR4 eip) +{ + REG tmpreg; + IASegDesc csd; + + tmpreg = grGet(0, CSD_ID); + csd = *(IASegDescPtr)&tmpreg; + return eip + (ADDR4)csd.base; +} + +static char *imm(IAinstInfoPtr info, unsigned size, unsigned hex) +{ + static char ret[32]; + long sval = (long)info->imm32; + + if (!hex && sval > -100 && sval < 100) + (void)sprintf(ret, "%ld", sval); + else + switch (size) { + case 1: + (void)sprintf(ret, "0x%02x", info->imm32 & 0xff); + break; + case 2: + (void)sprintf(ret, "0x%04x", info->imm32 & 0xffff); + break; + case 4: + (void)sprintf(ret, "0x%08x", info->imm32); + break; + } + return ret; +} + +static char *disp(IAinstInfoPtr info, unsigned size) +{ + static char ret[32]; + long sval = (long)info->disp32; + + if (sval > -100 && sval < 100) + (void)sprintf(ret, "%ld", sval); + else + switch (size) { + case 1: + (void)sprintf(ret, "0x%02x", info->disp32 & 0xff); + break; + case 2: + (void)sprintf(ret, "0x%04x", info->disp32 & 0xffff); + break; + case 4: + (void)sprintf(ret, "0x%08x", info->disp32); + break; + } + return ret; +} + +static char *segOfs(IAinstInfoPtr info, unsigned size) +{ + static char ret[41] = "far ptr "; + ADDR tip; + + /* XXX - add protected-mode support */ + if (size == IA16) + tip = (ADDR)(((info->imm32 & 0xffff) << 4) + (info->disp32 & 0xffff)); + else + tip = (ADDR)(((info->imm32 & 0xffff) << 4) + info->disp32); + symAddrtoName(tip, &ret[8], 4, NO, -32); + return ret; +} + +static char *ofs(IAinstInfoPtr info, unsigned size) +{ + static char ret[33]; + ADDR4 eip; + + if (size == IA16) + eip = (ADDR4)(dasAddress() + info->delta + info->disp32) & 0xffff; + else + eip = (ADDR4)(dasAddress() + info->delta + info->disp32); + symAddrtoName(IPfromEIP(eip), ret, 4, NO, -32); + return ret; +} + +static char *r8Name[8] = { + "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh" +}; + +static char *r16Name[8] = { + "ax", "cx", "dx", "bx", "sp", "bp", "si", "di" +}; + +static char *r32Name[8] = { + "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" +}; + +static char *segName[8] = { + "es", "cs", "ss", "ds", "fs", "gs" +}; + +static char *rName(BYTE reg, BYTE size) +{ + switch (size) { + case 1: + return r8Name[reg]; + case 2: + return r16Name[reg]; + case 4: + return r32Name[reg]; + } + /*NOTREACHED*/ + return (char*)""; +} + +static char *regName(IAinstInfoPtr info) +{ + return rName(info->reg, info->opSize); +} + +static char *baseName(IAinstInfoPtr info) +{ + return rName(info->base, info->opSize); +} + +static char *segRegName(BYTE segID) +{ + return segName[segID - ES_ID]; +} + +static char *segOverride(IAinstInfoPtr info, BYTE defSeg) +{ + static char seg[] = "xx:"; + + if (info->segment == defSeg) + seg[0] = '\0'; + else + (void)strncpy(seg, segRegName(info->segment), 2); + return seg; +} + +static char *rep(IAinstInfoPtr info, char *mne) +{ + static char buf[20], *p; + + switch (info->lock_rep.rep) { + case REP: + (void)strcpy(buf, "rep "); + p = buf + 4; + break; + case REPE: + (void)strcpy(buf, "repe "); + p = buf + 5; + break; + case REPNE: + (void)strcpy(buf, "repne "); + p = buf + 6; + break; + default: + p = buf; + break; + } + (void)strcpy(p, mne); + return buf; +} + +static void sibEA(IAinstInfoPtr info, BYTE mod, char *buf) +{ + char baseStr[6], scaleStr[3], indexStr[8]; + BYTE defSeg; + + if (info->base == NO_REG) { + defSeg = DS_ID; + baseStr[0] = '\0'; + } else { + if (info->base == ESP_REG || info->base == EBP_REG) + defSeg = SS_ID; + else + defSeg = DS_ID; + (void)sprintf(baseStr, "[%s]", r32Name[info->base]); + } + + if (info->scale == 1) + scaleStr[0] = '\0'; + else + (void)sprintf(scaleStr, "*%d", info->scale); + + if (info->index == NO_REG) + indexStr[0] = '\0'; + else + (void)sprintf(indexStr, "[%s%s]", r32Name[info->index], scaleStr); + + switch (mod) { + case 0: + if (info->base == NO_REG) + (void)sprintf(buf, "%s%s%s", segOverride(info, defSeg), + disp(info, 4), indexStr); + else + (void)sprintf(buf, "%s%s%s", segOverride(info, defSeg), + baseStr, indexStr); + break; + case 1: + (void)sprintf(buf, "%s%s%s%s", segOverride(info, defSeg), + disp(info, 1), baseStr, indexStr); + break; + case 2: + (void)sprintf(buf, "%s%s%s%s", segOverride(info, defSeg), + disp(info, 4), baseStr, indexStr); + break; + } +} + +static char *modrmEA(IAinstInfoPtr info) +{ + static char buf[80]; + EaInfoPtr eai; + + if (info->addrSize == IA16) { /* 16-bit addressing forms */ + switch (info->modrm.mod) { + case 0: + eai = ea16Info(info->modrm); + if (info->modrm.rm == DISP16_RM) /* disp16 */ + /* XXX - add symbol lookup */ + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg), + disp(info, 2)); + else + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg)); + break; + case 1: + case 2: + eai = ea16Info(info->modrm); + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg), + disp(info, info->modrm.mod)); + break; + case 3: + (void)strcpy(buf, baseName(info)); + break; + } + } else { /* 32-bit addressing forms */ + switch (info->modrm.mod) { + case 0: + eai = ea32Info(info->modrm); + if (info->modrm.rm == SIB_RM) /* SIB */ + sibEA(info, info->modrm.mod, buf); + else if (info->modrm.rm == DISP32_RM) /* disp32 */ + /* XXX - add symbol lookup */ + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg), + disp(info, 4)); + else + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg)); + break; + case 1: + case 2: + if (info->modrm.rm == SIB_RM) /* SIB */ + sibEA(info, info->modrm.mod, buf); + else { + eai = ea32Info(info->modrm); + (void)sprintf(buf, eai->fmt, segOverride(info, eai->defSeg), + disp(info, 3 * info->modrm.mod - 2)); + } + break; + case 3: + (void)strcpy(buf, baseName(info)); + break; + } + } + return buf; +} + +static char *ptrStr(IAinstInfoPtr info) +{ + if (info->modrm.mod != 3) + switch (info->opSize) { + case 1: + return "byte ptr "; + case 2: + return "word ptr "; + case 4: + return "dword ptr "; + } + return ""; + /*NOTREACHED*/ +} + +void add_ExGx_das(IAinstInfoPtr info, char *str) /* 00 - 01 */ +{ + (void)sprintf(str, MNE"%s, %s", "add", modrmEA(info), regName(info)); +} + +void add_GxEx_das(IAinstInfoPtr info, char *str) /* 02 - 03 */ +{ + (void)sprintf(str, MNE"%s, %s", "add", regName(info), modrmEA(info)); +} + +void add_reg_imm_das(IAinstInfoPtr info, char *str) /* 04 - 05 */ +{ + (void)sprintf(str, MNE"%s, %s", "add", regName(info), + imm(info, info->opSize, 0)); +} + +void push_seg_das(IAinstInfoPtr info, char *str) /* 06 */ +{ + (void)sprintf(str, MNE"%s", "push", segName[info->reg]); +} + +void pop_seg_das(IAinstInfoPtr info, char *str) /* 07 */ +{ + (void)sprintf(str, MNE"%s", "pop", segName[info->cond_seg]); +} + +void or_ExGx_das(IAinstInfoPtr info, char *str) /* 08 - 09 */ +{ + (void)sprintf(str, MNE"%s, %s", "or", modrmEA(info), regName(info)); +} + +void or_GxEx_das(IAinstInfoPtr info, char *str) /* 0A - 0B */ +{ + (void)sprintf(str, MNE"%s, %s", "or", regName(info), modrmEA(info)); +} + +void or_reg_imm_das(IAinstInfoPtr info, char *str) /* 0C - 0D */ +{ + (void)sprintf(str, MNE"%s, %s", "or", regName(info), + imm(info, info->opSize, HEX)); +} + +/* push_CS uses push_seg_das (06) */ /* 0E */ + +/* two-byte escape */ /* 0F */ + +void adc_ExGx_das(IAinstInfoPtr info, char *str) /* 10 - 11 */ +{ + (void)sprintf(str, MNE"%s, %s", "adc", modrmEA(info), regName(info)); +} + +void adc_GxEx_das(IAinstInfoPtr info, char *str) /* 12 - 13 */ +{ + (void)sprintf(str, MNE"%s, %s", "adc", regName(info), modrmEA(info)); +} + +void adc_reg_imm_das(IAinstInfoPtr info, char *str) /* 14 - 15 */ +{ + (void)sprintf(str, MNE"%s, %s", "adc", regName(info), + imm(info, info->opSize, 0)); +} + +/* push_SS uses push_seg_das (06) */ /* 16 */ + +/* pop_SS uses pop_seg_das (07) */ /* 17 */ + +void sbb_ExGx_das(IAinstInfoPtr info, char *str) /* 18 - 19 */ +{ + (void)sprintf(str, MNE"%s, %s", "sbb", modrmEA(info), regName(info)); +} + +void sbb_GxEx_das(IAinstInfoPtr info, char *str) /* 1A - 1B */ +{ + (void)sprintf(str, MNE"%s, %s", "sbb", regName(info), modrmEA(info)); +} + +void sbb_reg_imm_das(IAinstInfoPtr info, char *str) /* 1C - 1D */ +{ + (void)sprintf(str, MNE"%s, %s", "sbb", regName(info), + imm(info, info->opSize, 0)); +} + +/* push_DS uses push_seg_das (06) */ /* 1E */ + +/* pop_DS uses pop_seg_das (07) */ /* 1F */ + +void and_ExGx_das(IAinstInfoPtr info, char *str) /* 20 - 21 */ +{ + (void)sprintf(str, MNE"%s, %s", "and", modrmEA(info), regName(info)); +} + +void and_GxEx_das(IAinstInfoPtr info, char *str) /* 22 - 23 */ +{ + (void)sprintf(str, MNE"%s, %s", "and", regName(info), modrmEA(info)); +} + +void and_reg_imm_das(IAinstInfoPtr info, char *str) /* 24 - 25 */ +{ + (void)sprintf(str, MNE"%s, %s", "and", regName(info), + imm(info, info->opSize, HEX)); +} + +/* ES segment override */ /* 26 */ + +/* ARGSUSED */ +void daa_das(IAinstInfoPtr info, char *str) /* 27 */ +{ + (void)sprintf(str, MNE, "daa"); +} + +void sub_ExGx_das(IAinstInfoPtr info, char *str) /* 28 - 29 */ +{ + (void)sprintf(str, MNE"%s, %s", "sub", modrmEA(info), regName(info)); +} + +void sub_GxEx_das(IAinstInfoPtr info, char *str) /* 2A - 2B */ +{ + (void)sprintf(str, MNE"%s, %s", "sub", regName(info), modrmEA(info)); +} + +void sub_reg_imm_das(IAinstInfoPtr info, char *str) /* 2C - 2D */ +{ + (void)sprintf(str, MNE"%s, %s", "sub", regName(info), + imm(info, info->opSize, 0)); +} + +/* CS segment override */ /* 2E */ + +/* ARGSUSED */ +void das_das(IAinstInfoPtr info, char *str) /* 2F */ +{ + (void)sprintf(str, MNE, "das"); +} + +void xor_ExGx_das(IAinstInfoPtr info, char *str) /* 30 - 31 */ +{ + (void)sprintf(str, MNE"%s, %s", "xor", modrmEA(info), regName(info)); +} + +void xor_GxEx_das(IAinstInfoPtr info, char *str) /* 32 - 33 */ +{ + (void)sprintf(str, MNE"%s, %s", "xor", regName(info), modrmEA(info)); +} + +void xor_reg_imm_das(IAinstInfoPtr info, char *str) /* 34 - 35 */ +{ + (void)sprintf(str, MNE"%s, %s", "xor", regName(info), + imm(info, info->opSize, HEX)); +} + +/* SS segment override */ /* 36 */ + +/* ARGSUSED */ +void aaa_das(IAinstInfoPtr info, char *str) /* 37 */ +{ + (void)sprintf(str, MNE, "aaa"); +} + +void cmp_ExGx_das(IAinstInfoPtr info, char *str) /* 38 - 39 */ +{ + (void)sprintf(str, MNE"%s, %s", "cmp", modrmEA(info), regName(info)); +} + +void cmp_GxEx_das(IAinstInfoPtr info, char *str) /* 3A - 3B */ +{ + (void)sprintf(str, MNE"%s, %s", "cmp", regName(info), modrmEA(info)); +} + +void cmp_reg_imm_das(IAinstInfoPtr info, char *str) /* 3C - 3D */ +{ + (void)sprintf(str, MNE"%s, %s", "cmp", regName(info), + imm(info, info->opSize, 0)); +} + +/* ES segment override */ /* 3E */ + +/* ARGSUSED */ +void aas_das(IAinstInfoPtr info, char *str) /* 3F */ +{ + (void)sprintf(str, MNE, "aas"); +} + +void inc_reg_das(IAinstInfoPtr info, char *str) /* 40 - 47 */ +{ + (void)sprintf(str, MNE"%s", "inc", regName(info)); +} + +void dec_reg_das(IAinstInfoPtr info, char *str) /* 48 - 4F */ +{ + (void)sprintf(str, MNE"%s", "dec", regName(info)); +} + +void push_reg_das(IAinstInfoPtr info, char *str) /* 50 - 57 */ +{ + (void)sprintf(str, MNE"%s", "push", regName(info)); +} + +void pop_reg_das(IAinstInfoPtr info, char *str) /* 58 - 5F */ +{ + (void)sprintf(str, MNE"%s", "pop", regName(info)); +} + +void pusha_das(IAinstInfoPtr info, char *str) /* 60 */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "pusha" : "pushad"); +} + +void popa_das(IAinstInfoPtr info, char *str) /* 61 */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "popa" : "popad"); +} + +void bound_GvMa_das(IAinstInfoPtr info, char *str) /* 62 */ +{ + (void)sprintf(str, MNE"%s, %s", "bound", regName(info), modrmEA(info)); +} + +void arpl_EwGw_das(IAinstInfoPtr info, char *str) /* 63 */ +{ + (void)sprintf(str, MNE"%s, %s", "arpl", modrmEA(info), regName(info)); +} + +/* FS segment override */ /* 64 */ +/* GS segment override */ /* 65 */ +/* operand size override */ /* 66 */ +/* address size override */ /* 67 */ + +void push_imm_das(IAinstInfoPtr info, char *str) /* 68 */ +{ + (void)sprintf(str, MNE"%s", "push", imm(info, info->opSize, 0)); +} + +void imul_GvEvIv_das(IAinstInfoPtr info, char *str) /* 69 */ +{ + if (info->modrm.mod == 3 && info->reg == info->base) /* 2-operand */ + (void)sprintf(str, MNE"%s, %s", "imul", regName(info), + imm(info, info->opSize, 0)); + else + (void)sprintf(str, MNE"%s, %s, %s", "imul", regName(info), + modrmEA(info), imm(info, info->opSize, 0)); +} + +/* push_Ib uses push_imm_das (68) */ /* 6A */ + +void imul_GvEvIb_das(IAinstInfoPtr info, char *str) /* 6B */ +{ + if (info->modrm.mod == 3 && info->reg == info->base) /* 2-operand */ + (void)sprintf(str, MNE"%s, %s", "imul", regName(info), + imm(info, 1, 0)); + else + (void)sprintf(str, MNE"%s, %s, %s", "imul", regName(info), + modrmEA(info), imm(info, 1, 0)); +} + +void ins_YxDX_das(IAinstInfoPtr info, char *str) /* 6C - 6D */ +{ + (void)sprintf(str, MNE"%s%s, %s", rep(info, "ins"), + ptrStr(info), rName(EDI_REG, info->addrSize), + rName(EDX_REG, IA16)); +} + +/* ARGSUSED */ +void outs_DXXx_das(IAinstInfoPtr info, char *str) /* 6E - 6F */ +{ + (void)sprintf(str, MNE"%s, %s%s%s", rep(info, "outs"), + rName(EDX_REG, IA16), + ptrStr(info), segOverride(info, DS_ID), + rName(EDI_REG, info->addrSize)); +} + +void jcc_das(IAinstInfoPtr info, char *str) /* 70 - 7F */ +{ + static char *mne[16] = { + "jo", "jno", "jb", "jnb", "jz", "jnz", "jbe", "jnbe", + "js", "jns", "jp", "jnp", "jl", "jnl", "jle", "jnle" + }; + + (void)sprintf(str, MNE"%s", mne[info->cond_seg], ofs(info, info->opSize)); +} + +void group1_das(IAinstInfoPtr info, char *str) /* 80 */ +{ + static char *mne[8] = { + "add", "or", "adc", "sbb", "and", "sub", "xor", "cmp" + }; + unsigned hex = 0; + + switch (info->modrm.reg_op) { + case 1: /* or */ + case 4: /* and */ + case 6: /* xor */ + hex = HEX; + break; + } + + (void)sprintf(str, MNE"%s%s, %s", mne[info->modrm.reg_op], + ptrStr(info), modrmEA(info), imm(info, info->opSize, hex)); +} + +/* group1_EvIv uses group1_das (80) */ /* 81 */ + +void movb_ALIb_das(IAinstInfoPtr info, char *str) /* 82 */ +{ + (void)sprintf(str, MNE, "** movb_ALIb **"); +} + +/* group1_EvIb uses group1_das (80) */ /* 83 */ + +void test_ExGx_das(IAinstInfoPtr info, char *str) /* 84 - 85 */ +{ + (void)sprintf(str, MNE"%s, %s", "test", modrmEA(info), regName(info)); +} + +void xchg_ExGx_das(IAinstInfoPtr info, char *str) /* 86 - 87 */ +{ + (void)sprintf(str, MNE"%s, %s", "xchg", modrmEA(info), regName(info)); +} + +void mov_ExGx_das(IAinstInfoPtr info, char *str) /* 88 - 89 */ +{ + (void)sprintf(str, MNE"%s, %s", "mov", modrmEA(info), regName(info)); +} + +void mov_GxEx_das(IAinstInfoPtr info, char *str) /* 8A - 8B */ +{ + (void)sprintf(str, MNE"%s, %s", "mov", regName(info), modrmEA(info)); +} + +void mov_EwSw_das(IAinstInfoPtr info, char *str) /* 8C */ +{ + (void)sprintf(str, MNE"%s, %s", "mov", modrmEA(info), segName[info->reg]); +} + +void lea_GvM_das(IAinstInfoPtr info, char *str) /* 8D */ +{ + (void)sprintf(str, MNE"%s, %s", "lea", regName(info), modrmEA(info)); +} + +void mov_SwEw_das(IAinstInfoPtr info, char *str) /* 8E */ +{ + (void)sprintf(str, MNE"%s, %s", "mov", segName[info->cond_seg], + modrmEA(info)); +} + +void pop_Ev_das(IAinstInfoPtr info, char *str) /* 8F */ +{ + (void)sprintf(str, MNE"%s", "pop", modrmEA(info)); +} + +/* ARGSUSED */ +void nop_das(IAinstInfoPtr info, char *str) /* 90 */ +{ + (void)sprintf(str, MNE, "nop"); +} + +void xchg_reg_reg_das(IAinstInfoPtr info, char *str) /* 91 - 97 */ +{ + (void)sprintf(str, MNE"%s, %s", "xchg", regName(info), baseName(info)); +} + +void cbw_das(IAinstInfoPtr info, char *str) /* 98 */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "cbw" : "cwde"); +} + +void cwd_das(IAinstInfoPtr info, char *str) /* 99 */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "cwd" : "cdq"); +} + +void call_Ap_das(IAinstInfoPtr info, char *str) /* 9A */ +{ + (void)sprintf(str, MNE"%s", "call", segOfs(info, info->opSize)); +} + +/* ARGSUSED */ +void wait_das(IAinstInfoPtr info, char *str) /* 9B */ +{ + (void)sprintf(str, MNE, "wait"); +} + +void pushf_Fv_das(IAinstInfoPtr info, char *str) /* 9C */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "pushf" : "pushfd"); +} + +void popf_Fv_das(IAinstInfoPtr info, char *str) /* 9D */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "popf" : "popfd"); +} + +/* ARGSUSED */ +void sahf_das(IAinstInfoPtr info, char *str) /* 9E */ +{ + (void)sprintf(str, MNE, "sahf"); +} + +/* ARGSUSED */ +void lahf_das(IAinstInfoPtr info, char *str) /* 9F */ +{ + (void)sprintf(str, MNE, "lahf"); +} + +void mov_reg_Ox_das(IAinstInfoPtr info, char *str) /* A0 - A1 */ +{ + (void)sprintf(str, MNE"%s, %s[%s]", "mov", regName(info), + segOverride(info, DS_ID), disp(info, info->addrSize)); +} + +void mov_Ox_reg_das(IAinstInfoPtr info, char *str) /* A2 - A3 */ +{ + (void)sprintf(str, MNE"%s[%s], %s", "mov", segOverride(info, DS_ID), + disp(info, info->addrSize), regName(info)); +} + +void movs_YxXx_das(IAinstInfoPtr info, char *str) /* A4 - A5 */ +{ + (void)sprintf(str, MNE"%s%s:%s, %s%s", rep(info, "movs"), + ptrStr(info), + segRegName(ES_ID), rName(EDI_REG, info->addrSize), + segOverride(info, DS_ID), rName(ESI_REG, info->addrSize)); +} + +void cmps_XxYx_das(IAinstInfoPtr info, char *str) /* A6 - A7 */ +{ + (void)sprintf(str, MNE"%s%s%s, %s:%s", rep(info, "cmps"), + ptrStr(info), + segOverride(info, DS_ID), rName(ESI_REG, info->addrSize), + segRegName(ES_ID), rName(EDI_REG, info->addrSize)); +} + +void test_reg_imm_das(IAinstInfoPtr info, char *str) /* A8 - A9 */ +{ + (void)sprintf(str, MNE"%s, %s", "test", regName(info), + imm(info, info->opSize, HEX)); +} + +void stos_Yx_reg_das(IAinstInfoPtr info, char *str) /* AA - AB */ +{ + (void)sprintf(str, MNE"%s%s:%s", rep(info, "stos"), + ptrStr(info), + segRegName(ES_ID), rName(EDI_REG, info->addrSize)); +} + +void lods_reg_Xx_das(IAinstInfoPtr info, char *str) /* AC - AD */ +{ + (void)sprintf(str, MNE"%s%s%s", rep(info, "lods"), + ptrStr(info), + segOverride(info, DS_ID), rName(ESI_REG, info->addrSize)); +} + +void scas_reg_Yx_das(IAinstInfoPtr info, char *str) /* AE - AF */ +{ + (void)sprintf(str, MNE"%s%s:%s", rep(info, "scas"), + ptrStr(info), + segRegName(ES_ID), rName(EDI_REG, info->addrSize)); +} + +void mov_reg_imm_das(IAinstInfoPtr info, char *str) /* B0 - BF */ +{ + (void)sprintf(str, MNE"%s, %s", "mov", regName(info), + imm(info, info->opSize, 0)); +} + +void group2_ExIb_das(IAinstInfoPtr info, char *str) /* C0 - C1 */ +{ + static char *mne[8] = { + "rol", "ror", "rcl", "rcr", "shl", "shr", "reserved", "sar" + }; + + (void)sprintf(str, MNE"%s%s, %s", mne[info->modrm.reg_op], + ptrStr(info), modrmEA(info), imm(info, info->opSize, 0)); +} + +void ret_near_Iw_das(IAinstInfoPtr info, char *str) /* C2 */ +{ + (void)sprintf(str, MNE"%s", "ret", imm(info, 2, 0)); +} + +/* ARGSUSED */ +void ret_near_das(IAinstInfoPtr info, char *str) /* C3 */ +{ + (void)sprintf(str, MNE, "ret"); +} + +void load_far_ptr_das(IAinstInfoPtr info, char *str) /* C4 */ +{ + static char *mne[6] = { + "les", "l**", "lss", "lds", "lfs", "lgs" + }; + + (void)sprintf(str, MNE"%s, %s", mne[info->cond_seg], regName(info), + modrmEA(info)); +} + +/* lds_GvMp uses load_far_ptr_das (C4) */ /* C5 */ + +void mov_ExIx_das(IAinstInfoPtr info, char *str) /* C6 - C7 */ +{ + (void)sprintf(str, MNE"%s%s, %s", "mov", ptrStr(info), modrmEA(info), + imm(info, info->opSize, 0)); +} + +void enter_IwIb_das(IAinstInfoPtr info, char *str) /* C8 */ +{ + (void)sprintf(str, MNE"%s, %u", "enter", imm(info, 2, 0), info->disp32); +} + +/* ARGSUSED */ +void leave_das(IAinstInfoPtr info, char *str) /* C9 */ +{ + (void)sprintf(str, MNE, "leave"); +} + +void ret_far_Iw_das(IAinstInfoPtr info, char *str) /* CA */ +{ + (void)sprintf(str, MNE"%s", "retf", imm(info, 2, 0)); +} + +/* ARGSUSED */ +void ret_far_das(IAinstInfoPtr info, char *str) /* CB */ +{ + (void)sprintf(str, MNE, "retf"); +} + +/* int3 uses int_Ib_das (CD) */ /* CC */ + +void int_Ib_das(IAinstInfoPtr info, char *str) /* CD */ +{ + (void)sprintf(str, MNE"%s", "int", imm(info, 1, HEX)); +} + +/* ARGSUSED */ +void into_das(IAinstInfoPtr info, char *str) /* CE */ +{ + (void)sprintf(str, MNE, "into"); +} + +void iret_das(IAinstInfoPtr info, char *str) /* CF */ +{ + (void)sprintf(str, MNE, (info->opSize == IA16) ? "iret" : "iretd"); +} + +/* group2_Eb1 uses group2_ExIb_das (C0 - C1) */ /* D0 */ + +/* group2_Ev1 uses group2_ExIb_das (C0 - C1) */ /* D1 */ + +void group2_ExCL_das(IAinstInfoPtr info, char *str) /* D2 - D3 */ +{ + static char *mne[8] = { + "rol", "ror", "rcl", "rcr", "shl", "shr", "reserved", "sar" + }; + + (void)sprintf(str, MNE"%s, cl", mne[info->modrm.reg_op], modrmEA(info)); +} + +/* ARGSUSED */ +void aam_Ib_das(IAinstInfoPtr info, char *str) /* D4 */ +{ + if (info->imm32 == 10) + (void)sprintf(str, MNE, "aam"); + else + (void)sprintf(str, MNE"%s", "aam", imm(info, 1, 0)); +} + +/* ARGSUSED */ +void aad_Ib_das(IAinstInfoPtr info, char *str) /* D5 */ +{ + if (info->imm32 == 10) + (void)sprintf(str, MNE, "aad"); + else + (void)sprintf(str, MNE"%s", "aad", imm(info, 1, 0)); +} + +/* salc is an undocumented opcode */ +void salc_das(IAinstInfoPtr info, char *str) /* D6 */ +{ + (void)sprintf(str, MNE, "** salc **"); +} + +void xlat_das(IAinstInfoPtr info, char *str) /* D7 */ +{ + (void)sprintf(str, MNE"%s", "xlat", segOverride(info, DS_ID)); +} + +void esc_D8_das(IAinstInfoPtr info, char *str) /* D8 */ +{ + (void)sprintf(str, MNE, "** esc_D8 **"); +} + +void esc_D9_das(IAinstInfoPtr info, char *str) /* D9 */ +{ + (void)sprintf(str, MNE, "** esc_D9 **"); +} + +void esc_DA_das(IAinstInfoPtr info, char *str) /* DA */ +{ + (void)sprintf(str, MNE, "** esc_DA **"); +} + +void esc_DB_das(IAinstInfoPtr info, char *str) /* DB */ +{ + (void)sprintf(str, MNE, "** esc_DB **"); +} + +void esc_DC_das(IAinstInfoPtr info, char *str) /* DC */ +{ + (void)sprintf(str, MNE, "** esc_DC **"); +} + +void esc_DD_das(IAinstInfoPtr info, char *str) /* DD */ +{ + (void)sprintf(str, MNE, "** esc_DD **"); +} + +void esc_DE_das(IAinstInfoPtr info, char *str) /* DE */ +{ + (void)sprintf(str, MNE, "** esc_DE **"); +} + +void esc_DF_das(IAinstInfoPtr info, char *str) /* DF */ +{ + (void)sprintf(str, MNE, "** esc_DF **"); +} + +void loop_das(IAinstInfoPtr info, char *str) /* E0 - E2 */ +{ + static char *mne[6] = { + "loopnzw", "loopzw", "loopw", + "loopnzd", "loopzd", "loopd" + }; + + (void)sprintf(str, MNE"%s", mne[(info->opSize-2)/2 + info->cond_seg], + ofs(info, 1)); +} + +void jcxz_Jb_das(IAinstInfoPtr info, char *str) /* E3 */ +{ + (void)sprintf(str, MNE"%s", (info->opSize == IA16) ? "jcxz" : "jecxz", + ofs(info, info->opSize)); +} + +void in_reg_imm_das(IAinstInfoPtr info, char *str) /* E4 - E5 */ +{ + (void)sprintf(str, MNE"%s, %s", "in", regName(info), + imm(info, info->opSize, HEX)); +} + +void out_imm_reg_das(IAinstInfoPtr info, char *str) /* E6 - E7 */ +{ + (void)sprintf(str, MNE"%s, %s", "out", imm(info, info->opSize, HEX), + regName(info)); +} + +void call_Jv_das(IAinstInfoPtr info, char *str) /* E8 */ +{ + (void)sprintf(str, MNE"%s", "call", ofs(info, info->opSize)); +} + +void jmp_Jv_das(IAinstInfoPtr info, char *str) /* E9 */ +{ + (void)sprintf(str, MNE"%s", "jmp", ofs(info, info->opSize)); +} + +void jmp_Ap_das(IAinstInfoPtr info, char *str) /* EA */ +{ + (void)sprintf(str, MNE"%s", "jmp", segOfs(info, info->opSize)); +} + +void jmp_Jb_das(IAinstInfoPtr info, char *str) /* EB */ +{ + (void)sprintf(str, MNE"%s", "jmp", ofs(info, info->opSize)); +} + +void in_reg_DX_das(IAinstInfoPtr info, char *str) /* EC - ED */ +{ + (void)sprintf(str, MNE"%s, dx", "in", regName(info)); +} + +void out_DX_reg_das(IAinstInfoPtr info, char *str) /* EE - EF */ +{ + (void)sprintf(str, MNE"dx, %s", "out", regName(info)); +} + +/* ARGSUSED */ +void lock_das(IAinstInfoPtr info, char *str) /* F0 */ +{ + (void)sprintf(str, MNE, "lock"); +} + +/* ARGSUSED */ +void reserved_das(IAinstInfoPtr info, char *str) /* F1 */ +{ + (void)sprintf(str, MNE, "reserved"); +} + +/* repne prefix */ /* F2 */ + +/* rep prefix */ /* F3 */ + +/* ARGSUSED */ +void hlt_das(IAinstInfoPtr info, char *str) /* F4 */ +{ + (void)sprintf(str, MNE, "hlt"); +} + +/* ARGSUSED */ +void cmc_das(IAinstInfoPtr info, char *str) /* F5 */ +{ + (void)sprintf(str, MNE, "cmc"); +} + +void group3_das(IAinstInfoPtr info, char *str) /* F6 - F7 */ +{ + static char *mne[8] = { + "test", "reserved", "not", "neg", "mul", "imul", "div", "idiv" + }; + + if (info->modrm.reg_op == 0) /* test */ + (void)sprintf(str, MNE"%s%s, %s", mne[info->modrm.reg_op], + ptrStr(info), modrmEA(info), + imm(info, info->opSize, HEX)); + else + (void)sprintf(str, MNE"%s%s", mne[info->modrm.reg_op], + ptrStr(info), modrmEA(info)); +} + +/* ARGSUSED */ +void clc_das(IAinstInfoPtr info, char *str) /* F8 */ +{ + (void)sprintf(str, MNE, "clc"); +} + +/* ARGSUSED */ +void stc_das(IAinstInfoPtr info, char *str) /* F9 */ +{ + (void)sprintf(str, MNE, "stc"); +} + +/* ARGSUSED */ +void cli_das(IAinstInfoPtr info, char *str) /* FA */ +{ + (void)sprintf(str, MNE, "cli"); +} + +/* ARGSUSED */ +void sti_das(IAinstInfoPtr info, char *str) /* FB */ +{ + (void)sprintf(str, MNE, "sti"); +} + +/* ARGSUSED */ +void cld_das(IAinstInfoPtr info, char *str) /* FC */ +{ + (void)sprintf(str, MNE, "cld"); +} + +/* ARGSUSED */ +void std_das(IAinstInfoPtr info, char *str) /* FD */ +{ + (void)sprintf(str, MNE, "std"); +} + +void group4_das(IAinstInfoPtr info, char *str) /* FE */ +{ + static char *mne[8] = { + "inc", "dec", "reserved", "reserved", + "reserved", "reserved", "reserved", "reserved" + }; + + (void)sprintf(str, MNE"%s%s", mne[info->modrm.reg_op], ptrStr(info), + modrmEA(info)); +} + +void group5_das(IAinstInfoPtr info, char *str) /* FF */ +{ + static char *mne[8] = { + "inc", "dec", "call", "call", "jmp", "jmp", "push", "reserved" + }; + + if (info->modrm.reg_op == 3 || info->modrm.reg_op == 5) /* far call/jmp */ + (void)sprintf(str, MNE"far %s%s", mne[info->modrm.reg_op], + ptrStr(info), modrmEA(info)); + else + (void)sprintf(str, MNE"%s%s", mne[info->modrm.reg_op], ptrStr(info), + modrmEA(info)); +} + +void group6_das(IAinstInfoPtr info, char *str) /* 0F,00 */ +{ + static char *mne[8] = { + "sldt", "str", "lldt", "ltr", "verr", "verw", "jmpe", "reserved" + }; + + (void)sprintf(str, MNE"%s", mne[info->modrm.reg_op], modrmEA(info)); +} + +void group7_das(IAinstInfoPtr info, char *str) /* 0F,01 */ +{ + static char *mne[8] = { + "sgdt", "sidt", "lgdt", "lidt", "smsw", "reserved", "lmsw", "invlpg" + }; + + (void)sprintf(str, MNE"%s", mne[info->modrm.reg_op], modrmEA(info)); +} + +void lar_GvEw_das(IAinstInfoPtr info, char *str) /* 0F,02 */ +{ + (void)sprintf(str, MNE"%s, %s", "lar", regName(info), modrmEA(info)); +} + +void lsl_GvEw_das(IAinstInfoPtr info, char *str) /* 0F,03 */ +{ + (void)sprintf(str, MNE"%s, %s", "lsl", regName(info), modrmEA(info)); +} + +/* ARGSUSED */ +void clts_das(IAinstInfoPtr info, char *str) /* 0F,06 */ +{ + (void)sprintf(str, MNE, "clts"); +} + +/* ARGSUSED */ +void invd_das(IAinstInfoPtr info, char *str) /* 0F,08 */ +{ + (void)sprintf(str, MNE, "invd"); +} + +/* ARGSUSED */ +void wbinvd_das(IAinstInfoPtr info, char *str) /* 0F,09 */ +{ + (void)sprintf(str, MNE, "wbinvd"); +} + +/* ARGSUSED */ +void ud2_das(IAinstInfoPtr info, char *str) /* 0F,0B */ +{ + (void)sprintf(str, MNE, "ud2"); +} + +void mov_RdCd_das(IAinstInfoPtr info, char *str) /* 0F,20 */ +{ + (void)sprintf(str, MNE"%s, cr%d", "mov", modrmEA(info), info->reg); +} + +void mov_RdDd_das(IAinstInfoPtr info, char *str) /* 0F,21 */ +{ + (void)sprintf(str, MNE"%s, dr%d", "mov", modrmEA(info), info->reg); +} + +void mov_CdRd_das(IAinstInfoPtr info, char *str) /* 0F,22 */ +{ + (void)sprintf(str, MNE"cr%d, %s", "mov", info->reg, modrmEA(info)); +} + +void mov_DdRd_das(IAinstInfoPtr info, char *str) /* 0F,23 */ +{ + (void)sprintf(str, MNE"dr%d, %s", "mov", info->reg, modrmEA(info)); +} + +void mov_RdTd_das(IAinstInfoPtr info, char *str) /* 0F,24 */ +{ + (void)sprintf(str, MNE"%s, tr%d", "mov", modrmEA(info), info->reg); +} + +void mov_TdRd_das(IAinstInfoPtr info, char *str) /* 0F,26 */ +{ + (void)sprintf(str, MNE"tr%d, %s", "mov", info->reg, modrmEA(info)); +} + +void wrmsr_das(IAinstInfoPtr info, char *str) /* 0F,30 */ +{ + (void)sprintf(str, MNE, "wrmsr"); +} + +void rdtsc_das(IAinstInfoPtr info, char *str) /* 0F,31 */ +{ + (void)sprintf(str, MNE, "rdtsc"); +} + +void rdmsr_das(IAinstInfoPtr info, char *str) /* 0F,32 */ +{ + (void)sprintf(str, MNE, "rdmsr"); +} + +void rdpmc_das(IAinstInfoPtr info, char *str) /* 0F,33 */ +{ + (void)sprintf(str, MNE, "rdpmc"); +} + +void cmovcc_das(IAinstInfoPtr info, char *str) /* 0F,40 - 0F,4F */ +{ + static char *mne[16] = { + "cmovo", "cmovno", "cmovb", "cmovnb", + "cmovz", "cmovnz", "cmovbe", "cmovnbe", + "cmovs", "cmovns", "cmovp", "cmovnp", + "cmovl", "cmovnl", "cmovle", "cmovnle" + }; + + (void)sprintf(str, MNE"%s, %s", mne[info->cond_seg], regName(info), + modrmEA(info)); +} + +/* uses jcc_das (70 - 7F) */ /* 0F,80 - 0F,8F */ + +void setcc_das(IAinstInfoPtr info, char *str) /* 0F,90 - 0F,9F */ +{ + static char *mne[16] = { + "seto", "setno", "setb", "setnb", "setz", "setnz", "setbe", "setnbe", + "sets", "setns", "setp", "setnp", "setl", "setnl", "setle", "setnle" + }; + + (void)sprintf(str, MNE"%s%s", mne[info->cond_seg], ptrStr(info), + modrmEA(info)); +} + +/* push_FS uses push_seg_das (06) */ /* 0F,A0 */ + +/* pop_FS uses pop_seg_das (07) */ /* 0F,A1 */ + +/* ARGSUSED */ +void cpuid_das(IAinstInfoPtr info, char *str) /* 0F,A2 */ +{ + (void)sprintf(str, MNE, "cpuid"); +} + +void bt_EvGv_das(IAinstInfoPtr info, char *str) /* 0F,A3 */ +{ + (void)sprintf(str, MNE"%s, %s", "bt", modrmEA(info), regName(info)); +} + +void shld_EvGvIb_das(IAinstInfoPtr info, char *str) /* 0F,A4 */ +{ + (void)sprintf(str, MNE"%s, %s, %s", "shld", modrmEA(info), regName(info), + imm(info, 1, 0)); +} + +void shld_EvGvCL_das(IAinstInfoPtr info, char *str) /* 0F,A5 */ +{ + (void)sprintf(str, MNE"%s, %s, cl", "shld", modrmEA(info), regName(info)); +} + +void cmpxchg_XBTS_das(IAinstInfoPtr info, char *str) /* 0F,A6 */ +{ + (void)sprintf(str, MNE, "** cmpxchg_XBTS **"); +} + +void cmpxchg_IBTS_das(IAinstInfoPtr info, char *str) /* 0F,A7 */ +{ + (void)sprintf(str, MNE, "** cmpxchg_IBTS **"); +} + +/* push_GS uses push_seg_das (06) */ /* 0F,A8 */ + +/* pop_GS uses pop_seg_das (07) */ /* 0F,A9 */ + +/* ARGSUSED */ +void rsm_das(IAinstInfoPtr info, char *str) /* 0F,AA */ +{ + (void)sprintf(str, MNE, "rsm"); +} + +void bts_EvGv_das(IAinstInfoPtr info, char *str) /* 0F,AB */ +{ + (void)sprintf(str, MNE"%s, %s", "bts", modrmEA(info), regName(info)); +} + +void shrd_EvGvIb_das(IAinstInfoPtr info, char *str) /* 0F,AC */ +{ + (void)sprintf(str, MNE"%s, %s, %s", "shrd", modrmEA(info), regName(info), + imm(info, 1, 0)); +} + +void shrd_EvGvCL_das(IAinstInfoPtr info, char *str) /* 0F,AD */ +{ + (void)sprintf(str, MNE"%s, %s, cl", "shrd", modrmEA(info), regName(info)); +} + +void imul_GvEv_das(IAinstInfoPtr info, char *str) /* 0F,AF */ +{ + (void)sprintf(str, MNE"%s, %s", "imul", regName(info), modrmEA(info)); +} + +void cmpxchg_ExGx_das(IAinstInfoPtr info, char *str) /* 0F,B0 - 0F,B1 */ +{ + (void)sprintf(str, MNE"%s, %s", "cmpxchg", modrmEA(info), regName(info)); +} + +/* lss_GvMp uses load_far_ptr_das (C4) */ /* 0F,B2 */ + +void btr_EvGv_das(IAinstInfoPtr info, char *str) /* 0F,B3 */ +{ + (void)sprintf(str, MNE"%s, %s", "btr", modrmEA(info), regName(info)); +} + +/* lfs_GvMp uses load_far_ptr_das (C4) */ /* 0F,B4 */ + +/* lgs_GvMp uses load_far_ptr_das (C4) */ /* 0F,B5 */ + +void movzx_GvEb_das(IAinstInfoPtr info, char *str) /* 0F,B6 */ +{ + char *reg = regName(info); + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct EA disassembly */ + info->opSize = 1; + (void)sprintf(str, MNE"%s, %s%s", "movzx", reg, ptrStr(info), + modrmEA(info)); + info->opSize = opSize; /* restore */ +} + +void movzx_GvEw_das(IAinstInfoPtr info, char *str) /* 0F,B7 */ +{ + char *reg = regName(info); + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct EA disassembly */ + info->opSize = 2; + (void)sprintf(str, MNE"%s, %s%s", "movzx", reg, ptrStr(info), + modrmEA(info)); + info->opSize = opSize; /* restore */ +} + +void jmpe_Jv_das(IAinstInfoPtr info, char *str) /* 0F,B8 */ +{ + (void)sprintf(str, MNE"%s", "jmpe", ofs(info, info->opSize)); +} + +void group8_das(IAinstInfoPtr info, char *str) /* 0F,BA */ +{ + static char *mne[8] = { + "reserved", "reserved", "reserved", "reserved", + "bt", "bts", "btr", "btc" + }; + + (void)sprintf(str, MNE"%s, %s", mne[info->modrm.reg_op], modrmEA(info), + imm(info, 1, 0)); +} + +void btc_EvGv_das(IAinstInfoPtr info, char *str) /* 0F,BB */ +{ + (void)sprintf(str, MNE"%s, %s", "btc", modrmEA(info), regName(info)); +} + +void bsf_GvEv_das(IAinstInfoPtr info, char *str) /* 0F,BC */ +{ + (void)sprintf(str, MNE"%s, %s", "bsf", regName(info), modrmEA(info)); +} + +void bsr_GvEv_das(IAinstInfoPtr info, char *str) /* 0F,BD */ +{ + (void)sprintf(str, MNE"%s, %s", "bsr", regName(info), modrmEA(info)); +} + +void movsx_GvEb_das(IAinstInfoPtr info, char *str) /* 0F,BE */ +{ + char *reg = regName(info); + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct EA disassembly */ + info->opSize = 1; + (void)sprintf(str, MNE"%s, %s%s", "movsx", reg, ptrStr(info), + modrmEA(info)); + info->opSize = opSize; /* restore */ +} + +void movsx_GvEw_das(IAinstInfoPtr info, char *str) /* 0F,BF */ +{ + char *reg = regName(info); + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct EA disassembly */ + info->opSize = 2; + (void)sprintf(str, MNE"%s, %s%s", "movsx", reg, ptrStr(info), + modrmEA(info)); + info->opSize = opSize; /* restore */ +} + +void xadd_ExGx_das(IAinstInfoPtr info, char *str) /* 0F,C0 - 0F,C1 */ +{ + (void)sprintf(str, MNE"%s, %s", "xadd", modrmEA(info), regName(info)); +} + +void group9_das(IAinstInfoPtr info, char *str) /* 0F,C7 */ +{ + static char *mne[8] = { + "reserved", "cmpxchg8b", "reserved", "reserved", + "reserved", "reserved", "reserved", "reserved" + }; + + (void)sprintf(str, MNE"%s", mne[info->modrm.reg_op], modrmEA(info)); +} + +void bswap_reg_das(IAinstInfoPtr info, char *str) /* 0F,C8 - 0F,CF */ +{ + (void)sprintf(str, MNE"%s", "bswap", regName(info)); +} diff --git a/src/ia_das.h b/src/ia_das.h new file mode 100644 index 0000000..0476fcb --- /dev/null +++ b/src/ia_das.h @@ -0,0 +1,247 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Disassembly Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_DAS_H +#define _SKI_IA_DAS_H + +void add_ExGx_das(IAinstInfoPtr info, char *str); /* 00 - 01 */ +void add_GxEx_das(IAinstInfoPtr info, char *str); /* 02 - 03 */ +void add_reg_imm_das(IAinstInfoPtr info, char *str); /* 04 - 05 */ +void push_seg_das(IAinstInfoPtr info, char *str); /* 06 */ +void pop_seg_das(IAinstInfoPtr info, char *str); /* 07 */ +void or_ExGx_das(IAinstInfoPtr info, char *str); /* 08 - 09 */ +void or_GxEx_das(IAinstInfoPtr info, char *str); /* 0A - 0B */ +void or_reg_imm_das(IAinstInfoPtr info, char *str); /* 0C - 0D */ +/* push_CS uses push_seg_das (06) */ /* 0E */ +/* two-byte escape */ /* 0F */ + +void adc_ExGx_das(IAinstInfoPtr info, char *str); /* 10 - 11 */ +void adc_GxEx_das(IAinstInfoPtr info, char *str); /* 12 - 13 */ +void adc_reg_imm_das(IAinstInfoPtr info, char *str); /* 14 - 15 */ +/* push_SS uses push_seg_das (06) */ /* 16 */ +/* pop_SS uses pop_seg_das (07) */ /* 17 */ +void sbb_ExGx_das(IAinstInfoPtr info, char *str); /* 18 - 19 */ +void sbb_GxEx_das(IAinstInfoPtr info, char *str); /* 1A - 1B */ +void sbb_reg_imm_das(IAinstInfoPtr info, char *str); /* 1C - 1D */ +/* push_DS uses push_seg_das (06) */ /* 1E */ +/* pop_DS uses pop_seg_das (07) */ /* 1F */ + +void and_ExGx_das(IAinstInfoPtr info, char *str); /* 20 - 21 */ +void and_GxEx_das(IAinstInfoPtr info, char *str); /* 22 - 23 */ +void and_reg_imm_das(IAinstInfoPtr info, char *str); /* 24 - 25 */ +/* ES segment override */ /* 26 */ +void daa_das(IAinstInfoPtr info, char *str); /* 27 */ +void sub_ExGx_das(IAinstInfoPtr info, char *str); /* 28 - 29 */ +void sub_GxEx_das(IAinstInfoPtr info, char *str); /* 2A - 2B */ +void sub_reg_imm_das(IAinstInfoPtr info, char *str); /* 2C - 2D */ +/* CS segment override */ /* 2E */ +void das_das(IAinstInfoPtr info, char *str); /* 2F */ + +void xor_ExGx_das(IAinstInfoPtr info, char *str); /* 30 - 31 */ +void xor_GxEx_das(IAinstInfoPtr info, char *str); /* 32 - 33 */ +void xor_reg_imm_das(IAinstInfoPtr info, char *str); /* 34 - 35 */ +/* SS segment override */ /* 36 */ +void aaa_das(IAinstInfoPtr info, char *str); /* 37 */ +void cmp_ExGx_das(IAinstInfoPtr info, char *str); /* 38 - 39 */ +void cmp_GxEx_das(IAinstInfoPtr info, char *str); /* 3A - 3B */ +void cmp_reg_imm_das(IAinstInfoPtr info, char *str); /* 3C - 3D */ +/* DS segment override */ /* 3E */ +void aas_das(IAinstInfoPtr info, char *str); /* 3F */ + +void inc_reg_das(IAinstInfoPtr info, char *str); /* 40 - 47 */ +void dec_reg_das(IAinstInfoPtr info, char *str); /* 48 - 4F */ + +void push_reg_das(IAinstInfoPtr info, char *str); /* 50 - 57 */ +void pop_reg_das(IAinstInfoPtr info, char *str); /* 58 - 5F */ + +void pusha_das(IAinstInfoPtr info, char *str); /* 60 */ +void popa_das(IAinstInfoPtr info, char *str); /* 61 */ +void bound_GvMa_das(IAinstInfoPtr info, char *str); /* 62 */ +void arpl_EwGw_das(IAinstInfoPtr info, char *str); /* 63 */ +/* FS segment override */ /* 64 */ +/* GS segment override */ /* 65 */ +/* operand size override */ /* 66 */ +/* address size override */ /* 67 */ +void push_imm_das(IAinstInfoPtr info, char *str); /* 68 */ +void imul_GvEvIv_das(IAinstInfoPtr info, char *str); /* 69 */ +/* push_Ib uses push_imm_das (68) */ /* 6A */ +void imul_GvEvIb_das(IAinstInfoPtr info, char *str); /* 6B */ +void ins_YxDX_das(IAinstInfoPtr info, char *str); /* 6C - 6D */ +void outs_DXXx_das(IAinstInfoPtr info, char *str); /* 6E - 6F */ + +void jcc_das(IAinstInfoPtr info, char *str); /* 70 - 7F */ + +void group1_das(IAinstInfoPtr info, char *str); /* 80 */ +/* group1_EvIv uses group1_das (80) */ /* 81 */ +void movb_ALIb_das(IAinstInfoPtr info, char *str); /* 82 */ +/* group1_EvIb uses group1_das (80) */ /* 83 */ +void test_ExGx_das(IAinstInfoPtr info, char *str); /* 84 - 85 */ +void xchg_ExGx_das(IAinstInfoPtr info, char *str); /* 86 - 87 */ +void mov_ExGx_das(IAinstInfoPtr info, char *str); /* 88 - 89 */ +void mov_GxEx_das(IAinstInfoPtr info, char *str); /* 8A - 8B */ +void mov_EwSw_das(IAinstInfoPtr info, char *str); /* 8C */ +void lea_GvM_das(IAinstInfoPtr info, char *str); /* 8D */ +void mov_SwEw_das(IAinstInfoPtr info, char *str); /* 8E */ +void pop_Ev_das(IAinstInfoPtr info, char *str); /* 8F */ + +void nop_das(IAinstInfoPtr info, char *str); /* 90 */ +void xchg_reg_reg_das(IAinstInfoPtr info, char *str); /* 91 - 97 */ +void cbw_das(IAinstInfoPtr info, char *str); /* 98 */ +void cwd_das(IAinstInfoPtr info, char *str); /* 99 */ +void call_Ap_das(IAinstInfoPtr info, char *str); /* 9A */ +void wait_das(IAinstInfoPtr info, char *str); /* 9B */ +void pushf_Fv_das(IAinstInfoPtr info, char *str); /* 9C */ +void popf_Fv_das(IAinstInfoPtr info, char *str); /* 9D */ +void sahf_das(IAinstInfoPtr info, char *str); /* 9E */ +void lahf_das(IAinstInfoPtr info, char *str); /* 9F */ + +void mov_reg_Ox_das(IAinstInfoPtr info, char *str); /* A0 - A1 */ +void mov_Ox_reg_das(IAinstInfoPtr info, char *str); /* A2 - A3 */ +void movs_YxXx_das(IAinstInfoPtr info, char *str); /* A4 - A5 */ +void cmps_XxYx_das(IAinstInfoPtr info, char *str); /* A6 - A7 */ +void test_reg_imm_das(IAinstInfoPtr info, char *str); /* A8 - A9 */ +void stos_Yx_reg_das(IAinstInfoPtr info, char *str); /* AA - AB */ +void lods_reg_Xx_das(IAinstInfoPtr info, char *str); /* AC -AD */ +void scas_reg_Yx_das(IAinstInfoPtr info, char *str); /* AE - AF */ + +void mov_reg_imm_das(IAinstInfoPtr info, char *str); /* B0 - BF */ + +void group2_ExIb_das(IAinstInfoPtr info, char *str); /* C0 - C1 */ +void ret_near_Iw_das(IAinstInfoPtr info, char *str); /* C2 */ +void ret_near_das(IAinstInfoPtr info, char *str); /* C3 */ +void load_far_ptr_das(IAinstInfoPtr info, char *str); /* C4 */ +/* lds_GvMp uses load_far_ptr_das (C4) */ /* C5 */ +void mov_ExIx_das(IAinstInfoPtr info, char *str); /* C6 - C7 */ +void enter_IwIb_das(IAinstInfoPtr info, char *str); /* C8 */ +void leave_das(IAinstInfoPtr info, char *str); /* C9 */ +void ret_far_Iw_das(IAinstInfoPtr info, char *str); /* CA */ +void ret_far_das(IAinstInfoPtr info, char *str); /* CB */ +/* int3 uses int_Ib_das (CD) */ /* CC */ +void int_Ib_das(IAinstInfoPtr info, char *str); /* CD */ +void into_das(IAinstInfoPtr info, char *str); /* CE */ +void iret_das(IAinstInfoPtr info, char *str); /* CF */ + +/* group2_Eb1 uses group2_ExIb_das (C0 - C1) */ /* D0 */ +/* group2_Ev1 uses group2_ExIb_das (C0 - C1) */ /* D1 */ +void group2_ExCL_das(IAinstInfoPtr info, char *str); /* D2 - D3 */ +void aam_Ib_das(IAinstInfoPtr info, char *str); /* D4 */ +void aad_Ib_das(IAinstInfoPtr info, char *str); /* D5 */ +void salc_das(IAinstInfoPtr info, char *str); /* D6 */ +void xlat_das(IAinstInfoPtr info, char *str); /* D7 */ +void esc_D8_das(IAinstInfoPtr info, char *str); /* D8 */ +void esc_D9_das(IAinstInfoPtr info, char *str); /* D9 */ +void esc_DA_das(IAinstInfoPtr info, char *str); /* DA */ +void esc_DB_das(IAinstInfoPtr info, char *str); /* DB */ +void esc_DC_das(IAinstInfoPtr info, char *str); /* DC */ +void esc_DD_das(IAinstInfoPtr info, char *str); /* DD */ +void esc_DE_das(IAinstInfoPtr info, char *str); /* DE */ +void esc_DF_das(IAinstInfoPtr info, char *str); /* DF */ + +void loop_das(IAinstInfoPtr info, char *str); /* E0 - E2 */ +void jcxz_Jb_das(IAinstInfoPtr info, char *str); /* E3 */ +void in_reg_imm_das(IAinstInfoPtr info, char *str); /* E4 - E5 */ +void out_imm_reg_das(IAinstInfoPtr info, char *str); /* E6 - E7 */ +void call_Jv_das(IAinstInfoPtr info, char *str); /* E8 */ +void jmp_Jv_das(IAinstInfoPtr info, char *str); /* E9 */ +void jmp_Ap_das(IAinstInfoPtr info, char *str); /* EA */ +void jmp_Jb_das(IAinstInfoPtr info, char *str); /* EB */ +void in_reg_DX_das(IAinstInfoPtr info, char *str); /* EC - ED */ +void out_DX_reg_das(IAinstInfoPtr info, char *str); /* EE - EF */ + +void lock_das(IAinstInfoPtr info, char *str); /* F0 */ +void reserved_das(IAinstInfoPtr info, char *str); /* F1 */ +/* repne prefix */ /* F2 */ +/* rep prefix */ /* F3 */ +void hlt_das(IAinstInfoPtr info, char *str); /* F4 */ +void cmc_das(IAinstInfoPtr info, char *str); /* F5 */ +void group3_das(IAinstInfoPtr info, char *str); /* F6 - F7 */ +void clc_das(IAinstInfoPtr info, char *str); /* F8 */ +void stc_das(IAinstInfoPtr info, char *str); /* F9 */ +void cli_das(IAinstInfoPtr info, char *str); /* FA */ +void sti_das(IAinstInfoPtr info, char *str); /* FB */ +void cld_das(IAinstInfoPtr info, char *str); /* FC */ +void std_das(IAinstInfoPtr info, char *str); /* FD */ +void group4_das(IAinstInfoPtr info, char *str); /* FE */ +void group5_das(IAinstInfoPtr info, char *str); /* FF */ + +void group6_das(IAinstInfoPtr info, char *str); /* 0F,00 */ +void group7_das(IAinstInfoPtr info, char *str); /* 0F,01 */ +void lar_GvEw_das(IAinstInfoPtr info, char *str); /* 0F,02 */ +void lsl_GvEw_das(IAinstInfoPtr info, char *str); /* 0F,03 */ +void clts_das(IAinstInfoPtr info, char *str); /* 0F,06 */ +void invd_das(IAinstInfoPtr info, char *str); /* 0F,08 */ +void wbinvd_das(IAinstInfoPtr info, char *str); /* 0F,09 */ +void ud2_das(IAinstInfoPtr info, char *str); /* 0F,0B */ + +void mov_RdCd_das(IAinstInfoPtr info, char *str); /* 0F,20 */ +void mov_RdDd_das(IAinstInfoPtr info, char *str); /* 0F,21 */ +void mov_CdRd_das(IAinstInfoPtr info, char *str); /* 0F,22 */ +void mov_DdRd_das(IAinstInfoPtr info, char *str); /* 0F,23 */ +void mov_RdTd_das(IAinstInfoPtr info, char *str); /* 0F,24 */ +void mov_TdRd_das(IAinstInfoPtr info, char *str); /* 0F,26 */ + +void wrmsr_das(IAinstInfoPtr info, char *str); /* 0F,30 */ +void rdtsc_das(IAinstInfoPtr info, char *str); /* 0F,31 */ +void rdmsr_das(IAinstInfoPtr info, char *str); /* 0F,32 */ +void rdpmc_das(IAinstInfoPtr info, char *str); /* 0F,33 */ + +void cmovcc_das(IAinstInfoPtr info, char *str); /* 0F,40 - 0F,4F */ + +/* uses jcc_das (70 - 7F) */ /* 0F,80 - 0F,8F */ + +void setcc_das(IAinstInfoPtr info, char *str); /* 0F,90 - 0F,9F */ + +/* push_FS uses push_seg_das (06) */ /* 0F,A0 */ +/* pop_FS uses pop_seg_das (07) */ /* 0F,A1 */ +void cpuid_das(IAinstInfoPtr info, char *str); /* 0F,A2 */ +void bt_EvGv_das(IAinstInfoPtr info, char *str); /* 0F,A3 */ +void shld_EvGvIb_das(IAinstInfoPtr info, char *str); /* 0F,A4 */ +void shld_EvGvCL_das(IAinstInfoPtr info, char *str); /* 0F,A5 */ +void cmpxchg_XBTS_das(IAinstInfoPtr info, char *str); /* 0F,A6 */ +void cmpxchg_IBTS_das(IAinstInfoPtr info, char *str); /* 0F,A7 */ +/* push_GS uses push_seg_das (06) */ /* 0F,A8 */ +/* pop_GS uses pop_seg_das (07) */ /* 0F,A9 */ +void rsm_das(IAinstInfoPtr info, char *str); /* 0F,AA */ +void bts_EvGv_das(IAinstInfoPtr info, char *str); /* 0F,AB */ +void shrd_EvGvIb_das(IAinstInfoPtr info, char *str); /* 0F,AC */ +void shrd_EvGvCL_das(IAinstInfoPtr info, char *str); /* 0F,AD */ +void imul_GvEv_das(IAinstInfoPtr info, char *str); /* 0F,AF */ + +void cmpxchg_ExGx_das(IAinstInfoPtr info, char *str); /* 0F,B0 - 0F,B1 */ +/* lss_GvMp uses load_far_ptr_das (C4) */ /* 0F,B2 */ +void btr_EvGv_das(IAinstInfoPtr info, char *str); /* 0F,B3 */ +/* lfs_GvMp uses load_far_ptr_das (C4) */ /* 0F,B4 */ +/* lgs_GvMp uses load_far_ptr_das (C4) */ /* 0F,B5 */ +void movzx_GvEb_das(IAinstInfoPtr info, char *str); /* 0F,B6 */ +void movzx_GvEw_das(IAinstInfoPtr info, char *str); /* 0F,B7 */ +void jmpe_Jv_das(IAinstInfoPtr info, char *str); /* 0F,B8 */ +void group8_das(IAinstInfoPtr info, char *str); /* 0F,BA */ +void btc_EvGv_das(IAinstInfoPtr info, char *str); /* 0F,BB */ +void bsf_GvEv_das(IAinstInfoPtr info, char *str); /* 0F,BC */ +void bsr_GvEv_das(IAinstInfoPtr info, char *str); /* 0F,BD */ +void movsx_GvEb_das(IAinstInfoPtr info, char *str); /* 0F,BE */ +void movsx_GvEw_das(IAinstInfoPtr info, char *str); /* 0F,BF */ + +void xadd_ExGx_das(IAinstInfoPtr info, char *str); /* 0F,C0 - 0F,C1 */ +void group9_das(IAinstInfoPtr info, char *str); /* 0F,C7 */ +void bswap_reg_das(IAinstInfoPtr info, char *str); /* 0F,C8 - 0F,CF */ + +#endif /* _SKI_IA_DAS_H */ diff --git a/src/ia_decoder.c b/src/ia_decoder.c new file mode 100644 index 0000000..e8d3275 --- /dev/null +++ b/src/ia_decoder.c @@ -0,0 +1,4578 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * IA Decoding Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include /* Just for INT_MIN as DECODE_FAILED? */ +#undef MIN +#undef MAX +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "sim.h" +#include "ia_exec.h" +#include "sign_ext.h" + +extern BYTE iAmode; +Status iAinstFetchDecode(IAinstInfoPtr info); + +#define DECODE_FAILED INT_MIN +#define overrideSize(x) ((x) ^= 6) /* flips between IA16 (2) & IA32 (4) */ + +typedef enum { + RegSrcEaDest, RegSrcNoDest, + EaSrcRegDest, EaSrcNoDest, + NoSrcEaDest, NoSrcRegDest, + LeaSrcRegDest, + LfpSrcRegDest, LfpSrcNoDest, + BoundSrcRegDest +} SrcDestType; + +typedef const struct { + PIAEF execFn; + BYTE opSize; + SrcDestType sdt; +} GroupInfo, *GroupInfoPtr; + +/* decode function */ +typedef int (*PIADF)(ADDR4, struct ia_instinfo *); + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info); +static const PIADF two_byte_opcode[256]; + + +/* Utility Functions */ + +/* Fetch and Assemble a "size"-byte Immediate */ + +static int iAimm(ADDR4 eip, IADWORD *val, BYTE size) +{ + BYTE imm[4]; + + if (!memIAIRd(eip, imm, size)) + return DECODE_FAILED; + + switch (size) { + case 1: + *val = sign_ext32(imm[0], 8); + break; + case 2: + *val = sign_ext32(imm[1]<<8 | imm[0], 16); + break; + case 4: + *val = imm[3]<<24 | imm[2]<<16 | imm[1]<<8 | imm[0]; + break; + } + return size; +} + +/* SIB Decode Function */ + +static int sib_decode(ADDR4 eip, IAinstInfoPtr info, BYTE mod, + PIARF *eaRdFn, PIAWF *eaWrFn, BYTE *defSeg) +{ + SIB sib; + int len = 1; + + if (!memIAIRd(eip, (BYTE *)&sib, 1)) + return DECODE_FAILED; + + info->scale = 1 << sib.ss; + info->index = (sib.index == ESP_REG) ? NO_REG : sib.index; + info->base = sib.base; + + if (sib.base == ESP_REG) + *defSeg = SS_ID; + else if (sib.base == EBP_REG) + if (mod == 0) { /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = NO_REG; + *defSeg = DS_ID; + } else /* EBP */ + *defSeg = SS_ID; + else + *defSeg = DS_ID; + + *eaRdFn = sib_dispIARd; + *eaWrFn = memIAWr; + return len; +} + +/* ModR/M Decode Tables */ + +static EaInfo ea16_info[3][8] = { /* Mod R/M */ + {{ BX_REG, SI_REG, DS_ID, "%s[bx][si]" }, /* 0 0 */ + { BX_REG, DI_REG, DS_ID, "%s[bx][di]" }, /* 0 1 */ + { BP_REG, SI_REG, SS_ID, "%s[bp][si]" }, /* 0 2 */ + { BP_REG, DI_REG, SS_ID, "%s[bp][di]" }, /* 0 3 */ + { SI_REG, NO_REG, DS_ID, "%s[si]" }, /* 0 4 */ + { DI_REG, NO_REG, DS_ID, "%s[di]" }, /* 0 5 */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 6 */ + { BX_REG, NO_REG, DS_ID, "%s[bx]" }}, /* 0 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 1 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 1 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 1 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 1 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 1 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 1 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 1 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }}, /* 1 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 2 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 2 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 2 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 2 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 2 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 2 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 2 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }} /* 2 7 */ +}; + +static EaInfo ea32_info[3][8] = { /* Mod R/M */ + {{ EAX_REG, NO_REG, DS_ID, "%s[eax]" }, /* 0 0 */ + { ECX_REG, NO_REG, DS_ID, "%s[ecx]" }, /* 0 1 */ + { EDX_REG, NO_REG, DS_ID, "%s[edx]" }, /* 0 2 */ + { EBX_REG, NO_REG, DS_ID, "%s[ebx]" }, /* 0 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 0 4 */ /* SIB */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 5 */ + { ESI_REG, NO_REG, DS_ID, "%s[esi]" }, /* 0 6 */ + { EDI_REG, NO_REG, DS_ID, "%s[edi]" }}, /* 0 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 1 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 1 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 1 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 1 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 1 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 1 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 1 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[edi]" }}, /* 1 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 2 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 2 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 2 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 2 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 2 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 2 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 2 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[eax]" }} /* 2 7 */ +}; + +EaInfoPtr ea16Info(ModRM modrm) +{ + if (modrm.mod < 3) + return &ea16_info[modrm.mod][modrm.rm]; + return 0; +} + +EaInfoPtr ea32Info(ModRM modrm) +{ + if (modrm.mod < 3) + return &ea32_info[modrm.mod][modrm.rm]; + return 0; +} + +/* ModR/M Decode Function */ + +static int modrm_decode(ADDR4 eip, IAinstInfoPtr info, PIAEF execFn, + PIADASF dasFn, SrcDestType sdt) +{ + PIARF regRdFn, eaRdFn; + PIAWF regWrFn, eaWrFn; + ModRM modrm; + BYTE defSeg; + int len = 1; + + if (!memIAIRd(eip, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + info->modrm = modrm; + info->reg = modrm.reg_op; + switch (info->opSize) { + case 1: + regRdFn = reg8IARd; + regWrFn = reg8IAWr; + break; + case 2: + regRdFn = reg16IARd; + regWrFn = reg16IAWr; + break; + case 4: + regRdFn = reg32IARd; + regWrFn = reg32IAWr; + break; + } + + if (info->addrSize == IA16) { /* 16-bit addressing forms */ + switch (modrm.mod) { + case 0: + if (modrm.rm == DISP16_RM) /* disp16 */ + len += iAimm(eip+1, &info->disp32, 2); + else + info->disp32 = 0; + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm16_dispIARd; + eaWrFn = memIAWr; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 1: + case 2: + len += iAimm(eip+1, &info->disp32, modrm.mod); + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm16_dispIARd; + eaWrFn = memIAWr; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = base8IARd; + eaWrFn = base8IAWr; + break; + case 2: + eaRdFn = base16IARd; + eaWrFn = base16IAWr; + break; + case 4: + eaRdFn = base32IARd; + eaWrFn = base32IAWr; + break; + } + break; + } + } else { /* 32-bit addressing forms */ + switch (modrm.mod) { + case 0: + info->disp32 = 0; + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + if (modrm.rm == DISP32_RM) /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm32_dispIARd; + eaWrFn = memIAWr; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + break; + case 1: + case 2: + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm32_dispIARd; + eaWrFn = memIAWr; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + len += iAimm(eip+1, &info->disp32, 3 * modrm.mod - 2); + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = base8IARd; + eaWrFn = base8IAWr; + break; + case 2: + eaRdFn = base16IARd; + eaWrFn = base16IAWr; + break; + case 4: + eaRdFn = base32IARd; + eaWrFn = base32IAWr; + break; + } + break; + } + } + + /* fill in info src/dest rd/wr functions based on source/dest type */ + switch (sdt) { + case RegSrcEaDest: + info->srcRdFn = regRdFn; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case RegSrcNoDest: + info->srcRdFn = regRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case EaSrcRegDest: + info->srcRdFn = eaRdFn; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case EaSrcNoDest: + info->srcRdFn = eaRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case NoSrcEaDest: + info->srcRdFn = 0; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case NoSrcRegDest: + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LeaSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that just return the + * effective address */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = lea16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = lea32IARd; + else /* sib_dispIARd */ + info->srcRdFn = leaSibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = load_far_ptr_16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = load_far_ptr_32IARd; + else /* sib_dispIARd */ + info->srcRdFn = load_far_ptr_sibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcNoDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = load_far_ptr_16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = load_far_ptr_32IARd; + else /* sib_dispIARd */ + info->srcRdFn = load_far_ptr_sibIARd; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case BoundSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that read both bound + * values */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = bound16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = bound32IARd; + else /* sib_dispIARd */ + info->srcRdFn = boundSibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + } + if (!info->segment) /* no segment override or SIB */ + info->segment = defSeg; + info->execFn = execFn; + info->dasFn = dasFn; + return len; +} + +/* Decode a Reg, Imm Instruction */ + +static int iAregImm(ADDR4 eip, IAinstInfoPtr info, PIAEF execFn, + PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = immIARd; + switch (info->opSize) { + case 1: + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + break; + case 2: + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + break; + case 4: + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +/* Decode a Reg Instruction */ + +static int iAreg(IAinstInfoPtr info, PIAEF execFn, PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = 0; + switch (info->opSize) { + case 1: + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + break; + case 2: + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + break; + case 4: + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Reg, Reg Instruction */ + +static int iAregReg(IAinstInfoPtr info, PIAEF execFn, PIADASF dasFn, + BYTE dest, BYTE src) +{ + switch (info->opSize) { + case 1: + info->srcRdFn = reg8IARd; + info->destRdFn = base8IARd; + info->destWrFn = base8IAWr; + break; + case 2: + info->srcRdFn = reg16IARd; + info->destRdFn = base16IARd; + info->destWrFn = base16IAWr; + break; + case 4: + info->srcRdFn = reg32IARd; + info->destRdFn = base32IARd; + info->destWrFn = base32IAWr; + break; + } + info->base = dest; + info->reg = src; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Push Segment Register Instruction */ + +static int iApushSeg(IAinstInfoPtr info, BYTE src) +{ + info->srcRdFn = segRegIARd; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = push_seg_das; + return 1; +} + +/* Decode a Push Register Instruction */ + +static int iApushReg(IAinstInfoPtr info, BYTE src) +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else /* IA32 */ + info->srcRdFn = reg32IARd; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = push_reg_das; + return 1; +} + +/* Decode a Pop Segment Register Instruction */ + +static int iApopSeg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->destRdFn = segRegUpdateIARd; + info->destWrFn = segRegIAWr; + info->cond_seg = dest; + info->execFn = popIAEx; + info->dasFn = pop_seg_das; + return 1; +} + +/* Decode a Pop Register Instruction */ + +static int iApopReg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { /* IA32 */ + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = dest; + info->execFn = popIAEx; + info->dasFn = pop_reg_das; + return 1; +} + + +/* One-Byte Opcode Decode Functions */ + +static int add_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 00 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, addIAEx, add_ExGx_das, RegSrcEaDest); +} + +static int add_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 01 */ +{ + return 1 + modrm_decode(eip+1, info, addIAEx, add_ExGx_das, RegSrcEaDest); +} + +static int add_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 02 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, addIAEx, add_GxEx_das, EaSrcRegDest); +} + +static int add_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 03 */ +{ + return 1 + modrm_decode(eip+1, info, addIAEx, add_GxEx_das, EaSrcRegDest); +} + +static int add_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 04 */ +{ + info->opSize = 1; + return iAregImm(eip, info, addIAEx, add_reg_imm_das, AL_REG); +} + +static int add_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 05 */ +{ + return iAregImm(eip, info, addIAEx, add_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 06 */ +{ + return iApushSeg(info, ES_REG); +} + +/* ARGSUSED */ +static int pop_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 07 */ +{ + return iApopSeg(info, ES_REG); +} + +static int or_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 08 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, orIAEx, or_ExGx_das, RegSrcEaDest); +} + +static int or_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 09 */ +{ + return 1 + modrm_decode(eip+1, info, orIAEx, or_ExGx_das, RegSrcEaDest); +} + +static int or_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, orIAEx, or_GxEx_das, EaSrcRegDest); +} + +static int or_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0B */ +{ + return 1 + modrm_decode(eip+1, info, orIAEx, or_GxEx_das, EaSrcRegDest); +} + +static int or_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0C */ +{ + info->opSize = 1; + return iAregImm(eip, info, orIAEx, or_reg_imm_das, AL_REG); +} + +static int or_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0D */ +{ + return iAregImm(eip, info, orIAEx, or_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0E */ +{ + return iApushSeg(info, CS_REG); +} + +static int two_byte_escape(ADDR4 eip, IAinstInfoPtr info) /* 0F */ +{ + BYTE op2; + + if (!memIAIRd(eip+1, &op2, 1)) + return DECODE_FAILED; + + return two_byte_opcode[op2](eip+1, info) + 1; +} + +static int adc_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 10 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, adcIAEx, adc_ExGx_das, RegSrcEaDest); +} + +static int adc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 11 */ +{ + return 1 + modrm_decode(eip+1, info, adcIAEx, adc_ExGx_das, RegSrcEaDest); +} + +static int adc_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 12 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, adcIAEx, adc_GxEx_das, EaSrcRegDest); +} + +static int adc_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 13 */ +{ + return 1 + modrm_decode(eip+1, info, adcIAEx, adc_GxEx_das, EaSrcRegDest); +} + +static int adc_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 14 */ +{ + info->opSize = 1; + return iAregImm(eip, info, adcIAEx, adc_reg_imm_das, AL_REG); +} + +static int adc_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 15 */ +{ + return iAregImm(eip, info, adcIAEx, adc_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 16 */ +{ + return iApushSeg(info, SS_REG); +} + +/* ARGSUSED */ +static int pop_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 17 */ +{ + return iApopSeg(info, SS_REG); +} + +static int sbb_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 18 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, sbbIAEx, sbb_ExGx_das, RegSrcEaDest); +} + +static int sbb_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 19 */ +{ + return 1 + modrm_decode(eip+1, info, sbbIAEx, sbb_ExGx_das, RegSrcEaDest); +} + +static int sbb_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, sbbIAEx, sbb_GxEx_das, EaSrcRegDest); +} + +static int sbb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1B */ +{ + return 1 + modrm_decode(eip+1, info, sbbIAEx, sbb_GxEx_das, EaSrcRegDest); +} + +static int sbb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1C */ +{ + info->opSize = 1; + return iAregImm(eip, info, sbbIAEx, sbb_reg_imm_das, AL_REG); +} + +static int sbb_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1D */ +{ + return iAregImm(eip, info, sbbIAEx, sbb_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1E */ +{ + return iApushSeg(info, DS_REG); +} + +/* ARGSUSED */ +static int pop_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1F */ +{ + return iApopSeg(info, DS_REG); +} + +static int and_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 20 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, andIAEx, and_ExGx_das, RegSrcEaDest); +} + +static int and_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 21 */ +{ + return 1 + modrm_decode(eip+1, info, andIAEx, and_ExGx_das, RegSrcEaDest); +} + +static int and_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 22 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, andIAEx, and_GxEx_das, EaSrcRegDest); +} + +static int and_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 23 */ +{ + return 1 + modrm_decode(eip+1, info, andIAEx, and_GxEx_das, EaSrcRegDest); +} + +static int and_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 24 */ +{ + info->opSize = 1; + return iAregImm(eip, info, andIAEx, and_reg_imm_das, AL_REG); +} + +static int and_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 25 */ +{ + return iAregImm(eip, info, andIAEx, and_reg_imm_das, EAX_REG); +} + +static int seg_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 26 */ +{ + info->segment = ES_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int daa_decode(ADDR4 eip, IAinstInfoPtr info) /* 27 */ +{ + info->execFn = daaIAEx; + info->dasFn = daa_das; + return 1; +} + +static int sub_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 28 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, subIAEx, sub_ExGx_das, RegSrcEaDest); +} + +static int sub_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 29 */ +{ + return 1 + modrm_decode(eip+1, info, subIAEx, sub_ExGx_das, RegSrcEaDest); +} + +static int sub_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, subIAEx, sub_GxEx_das, EaSrcRegDest); +} + +static int sub_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2B */ +{ + return 1 + modrm_decode(eip+1, info, subIAEx, sub_GxEx_das, EaSrcRegDest); +} + +static int sub_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2C */ +{ + info->opSize = 1; + return iAregImm(eip, info, subIAEx, sub_reg_imm_das, AL_REG); +} + +static int sub_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2D */ +{ + return iAregImm(eip, info, subIAEx, sub_reg_imm_das, EAX_REG); +} + +static int seg_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 2E */ +{ + info->segment = CS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int das_decode(ADDR4 eip, IAinstInfoPtr info) /* 2F */ +{ + info->execFn = dasIAEx; + info->dasFn = das_das; + return 1; +} + +static int xor_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 30 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xorIAEx, xor_ExGx_das, RegSrcEaDest); +} + +static int xor_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 31 */ +{ + return 1 + modrm_decode(eip+1, info, xorIAEx, xor_ExGx_das, RegSrcEaDest); +} + +static int xor_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 32 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xorIAEx, xor_GxEx_das, EaSrcRegDest); +} + +static int xor_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 33 */ +{ + return 1 + modrm_decode(eip+1, info, xorIAEx, xor_GxEx_das, EaSrcRegDest); +} + +static int xor_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 34 */ +{ + info->opSize = 1; + return iAregImm(eip, info, xorIAEx, xor_reg_imm_das, AL_REG); +} + +static int xor_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 35 */ +{ + return iAregImm(eip, info, xorIAEx, xor_reg_imm_das, EAX_REG); +} + +static int seg_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 36 */ +{ + info->segment = SS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aaa_decode(ADDR4 eip, IAinstInfoPtr info) /* 37 */ +{ + info->execFn = aaaIAEx; + info->dasFn = aaa_das; + return 1; +} + +static int cmp_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 38 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpIAEx, cmp_ExGx_das, RegSrcEaDest); +} + +static int cmp_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 39 */ +{ + return 1 + modrm_decode(eip+1, info, cmpIAEx, cmp_ExGx_das, RegSrcEaDest); +} + +static int cmp_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpIAEx, cmp_GxEx_das, EaSrcRegDest); +} + +static int cmp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3B */ +{ + return 1 + modrm_decode(eip+1, info, cmpIAEx, cmp_GxEx_das, EaSrcRegDest); +} + +static int cmp_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3C */ +{ + info->opSize = 1; + return iAregImm(eip, info, cmpIAEx, cmp_reg_imm_das, AL_REG); +} + +static int cmp_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3D */ +{ + return iAregImm(eip, info, cmpIAEx, cmp_reg_imm_das, EAX_REG); +} + +static int seg_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 3E */ +{ + info->segment = DS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aas_decode(ADDR4 eip, IAinstInfoPtr info) /* 3F */ +{ + info->execFn = aasIAEx; + info->dasFn = aas_das; + return 1; +} + +/* ARGSUSED */ +static int inc_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 40 */ +{ + return iAreg(info, incIAEx, inc_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int inc_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 41 */ +{ + return iAreg(info, incIAEx, inc_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int inc_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 42 */ +{ + return iAreg(info, incIAEx, inc_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int inc_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 43 */ +{ + return iAreg(info, incIAEx, inc_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int inc_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 44 */ +{ + return iAreg(info, incIAEx, inc_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int inc_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 45 */ +{ + return iAreg(info, incIAEx, inc_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int inc_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 46 */ +{ + return iAreg(info, incIAEx, inc_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int inc_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 47 */ +{ + return iAreg(info, incIAEx, inc_reg_das, EDI_REG); +} + +/* ARGSUSED */ +static int dec_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 48 */ +{ + return iAreg(info, decIAEx, dec_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int dec_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 49 */ +{ + return iAreg(info, decIAEx, dec_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int dec_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4A */ +{ + return iAreg(info, decIAEx, dec_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int dec_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4B */ +{ + return iAreg(info, decIAEx, dec_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int dec_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4C */ +{ + return iAreg(info, decIAEx, dec_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int dec_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4D */ +{ + return iAreg(info, decIAEx, dec_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int dec_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4E */ +{ + return iAreg(info, decIAEx, dec_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int dec_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4F */ +{ + return iAreg(info, decIAEx, dec_reg_das, EDI_REG); +} + +/* ARGSUSED */ +static int push_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 50 */ +{ + return iApushReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int push_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 51 */ +{ + return iApushReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int push_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 52 */ +{ + return iApushReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int push_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 53 */ +{ + return iApushReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int push_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 54 */ +{ + return iApushReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int push_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 55 */ +{ + return iApushReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int push_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 56 */ +{ + return iApushReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int push_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 57 */ +{ + return iApushReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pop_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 58 */ +{ + return iApopReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int pop_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 59 */ +{ + return iApopReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int pop_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5A */ +{ + return iApopReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int pop_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5B */ +{ + return iApopReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int pop_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5C */ +{ + return iApopReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int pop_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5D */ +{ + return iApopReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int pop_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5E */ +{ + return iApopReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int pop_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5F */ +{ + return iApopReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pusha_decode(ADDR4 eip, IAinstInfoPtr info) /* 60 */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = pusha_spIARd; + info->destWrFn = pusha_spIAWr; + } else { /* IA32 */ + info->destRdFn = pusha_espIARd; + info->destWrFn = pusha_espIAWr; + } + info->execFn = pushaIAEx; + info->dasFn = pusha_das; + return 1; +} + +/* ARGSUSED */ +static int popa_decode(ADDR4 eip, IAinstInfoPtr info) /* 61 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = popa_spIARd; + else /* IA32 */ + info->srcRdFn = popa_espIARd; + info->execFn = popaIAEx; + info->dasFn = popa_das; + return 1; +} + +static int bound_GvMa_decode(ADDR4 eip, IAinstInfoPtr info) /* 62 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, boundIAEx, bound_GvMa_das, + BoundSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int arpl_EwGw_decode(ADDR4 eip, IAinstInfoPtr info) /* 63 */ +{ + return 1 + modrm_decode(eip+1, info, arplIAEx, arpl_EwGw_das, + RegSrcEaDest); +} + +static int seg_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 64 */ +{ + info->segment = FS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int seg_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 65 */ +{ + info->segment = GS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int operand_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 66 */ +{ + overrideSize(info->opSize); + return ia_decode2(eip+1, info) + 1; +} + +static int address_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 67 */ +{ + overrideSize(info->addrSize); + return ia_decode2(eip+1, info) + 1; +} + +static int push_Iv_decode(ADDR4 eip, IAinstInfoPtr info) /* 68 */ +{ + info->srcRdFn = immIARd; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = push_imm_das; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +static int imul_GvEvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 69 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, imulIAEx, imul_GvEvIv_das, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = immIARd; + len += iAimm(eip+len, &info->imm32, info->opSize); + return len; +} + +static int push_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* 6A */ +{ + info->srcRdFn = immIARd; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = push_imm_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int imul_GvEvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6B */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, imulIAEx, imul_GvEvIb_das, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = immIARd; + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +/* ARGSUSED */ +static int insb_YbDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6C */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_insIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = insIAEx; + break; + } + info->dasFn = ins_YxDX_das; + return 1; +} + +/* ARGSUSED */ +static int insw_YvDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6D */ +{ + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_insIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = insIAEx; + break; + } + info->dasFn = ins_YxDX_das; + return 1; +} + +/* ARGSUSED */ +static int outsb_DXXb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6E */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_outsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = outsIAEx; + break; + } + info->dasFn = outs_DXXx_das; + return 1; +} + +/* ARGSUSED */ +static int outsw_DXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* 6F */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_outsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = outsIAEx; + break; + } + info->dasFn = outs_DXXx_das; + return 1; +} + +static int jo_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 70 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jno_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 71 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 72 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 73 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 74 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 75 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 76 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 77 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int js_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 78 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jns_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 79 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static GroupInfo group1_info[8] = { /* reg_op */ + { addIAEx, 0, NoSrcEaDest }, /* 0 */ + { orIAEx, 0, NoSrcEaDest }, /* 1 */ + { adcIAEx, 0, NoSrcEaDest }, /* 2 */ + { sbbIAEx, 0, NoSrcEaDest }, /* 3 */ + { andIAEx, 0, NoSrcEaDest }, /* 4 */ + { subIAEx, 0, NoSrcEaDest }, /* 5 */ + { xorIAEx, 0, NoSrcEaDest }, /* 6 */ + { cmpIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group1_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 80 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int group1_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 81 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + return len; +} + +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ +static int movb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 82 */ +{ + info->execFn = unimpIAEx; + info->dasFn = movb_ALIb_das; + return 1; +} + +static int group1_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 83 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int test_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 84 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, testIAEx, test_ExGx_das, + RegSrcEaDest); +} + +static int test_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 85 */ +{ + return 1 + modrm_decode(eip+1, info, testIAEx, test_ExGx_das, + RegSrcEaDest); +} + +static int xchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 86 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xchgIAEx, xchg_ExGx_das, + RegSrcEaDest); +} + +static int xchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 87 */ +{ + return 1 + modrm_decode(eip+1, info, xchgIAEx, xchg_ExGx_das, + RegSrcEaDest); +} + +static int mov_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 88 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, movIAEx, mov_ExGx_das, RegSrcEaDest); +} + +static int mov_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 89 */ +{ + return 1 + modrm_decode(eip+1, info, movIAEx, mov_ExGx_das, RegSrcEaDest); +} + +static int mov_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 8A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, movIAEx, mov_GxEx_das, EaSrcRegDest); +} + +static int mov_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 8B */ +{ + return 1 + modrm_decode(eip+1, info, movIAEx, mov_GxEx_das, EaSrcRegDest); +} + +static int mov_EwSw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8C */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if dest is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movIAEx, mov_EwSw_das, NoSrcEaDest); + info->srcRdFn = segRegIARd; + return len; +} + +static int lea_GvM_decode(ADDR4 eip, IAinstInfoPtr info) /* 8D */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, leaIAEx, lea_GvM_das, LeaSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_SwEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8E */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if src is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movIAEx, mov_SwEw_das, EaSrcNoDest); + info->destRdFn = segRegUpdateIARd; + info->destWrFn = segRegIAWr; + if (info->reg == CS_REG || info->reg > GS_REG) + info->execFn = reservedIAEx; + info->cond_seg = info->reg; + return len; +} + +static int pop_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* 8F */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, popIAEx, pop_Ev_das, NoSrcEaDest); + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + return len; +} + +/* ARGSUSED */ +static int nop_decode(ADDR4 eip, IAinstInfoPtr info) /* 90 */ +{ + info->execFn = nopIAEx; + info->dasFn = nop_das; + return 1; +} + +/* ARGSUSED */ +static int xchg_eAXeCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 91 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, ECX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 92 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, EDX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 93 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, EBX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 94 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, ESP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 95 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, EBP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 96 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, ESI_REG); +} + +static int xchg_eAXeDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 97 */ +{ + return iAregReg(info, xchgIAEx, xchg_reg_reg_das, EAX_REG, EDI_REG); +} + +/* ARGSUSED */ +static int cbw_decode(ADDR4 eip, IAinstInfoPtr info) /* 98 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = reg8IARd; + info->destWrFn = reg16IAWr; + } else { + info->srcRdFn = reg16IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->execFn = cbwIAEx; + info->dasFn = cbw_das; + return 1; +} + +/* ARGSUSED */ +static int cwd_decode(ADDR4 eip, IAinstInfoPtr info) /* 99 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = reg16IARd; + info->destWrFn = base16IAWr; + } else { + info->srcRdFn = reg32IARd; + info->destWrFn = base32IAWr; + } + info->reg = EAX_REG; + info->base = EDX_REG; + info->execFn = cwdIAEx; + info->dasFn = cwd_das; + return 1; +} + +static int call_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* 9A */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->cond_seg = CS_REG; + info->execFn = call_far_absIAEx; + info->dasFn = call_Ap_das; + return len; +} + +/* ARGSUSED */ +static int wait_decode(ADDR4 eip, IAinstInfoPtr info) /* 9B */ +{ + info->execFn = waitIAEx; + info->dasFn = wait_das; + return 1; +} + +/* ARGSUSED */ +static int pushf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9C */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushfIAEx; + info->dasFn = pushf_Fv_das; + return 1; +} + +/* ARGSUSED */ +static int popf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9D */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = popfIAEx; + info->dasFn = popf_Fv_das; + return 1; +} + +/* ARGSUSED */ +static int sahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9E */ +{ + info->execFn = sahfIAEx; + info->dasFn = sahf_das; + return 1; +} + +/* ARGSUSED */ +static int lahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9F */ +{ + info->execFn = lahfIAEx; + info->dasFn = lahf_das; + return 1; +} + +static int mov_ALOb_decode(ADDR4 eip, IAinstInfoPtr info) /* A0 */ +{ + info->opSize = 1; + info->base = info->index = NO_REG; + info->srcRdFn = modrm16_dispIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = movIAEx; + info->dasFn = mov_reg_Ox_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_eAXOv_decode(ADDR4 eip, IAinstInfoPtr info) /* A1 */ +{ + info->base = info->index = NO_REG; + info->srcRdFn = modrm16_dispIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->execFn = movIAEx; + info->dasFn = mov_reg_Ox_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_ObAL_decode(ADDR4 eip, IAinstInfoPtr info) /* A2 */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->base = info->index = NO_REG; + info->destRdFn = modrm16_dispIARd; + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = movIAEx; + info->dasFn = mov_Ox_reg_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_OveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* A3 */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->base = info->index = NO_REG; + info->destRdFn = modrm16_dispIARd; + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = movIAEx; + info->dasFn = mov_Ox_reg_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int movsb_YbXb_decode(ADDR4 eip, IAinstInfoPtr info) /* A4 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = str_siIARd; + info->destRdFn = str_diIARd; + } else { + info->srcRdFn = str_esiIARd; + info->destRdFn = str_ediIARd; + } + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_movsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = movsIAEx; + break; + } + info->dasFn = movs_YxXx_das; + return 1; +} + +static int movsw_YvXv_decode(ADDR4 eip, IAinstInfoPtr info) /* A5 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = str_siIARd; + info->destRdFn = str_diIARd; + } else { + info->srcRdFn = str_esiIARd; + info->destRdFn = str_ediIARd; + } + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_movsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = movsIAEx; + break; + } + info->dasFn = movs_YxXx_das; + return 1; +} + +static int cmpsb_XbYb_decode(ADDR4 eip, IAinstInfoPtr info) /* A6 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = str_diIARd; + info->destRdFn = str_siIARd; + } else { + info->srcRdFn = str_ediIARd; + info->destRdFn = str_esiIARd; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_cmpsIAEx; + break; + case REPNE: + info->execFn = repne_cmpsIAEx; + break; + default: + info->execFn = cmpsIAEx; + break; + } + info->dasFn = cmps_XxYx_das; + return 1; +} + +static int cmpsw_XvYv_decode(ADDR4 eip, IAinstInfoPtr info) /* A7 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = str_diIARd; + info->destRdFn = str_siIARd; + } else { + info->srcRdFn = str_ediIARd; + info->destRdFn = str_esiIARd; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_cmpsIAEx; + break; + case REPNE: + info->execFn = repne_cmpsIAEx; + break; + default: + info->execFn = cmpsIAEx; + break; + } + info->dasFn = cmps_XxYx_das; + return 1; +} + +static int test_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* A8 */ +{ + info->opSize = 1; + return iAregImm(eip, info, testIAEx, test_reg_imm_das, AL_REG); +} + +static int test_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* A9 */ +{ + return iAregImm(eip, info, testIAEx, test_reg_imm_das, EAX_REG); +} + +static int stosb_YbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* AA */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_stosIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = stosIAEx; + break; + } + info->dasFn = stos_Yx_reg_das; + return 1; +} + +static int stosw_YveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* AB */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_stosIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = stosIAEx; + break; + } + info->dasFn = stos_Yx_reg_das; + return 1; +} + +static int lodsb_ALXb_decode(ADDR4 eip, IAinstInfoPtr info) /* AC */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_lodsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = lodsIAEx; + break; + } + info->dasFn = lods_reg_Xx_das; + return 1; +} + +static int lodsw_eAXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* AD */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_lodsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = lodsIAEx; + break; + } + info->dasFn = lods_reg_Xx_das; + return 1; +} + +static int scasb_ALYb_decode(ADDR4 eip, IAinstInfoPtr info) /* AE */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_diIARd; + else + info->srcRdFn = str_ediIARd; + info->segment = ES_ID; + info->destRdFn = reg8IARd; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_scasIAEx; + break; + case REPNE: + info->execFn = repne_scasIAEx; + break; + default: + info->execFn = scasIAEx; + break; + } + info->dasFn = scas_reg_Yx_das; + return 1; +} + +static int scasw_eAXYv_decode(ADDR4 eip, IAinstInfoPtr info) /* AF */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_diIARd; + else + info->srcRdFn = str_ediIARd; + info->segment = ES_ID; + if (info->opSize == IA16) + info->destRdFn = reg16IARd; + else + info->destRdFn = reg32IARd; + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_scasIAEx; + break; + case REPNE: + info->execFn = repne_scasIAEx; + break; + default: + info->execFn = scasIAEx; + break; + } + info->dasFn = scas_reg_Yx_das; + return 1; +} + +static int mov_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B0 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, AL_REG); +} + +static int mov_CLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B1 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, CL_REG); +} + +static int mov_DLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B2 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, DL_REG); +} + +static int mov_BLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B3 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, BL_REG); +} + +static int mov_AHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B4 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, AH_REG); +} + +static int mov_CHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B5 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, CH_REG); +} + +static int mov_DHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B6 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, DH_REG); +} + +static int mov_BHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B7 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, BH_REG); +} + +static int mov_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B8 */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, EAX_REG); +} + +static int mov_eCXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B9 */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, ECX_REG); +} + +static int mov_eDXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BA */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, EDX_REG); +} + +static int mov_eBXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BB */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, EBX_REG); +} + +static int mov_eSPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BC */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, ESP_REG); +} + +static int mov_eBPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BD */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, EBP_REG); +} + +static int mov_eSIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BE */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, ESI_REG); +} + +static int mov_eDIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BF */ +{ + return iAregImm(eip, info, movIAEx, mov_reg_imm_das, EDI_REG); +} + +static GroupInfo group2_info[8] = { /* reg_op */ + { rolIAEx, 0, NoSrcEaDest }, /* 0 */ + { rorIAEx, 0, NoSrcEaDest }, /* 1 */ + { rclIAEx, 0, NoSrcEaDest }, /* 2 */ + { rcrIAEx, 0, NoSrcEaDest }, /* 3 */ + { shlIAEx, 0, NoSrcEaDest }, /* 4 */ + { shrIAEx, 0, NoSrcEaDest }, /* 5 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary */ + { sarIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group2_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int group2_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int ret_near_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* C2 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = ret_nearIAEx; + info->dasFn = ret_near_Iw_das; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_near_decode(ADDR4 eip, IAinstInfoPtr info) /* C3 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = ret_nearIAEx; + info->dasFn = ret_near_das; + info->imm32 = 0; + return 1; +} + +static int les_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = ES_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lds_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = DS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C6 */ +{ + int len = 1; + + info->opSize = 1; + len += modrm_decode(eip+1, info, movIAEx, mov_ExIx_das, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int mov_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* C7 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, movIAEx, mov_ExIx_das, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + return len; +} + +static int enter_IwIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C8 */ +{ + int len = 1; + + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + len += iAimm(eip+1, &info->imm32, 2); /* imm16 */ + len += iAimm(eip+len, &info->disp32, 1); /* imm8 */ + info->execFn = enterIAEx; + info->dasFn = enter_IwIb_das; + return len; +} + +/* ARGSUSED */ +static int leave_decode(ADDR4 eip, IAinstInfoPtr info) /* C9 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = leaveIAEx; + info->dasFn = leave_das; + return 1; +} + +static int ret_far_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* CA */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = ret_farIAEx; + info->dasFn = ret_far_Iw_das; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_far_decode(ADDR4 eip, IAinstInfoPtr info) /* CB */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = ret_farIAEx; + info->dasFn = ret_far_das; + info->imm32 = 0; + return 1; +} + +/* ARGSUSED */ +static int int3_decode(ADDR4 eip, IAinstInfoPtr info) /* CC */ +{ + info->execFn = intIAEx; + info->dasFn = int_Ib_das; + info->imm32 = 3; + return 1; +} + +static int int_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* CD */ +{ + info->execFn = intIAEx; + info->dasFn = int_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* ARGSUSED */ +static int into_decode(ADDR4 eip, IAinstInfoPtr info) /* CE */ +{ + info->execFn = intoIAEx; + info->dasFn = into_das; + return 1; +} + +/* ARGSUSED */ +static int iret_decode(ADDR4 eip, IAinstInfoPtr info) /* CF */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = iretIAEx; + info->dasFn = iret_das; + return 1; +} + +static int group2_Eb1_decode(ADDR4 eip, IAinstInfoPtr info) /* D0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + info->imm32 = 1; + info->srcRdFn = immIARd; + return len; +} + +static int group2_Ev1_decode(ADDR4 eip, IAinstInfoPtr info) /* D1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + info->imm32 = 1; + info->srcRdFn = immIARd; + return len; +} + +static int group2_EbCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D2 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExCL_das, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = reg8IARd; + return len; +} + +static int group2_EvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D3 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExCL_das, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = reg8IARd; + return len; +} + +static int aam_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D4 */ +{ + info->execFn = aamIAEx; + info->dasFn = aam_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int aad_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D5 */ +{ + info->execFn = aadIAEx; + info->dasFn = aad_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* salc is an undocumented opcode */ +static int salc_decode(ADDR4 eip, IAinstInfoPtr info) /* D6 */ +{ + info->execFn = unimpIAEx; + info->dasFn = salc_das; + return 1; +} + +/* ARGSUSED */ +static int xlat_decode(ADDR4 eip, IAinstInfoPtr info) /* D7 */ +{ + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->srcRdFn = xlatIARd; + info->execFn = xlatIAEx; + info->dasFn = xlat_das; + info->modrm.mod = 0; + return 1; +} + +static int esc_D8_decode(ADDR4 eip, IAinstInfoPtr info) /* D8 */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_D8_das; + return 1; +} + +static int esc_D9_decode(ADDR4 eip, IAinstInfoPtr info) /* D9 */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_D9_das; + return 1; +} + +static int esc_DA_decode(ADDR4 eip, IAinstInfoPtr info) /* DA */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DA_das; + return 1; +} + +static int esc_DB_decode(ADDR4 eip, IAinstInfoPtr info) /* DB */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DB_das; + return 1; +} + +static int esc_DC_decode(ADDR4 eip, IAinstInfoPtr info) /* DC */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DC_das; + return 1; +} + +static int esc_DD_decode(ADDR4 eip, IAinstInfoPtr info) /* DD */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DD_das; + return 1; +} + +static int esc_DE_decode(ADDR4 eip, IAinstInfoPtr info) /* DE */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DE_das; + return 1; +} + +static int esc_DF_decode(ADDR4 eip, IAinstInfoPtr info) /* DF */ +{ + info->execFn = unimpIAEx; + info->dasFn = esc_DF_das; + return 1; +} + +static int loopn_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E0 */ +{ + info->cond_seg = LOOPNZ_COND; + info->execFn = loopIAEx; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loope_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E1 */ +{ + info->cond_seg = LOOPZ_COND; + info->execFn = loopIAEx; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loop_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E2 */ +{ + info->cond_seg = LOOP_COND; + info->execFn = loopIAEx; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jcxz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E3 */ +{ + info->cond_seg = JCXZ_COND; + info->execFn = jccIAEx; + info->dasFn = jcxz_Jb_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int in_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E4 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = immIARd; + info->destRdFn = 0; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = inIAEx; + info->dasFn = in_reg_imm_das; + return len; +} + +static int in_eAXIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E5 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->srcRdFn = immIARd; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + info->reg = EAX_REG; + info->execFn = inIAEx; + info->dasFn = in_reg_imm_das; + return len; +} + +static int out_IbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* E6 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->destRdFn = immIARd; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = out_imm_reg_das; + return len; +} + +static int out_IbeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* E7 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->destRdFn = immIARd; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = out_imm_reg_das; + return len; +} + +static int call_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = call_near_relIAEx; + info->dasFn = call_Jv_das; + return len; +} + +static int jmp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E9 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = jmp_near_relIAEx; + info->dasFn = jmp_Jv_das; + return len; +} + +static int jmp_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* EA */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + info->cond_seg = CS_REG; + info->execFn = jmp_far_absIAEx; + info->dasFn = jmp_Ap_das; + return len; +} + +static int jmp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* EB */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, 1); + info->execFn = jmp_near_relIAEx; + info->dasFn = jmp_Jb_das; + return len; +} + +/* ARGSUSED */ +static int in_ALDX_decode(ADDR4 eip, IAinstInfoPtr info) /* EC */ +{ + info->opSize = 1; + info->srcRdFn = base16IARd; + info->base = DX_REG; + info->destRdFn = 0; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = inIAEx; + info->dasFn = in_reg_DX_das; + return 1; +} + +/* ARGSUSED */ +static int in_eAXDX_decode(ADDR4 eip, IAinstInfoPtr info) /* ED */ +{ + info->srcRdFn = base16IARd; + info->base = DX_REG; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + info->reg = EAX_REG; + info->execFn = inIAEx; + info->dasFn = in_reg_DX_das; + return 1; +} + +/* ARGSUSED */ +static int out_DXAL_decode(ADDR4 eip, IAinstInfoPtr info) /* EE */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = out_DX_reg_das; + return 1; +} + +/* ARGSUSED */ +static int out_DXeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* EF */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = out_DX_reg_das; + return 1; +} + +/* ARGSUSED */ +static int lock_decode(ADDR4 eip, IAinstInfoPtr info) /* F0 */ +{ + info->execFn = lockIAEx; + info->dasFn = lock_das; + return 1; +} + +/* ARGSUSED */ +static int reserved_decode(ADDR4 eip, IAinstInfoPtr info) /* F1 */ +{ + info->execFn = reservedIAEx; + info->dasFn = reserved_das; + return 1; +} + +static int repne_decode(ADDR4 eip, IAinstInfoPtr info) /* F2 */ +{ + info->lock_rep.rep = REPNE; + return ia_decode2(eip+1, info) + 1; +} + +static int rep_decode(ADDR4 eip, IAinstInfoPtr info) /* F3 */ +{ + info->lock_rep.rep = REP; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int hlt_decode(ADDR4 eip, IAinstInfoPtr info) /* F4 */ +{ + info->execFn = hltIAEx; + info->dasFn = hlt_das; + return 1; +} + +/* ARGSUSED */ +static int cmc_decode(ADDR4 eip, IAinstInfoPtr info) /* F5 */ +{ + info->execFn = cmcIAEx; + info->dasFn = cmc_das; + return 1; +} + +static GroupInfo group3_info[8] = { /* reg_op */ + { testIAEx, 0, NoSrcEaDest }, /* 0 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { notIAEx, 0, NoSrcEaDest }, /* 2 */ + { negIAEx, 0, NoSrcEaDest }, /* 3 */ + { mulIAEx, 0, EaSrcNoDest }, /* 4 */ + { imulIAEx, 0, EaSrcNoDest }, /* 5 */ + { divIAEx, 0, EaSrcNoDest }, /* 6 */ + { idivIAEx, 0, EaSrcNoDest } /* 7 */ +}; + +static int group3_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* F6 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group3_das, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + break; + case 4: /* mul */ + case 5: /* imul */ + info->destRdFn = reg8IARd; + info->destWrFn = reg16IAWr; + info->reg = AX_REG; + break; + case 6: /* div */ + case 7: /* idiv */ + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + info->reg = AX_REG; + break; + } + return len; +} + +static int group3_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* F7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group3_das, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + break; + case 4: /* mul */ + case 5: /* imul */ + case 6: /* div */ + case 7: /* idiv */ + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = AX_REG; + break; + } + return len; +} + +/* ARGSUSED */ +static int clc_decode(ADDR4 eip, IAinstInfoPtr info) /* F8 */ +{ + info->execFn = clcIAEx; + info->dasFn = clc_das; + return 1; +} + +/* ARGSUSED */ +static int stc_decode(ADDR4 eip, IAinstInfoPtr info) /* F9 */ +{ + info->execFn = stcIAEx; + info->dasFn = stc_das; + return 1; +} + +/* ARGSUSED */ +static int cli_decode(ADDR4 eip, IAinstInfoPtr info) /* FA */ +{ + info->execFn = cliIAEx; + info->dasFn = cli_das; + return 1; +} + +/* ARGSUSED */ +static int sti_decode(ADDR4 eip, IAinstInfoPtr info) /* FB */ +{ + info->execFn = stiIAEx; + info->dasFn = sti_das; + return 1; +} + +/* ARGSUSED */ +static int cld_decode(ADDR4 eip, IAinstInfoPtr info) /* FC */ +{ + info->execFn = cldIAEx; + info->dasFn = cld_das; + return 1; +} + +/* ARGSUSED */ +static int std_decode(ADDR4 eip, IAinstInfoPtr info) /* FD */ +{ + info->execFn = stdIAEx; + info->dasFn = std_das; + return 1; +} + +static GroupInfo group4_info[8] = { /* reg_op */ + { incIAEx, 1, NoSrcEaDest }, /* 0 */ + { decIAEx, 1, NoSrcEaDest }, /* 1 */ + { reservedIAEx, 0, EaSrcNoDest }, /* 2 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 3 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 4 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 6 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group4_decode(ADDR4 eip, IAinstInfoPtr info) /* FE */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group4_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group4_das, gp->sdt); + return len; +} + +static GroupInfo group5_info[8] = { /* reg_op */ + { incIAEx, 0, NoSrcEaDest }, /* 0 */ + { decIAEx, 0, NoSrcEaDest }, /* 1 */ + { call_near_indIAEx, 0, EaSrcNoDest }, /* 2 */ + { call_far_indIAEx, 0, LfpSrcNoDest }, /* 3 */ + { jmp_near_indIAEx, 0, EaSrcNoDest }, /* 4 */ + { jmp_far_indIAEx, 0, LfpSrcNoDest }, /* 5 */ + { pushIAEx, 0, EaSrcNoDest }, /* 6 */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group5_decode(ADDR4 eip, IAinstInfoPtr info) /* FF */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group5_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group5_das, gp->sdt); + + /* call_near, call_far, push */ + if (modrm.reg_op == 2 || modrm.reg_op == 3 || modrm.reg_op == 6) { + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + } + /* call_far, jmp_far */ + if (modrm.reg_op == 3 || modrm.reg_op == 5) + info->cond_seg = CS_REG; + + return len; +} + +/* One-Byte Opcode Table */ + +static const PIADF one_byte_opcode[256] = { + add_EbGb_decode, /* 00 */ + add_EvGv_decode, /* 01 */ + add_GbEb_decode, /* 02 */ + add_GvEv_decode, /* 03 */ + add_ALIb_decode, /* 04 */ + add_eAXIv_decode, /* 05 */ + push_ES_decode, /* 06 */ + pop_ES_decode, /* 07 */ + or_EbGb_decode, /* 08 */ + or_EvGv_decode, /* 09 */ + or_GbEb_decode, /* 0A */ + or_GvEv_decode, /* 0B */ + or_ALIb_decode, /* 0C */ + or_eAXIv_decode, /* 0D */ + push_CS_decode, /* 0E */ + two_byte_escape, /* 0F */ + adc_EbGb_decode, /* 10 */ + adc_EvGv_decode, /* 11 */ + adc_GbEb_decode, /* 12 */ + adc_GvEv_decode, /* 13 */ + adc_ALIb_decode, /* 14 */ + adc_eAXIv_decode, /* 15 */ + push_SS_decode, /* 16 */ + pop_SS_decode, /* 17 */ + sbb_EbGb_decode, /* 18 */ + sbb_EvGv_decode, /* 19 */ + sbb_GbEb_decode, /* 1A */ + sbb_GvEv_decode, /* 1B */ + sbb_ALIb_decode, /* 1C */ + sbb_eAXIv_decode, /* 1D */ + push_DS_decode, /* 1E */ + pop_DS_decode, /* 1F */ + and_EbGb_decode, /* 20 */ + and_EvGv_decode, /* 21 */ + and_GbEb_decode, /* 22 */ + and_GvEv_decode, /* 23 */ + and_ALIb_decode, /* 24 */ + and_eAXIv_decode, /* 25 */ + seg_ES_decode, /* 26 */ + daa_decode, /* 27 */ + sub_EbGb_decode, /* 28 */ + sub_EvGv_decode, /* 29 */ + sub_GbEb_decode, /* 2A */ + sub_GvEv_decode, /* 2B */ + sub_ALIb_decode, /* 2C */ + sub_eAXIv_decode, /* 2D */ + seg_CS_decode, /* 2E */ + das_decode, /* 2F */ + xor_EbGb_decode, /* 30 */ + xor_EvGv_decode, /* 31 */ + xor_GbEb_decode, /* 32 */ + xor_GvEv_decode, /* 33 */ + xor_ALIb_decode, /* 34 */ + xor_eAXIv_decode, /* 35 */ + seg_SS_decode, /* 36 */ + aaa_decode, /* 37 */ + cmp_EbGb_decode, /* 38 */ + cmp_EvGv_decode, /* 39 */ + cmp_GbEb_decode, /* 3A */ + cmp_GvEv_decode, /* 3B */ + cmp_ALIb_decode, /* 3C */ + cmp_eAXIv_decode, /* 3D */ + seg_DS_decode, /* 3E */ + aas_decode, /* 3F */ + inc_eAX_decode, /* 40 */ + inc_eCX_decode, /* 41 */ + inc_eDX_decode, /* 42 */ + inc_eBX_decode, /* 43 */ + inc_eSP_decode, /* 44 */ + inc_eBP_decode, /* 45 */ + inc_eSI_decode, /* 46 */ + inc_eDI_decode, /* 47 */ + dec_eAX_decode, /* 48 */ + dec_eCX_decode, /* 49 */ + dec_eDX_decode, /* 4A */ + dec_eBX_decode, /* 4B */ + dec_eSP_decode, /* 4C */ + dec_eBP_decode, /* 4D */ + dec_eSI_decode, /* 4E */ + dec_eDI_decode, /* 4F */ + push_eAX_decode, /* 50 */ + push_eCX_decode, /* 51 */ + push_eDX_decode, /* 52 */ + push_eBX_decode, /* 53 */ + push_eSP_decode, /* 54 */ + push_eBP_decode, /* 55 */ + push_eSI_decode, /* 56 */ + push_eDI_decode, /* 57 */ + pop_eAX_decode, /* 58 */ + pop_eCX_decode, /* 59 */ + pop_eDX_decode, /* 5A */ + pop_eBX_decode, /* 5B */ + pop_eSP_decode, /* 5C */ + pop_eBP_decode, /* 5D */ + pop_eSI_decode, /* 5E */ + pop_eDI_decode, /* 5F */ + pusha_decode, /* 60 */ + popa_decode, /* 61 */ + bound_GvMa_decode, /* 62 */ + arpl_EwGw_decode, /* 63 */ + seg_FS_decode, /* 64 */ + seg_GS_decode, /* 65 */ + operand_size_decode, /* 66 */ + address_size_decode, /* 67 */ + push_Iv_decode, /* 68 */ + imul_GvEvIv_decode, /* 69 */ + push_Ib_decode, /* 6A */ + imul_GvEvIb_decode, /* 6B */ + insb_YbDX_decode, /* 6C */ + insw_YvDX_decode, /* 6D */ + outsb_DXXb_decode, /* 6E */ + outsw_DXXv_decode, /* 6F */ + jo_Jb_decode, /* 70 */ + jno_Jb_decode, /* 71 */ + jb_Jb_decode, /* 72 */ + jnb_Jb_decode, /* 73 */ + jz_Jb_decode, /* 74 */ + jnz_Jb_decode, /* 75 */ + jbe_Jb_decode, /* 76 */ + jnbe_Jb_decode, /* 77 */ + js_Jb_decode, /* 78 */ + jns_Jb_decode, /* 79 */ + jp_Jb_decode, /* 7A */ + jnp_Jb_decode, /* 7B */ + jl_Jb_decode, /* 7C */ + jnl_Jb_decode, /* 7D */ + jle_Jb_decode, /* 7E */ + jnle_Jb_decode, /* 7F */ + group1_EbIb_decode, /* 80 */ + group1_EvIv_decode, /* 81 */ +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ + movb_ALIb_decode, /* 82 */ + group1_EvIb_decode, /* 83 */ + test_EbGb_decode, /* 84 */ + test_EvGv_decode, /* 85 */ + xchg_EbGb_decode, /* 86 */ + xchg_EvGv_decode, /* 87 */ + mov_EbGb_decode, /* 88 */ + mov_EvGv_decode, /* 89 */ + mov_GbEb_decode, /* 8A */ + mov_GvEv_decode, /* 8B */ + mov_EwSw_decode, /* 8C */ + lea_GvM_decode, /* 8D */ + mov_SwEw_decode, /* 8E */ + pop_Ev_decode, /* 8F */ + nop_decode, /* 90 */ + xchg_eAXeCX_decode, /* 91 */ + xchg_eAXeDX_decode, /* 92 */ + xchg_eAXeBX_decode, /* 93 */ + xchg_eAXeSP_decode, /* 94 */ + xchg_eAXeBP_decode, /* 95 */ + xchg_eAXeSI_decode, /* 96 */ + xchg_eAXeDI_decode, /* 97 */ + cbw_decode, /* 98 */ + cwd_decode, /* 99 */ + call_Ap_decode, /* 9A */ + wait_decode, /* 9B */ + pushf_Fv_decode, /* 9C */ + popf_Fv_decode, /* 9D */ + sahf_decode, /* 9E */ + lahf_decode, /* 9F */ + mov_ALOb_decode, /* A0 */ + mov_eAXOv_decode, /* A1 */ + mov_ObAL_decode, /* A2 */ + mov_OveAX_decode, /* A3 */ + movsb_YbXb_decode, /* A4 */ + movsw_YvXv_decode, /* A5 */ + cmpsb_XbYb_decode, /* A6 */ + cmpsw_XvYv_decode, /* A7 */ + test_ALIb_decode, /* A8 */ + test_eAXIv_decode, /* A9 */ + stosb_YbAL_decode, /* AA */ + stosw_YveAX_decode, /* AB */ + lodsb_ALXb_decode, /* AC */ + lodsw_eAXXv_decode, /* AD */ + scasb_ALYb_decode, /* AE */ + scasw_eAXYv_decode, /* AF */ + mov_ALIb_decode, /* B0 */ + mov_CLIb_decode, /* B1 */ + mov_DLIb_decode, /* B2 */ + mov_BLIb_decode, /* B3 */ + mov_AHIb_decode, /* B4 */ + mov_CHIb_decode, /* B5 */ + mov_DHIb_decode, /* B6 */ + mov_BHIb_decode, /* B7 */ + mov_eAXIv_decode, /* B8 */ + mov_eCXIv_decode, /* B9 */ + mov_eDXIv_decode, /* BA */ + mov_eBXIv_decode, /* BB */ + mov_eSPIv_decode, /* BC */ + mov_eBPIv_decode, /* BD */ + mov_eSIIv_decode, /* BE */ + mov_eDIIv_decode, /* BF */ + group2_EbIb_decode, /* C0 */ + group2_EvIb_decode, /* C1 */ + ret_near_Iw_decode, /* C2 */ + ret_near_decode, /* C3 */ + les_GvMp_decode, /* C4 */ + lds_GvMp_decode, /* C5 */ + mov_EbIb_decode, /* C6 */ + mov_EvIv_decode, /* C7 */ + enter_IwIb_decode, /* C8 */ + leave_decode, /* C9 */ + ret_far_Iw_decode, /* CA */ + ret_far_decode, /* CB */ + int3_decode, /* CC */ + int_Ib_decode, /* CD */ + into_decode, /* CE */ + iret_decode, /* CF */ + group2_Eb1_decode, /* D0 */ + group2_Ev1_decode, /* D1 */ + group2_EbCL_decode, /* D2 */ + group2_EvCL_decode, /* D3 */ + aam_Ib_decode, /* D4 */ + aad_Ib_decode, /* D5 */ + salc_decode, /* D6 - undocumented opcode */ + xlat_decode, /* D7 */ + esc_D8_decode, /* D8 */ + esc_D9_decode, /* D9 */ + esc_DA_decode, /* DA */ + esc_DB_decode, /* DB */ + esc_DC_decode, /* DC */ + esc_DD_decode, /* DD */ + esc_DE_decode, /* DE */ + esc_DF_decode, /* DF */ + loopn_Jb_decode, /* E0 */ + loope_Jb_decode, /* E1 */ + loop_Jb_decode, /* E2 */ + jcxz_Jb_decode, /* E3 */ + in_ALIb_decode, /* E4 */ + in_eAXIb_decode, /* E5 */ + out_IbAL_decode, /* E6 */ + out_IbeAX_decode, /* E7 */ + call_Jv_decode, /* E8 */ + jmp_Jv_decode, /* E9 */ + jmp_Ap_decode, /* EA */ + jmp_Jb_decode, /* EB */ + in_ALDX_decode, /* EC */ + in_eAXDX_decode, /* ED */ + out_DXAL_decode, /* EE */ + out_DXeAX_decode, /* EF */ + lock_decode, /* F0 */ + reserved_decode, /* F1 */ + repne_decode, /* F2 */ + rep_decode, /* F3 */ + hlt_decode, /* F4 */ + cmc_decode, /* F5 */ + group3_Eb_decode, /* F6 */ + group3_Ev_decode, /* F7 */ + clc_decode, /* F8 */ + stc_decode, /* F9 */ + cli_decode, /* FA */ + sti_decode, /* FB */ + cld_decode, /* FC */ + std_decode, /* FD */ + group4_decode, /* FE */ + group5_decode /* FF */ +}; + + +static GroupInfo group6_info[8] = { /* reg_op */ + { sldtIAEx, 2, NoSrcEaDest }, /* 0 */ + { strIAEx, 2, NoSrcEaDest }, /* 1 */ + { lldtIAEx, 2, EaSrcNoDest }, /* 2 */ + { ltrIAEx, 2, EaSrcNoDest }, /* 3 */ + { verrIAEx, 2, EaSrcNoDest }, /* 4 */ + { verwIAEx, 2, EaSrcNoDest }, /* 5 */ + { jmpe_indIAEx, 0, EaSrcNoDest }, /* 6 */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +/* Two-Byte Opcode Decode Functions */ + +static int group6_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,00 */ +{ + ModRM modrm; + GroupInfoPtr gp; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group6_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + return 1 + modrm_decode(eip+1, info, gp->execFn, group6_das, gp->sdt); +} + +static GroupInfo group7_info[8] = { /* reg_op */ + { sgdtIAEx, 6, NoSrcEaDest }, /* 0 */ + { sidtIAEx, 6, NoSrcEaDest }, /* 1 */ + { lgdtIAEx, 6, EaSrcNoDest }, /* 2 */ + { lidtIAEx, 6, EaSrcNoDest }, /* 3 */ + { smswIAEx, 2, NoSrcEaDest }, /* 4 */ + { reservedIAEx, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { lmswIAEx, 2, EaSrcNoDest }, /* 6 */ + { invlpgIAEx, 0, EaSrcNoDest } /* 7 */ +}; + +static int group7_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,01 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group7_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group7_das, gp->sdt); + + /* all but smsw & lmsw: only memory address forms allowed */ + if ((modrm.reg_op < 4 || modrm.reg_op == 7) && modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lar_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,02 */ +{ + return 1 + modrm_decode(eip+1, info, larIAEx, lar_GvEw_das, EaSrcRegDest); +} + +static int lsl_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,03 */ +{ + return 1 + modrm_decode(eip+1, info, lslIAEx, lsl_GvEw_das, EaSrcRegDest); +} + +/* reserved */ /* 0F,04-05 */ + +/* ARGSUSED */ +static int clts_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,06 */ +{ + info->execFn = cltsIAEx; + info->dasFn = clts_das; + return 1; +} + +/* reserved */ /* 0F,07 */ + +/* ARGSUSED */ +static int invd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,08 */ +{ + info->execFn = invdIAEx; + info->dasFn = invd_das; + return 1; +} + +/* ARGSUSED */ +static int wbinvd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,09 */ +{ + info->execFn = wbinvdIAEx; + info->dasFn = wbinvd_das; + return 1; +} + +/* reserved */ /* 0F,0A */ + +/* ARGSUSED */ +static int ud2_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,0B */ +{ + info->execFn = ud2IAEx; + info->dasFn = ud2_das; + return 1; +} + +/* reserved */ /* 0F,0C-0F */ + +/* reserved */ /* 0F,10-1F */ + +static int mov_RdCd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,20 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movCRIAEx, mov_RdCd_das, NoSrcEaDest); + /* XXX - add CR srcRdFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_RdDd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,21 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movDRIAEx, mov_RdDd_das, NoSrcEaDest); + /* XXX - add DR srcRdFn */ + + if (info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_CdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,22 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movCRIAEx, mov_CdRd_das, EaSrcNoDest); + /* XXX - add CR destRdFn & destWrFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_DdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,23 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movDRIAEx, mov_DdRd_das, EaSrcNoDest); + /* XXX - add DR destRdFn & destWrFn */ + + if (info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +/* move to/from test registers are now reserved instructions */ +static int mov_RdTd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,24 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, reservedIAEx, mov_RdTd_das, + NoSrcEaDest); +} + +/* reserved */ /* 0F,25 */ + +static int mov_TdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,26 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, reservedIAEx, mov_TdRd_das, + EaSrcNoDest); +} + +/* reserved */ /* 0F,27-2F */ + +static int wrmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,30 */ +{ + info->execFn = wrmsrIAEx; + info->dasFn = wrmsr_das; + return 1; +} + +static int rdtsc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,31 */ +{ + info->execFn = rdtscIAEx; + info->dasFn = rdtsc_das; + return 1; +} + +static int rdmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,32 */ +{ + info->execFn = rdmsrIAEx; + info->dasFn = rdmsr_das; + return 1; +} + +static int rdpmc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,33 */ +{ + info->execFn = rdpmcIAEx; + info->dasFn = rdpmc_das; + return 1; +} + +/* reserved */ /* 0F,34-3F */ + +static int cmovo_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,40 */ +{ + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovno_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,41 */ +{ + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,42 */ +{ + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,43 */ +{ + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,44 */ +{ + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,45 */ +{ + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,46 */ +{ + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,47 */ +{ + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovs_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,48 */ +{ + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovns_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,49 */ +{ + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4A */ +{ + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4B */ +{ + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4C */ +{ + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4D */ +{ + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4E */ +{ + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +static int cmovnle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4F */ +{ + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, cmovcc_das, EaSrcRegDest); +} + +/* reserved */ /* 0F,50-7F */ + +static int jo_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,80 */ +{ + info->cond_seg = JO_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jno_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,81 */ +{ + info->cond_seg = JNO_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,82 */ +{ + info->cond_seg = JB_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,83 */ +{ + info->cond_seg = JNB_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,84 */ +{ + info->cond_seg = JZ_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,85 */ +{ + info->cond_seg = JNZ_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,86 */ +{ + info->cond_seg = JBE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,87 */ +{ + info->cond_seg = JNBE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int js_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,88 */ +{ + info->cond_seg = JS_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jns_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,89 */ +{ + info->cond_seg = JNS_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8A */ +{ + info->cond_seg = JP_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8B */ +{ + info->cond_seg = JNP_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8C */ +{ + info->cond_seg = JL_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8D */ +{ + info->cond_seg = JNL_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8E */ +{ + info->cond_seg = JLE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8F */ +{ + info->cond_seg = JNLE_COND; + info->execFn = jccIAEx; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int seto_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,90 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setno_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,91 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,92 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,93 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,94 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,95 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,96 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,97 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int sets_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,98 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setns_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,99 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +static int setnle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, setcc_das, NoSrcEaDest); +} + +/* ARGSUSED */ +static int push_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A0 */ +{ + return iApushSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int pop_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A1 */ +{ + return iApopSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int cpuid_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A2 */ +{ + info->execFn = cpuidIAEx; + info->dasFn = cpuid_das; + return 1; +} + +static int bt_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A3 */ +{ + return 1 + modrm_decode(eip+1, info, btIAEx, bt_EvGv_das, RegSrcEaDest); +} + +static int shld_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, shld_immIAEx, shld_EvGvIb_das, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shld_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A5 */ +{ + return 1 + modrm_decode(eip+1, info, shld_CLIAEx, shld_EvGvCL_das, + RegSrcEaDest); +} + +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ +static int cmpxchg_XBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A6 */ +{ + info->execFn = unimpIAEx; + info->dasFn = cmpxchg_XBTS_das; + return 1; +} + +static int cmpxchg_IBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A7 */ +{ + info->execFn = unimpIAEx; + info->dasFn = cmpxchg_IBTS_das; + return 1; +} + +/* ARGSUSED */ +static int push_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A8 */ +{ + return iApushSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int pop_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A9 */ +{ + return iApopSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int rsm_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AA */ +{ + info->execFn = rsmIAEx; + info->dasFn = rsm_das; + return 1; +} + +static int bts_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AB */ +{ + return 1 + modrm_decode(eip+1, info, btsIAEx, bts_EvGv_das, RegSrcEaDest); +} + +static int shrd_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AC */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, shrd_immIAEx, shrd_EvGvIb_das, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shrd_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AD */ +{ + return 1 + modrm_decode(eip+1, info, shrd_CLIAEx, shrd_EvGvCL_das, + RegSrcEaDest); +} + +/* reserved */ /* 0F,AE */ + +static int imul_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AF */ +{ + return 1 + modrm_decode(eip+1, info, imulIAEx, imul_GvEv_das, + EaSrcRegDest); +} + +static int cmpxchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpxchgIAEx, cmpxchg_ExGx_das, + RegSrcEaDest); +} + +static int cmpxchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B1 */ +{ + return 1 + modrm_decode(eip+1, info, cmpxchgIAEx, cmpxchg_ExGx_das, + RegSrcEaDest); +} + +static int lss_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B2 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = SS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int btr_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B3 */ +{ + return 1 + modrm_decode(eip+1, info, btrIAEx, btr_EvGv_das, RegSrcEaDest); +} + +static int lfs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = FS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lgs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = GS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int movzx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B6 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, movzx8IAEx, movzx_GvEb_das, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + return len; +} + +static int movzx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B7 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movzx16IAEx, movzx_GvEw_das, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = reg32IAWr; + return len; +} + +static int jmpe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = jmpe_relIAEx; + info->dasFn = jmpe_Jv_das; + return len; +} + +/* reserved */ /* 0F,B9 */ + +static GroupInfo group8_info[8] = { /* reg_op */ + { reservedIAEx, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary */ + { btIAEx, 0, NoSrcEaDest }, /* 4 */ + { btsIAEx, 0, NoSrcEaDest }, /* 5 */ + { btrIAEx, 0, NoSrcEaDest }, /* 6 */ + { btcIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group8_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BA */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group8_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group8_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int btc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BB */ +{ + return 1 + modrm_decode(eip+1, info, btcIAEx, btc_EvGv_das, RegSrcEaDest); +} + +static int bsf_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BC */ +{ + return 1 + modrm_decode(eip+1, info, bsfIAEx, bsf_GvEv_das, + EaSrcRegDest); +} + +static int bsr_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BD */ +{ + return 1 + modrm_decode(eip+1, info, bsrIAEx, bsr_GvEv_das, + EaSrcRegDest); +} + +static int movsx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BE */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, movsx8IAEx, movsx_GvEb_das, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + return len; +} + +static int movsx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BF */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movsx16IAEx, movsx_GvEw_das, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = reg32IAWr; + return len; +} + +static int xadd_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xaddIAEx, xadd_ExGx_das, + RegSrcEaDest); +} + +static int xadd_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C1 */ +{ + return 1 + modrm_decode(eip+1, info, xaddIAEx, xadd_ExGx_das, + RegSrcEaDest); +} + +/* reserved */ /* 0F,C2-C6 */ + +static GroupInfo group9_info[8] = { /* reg_op */ + { reservedIAEx, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary*/ + { cmpxchg8bIAEx, 8, NoSrcEaDest }, /* 1 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 4 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 5 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest } /* 7 - opSize & sdt arbitrary*/ +}; + +static int group9_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group9_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group9_das, gp->sdt); + + /* cmpxchg8b: only memory address forms allowed */ + if (modrm.reg_op == 1 && modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +/* ARGSUSED */ +static int bswap_EAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C8 */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int bswap_ECX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C9 */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int bswap_EDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CA */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int bswap_EBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CB */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int bswap_ESP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CC */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int bswap_EBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CD */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int bswap_ESI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CE */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int bswap_EDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CF */ +{ + return iAreg(info, bswapIAEx, bswap_reg_das, EDI_REG); +} + +/* reserved */ /* 0F,D0-FF */ + + +/* Two-Byte Opcode Table */ + +static const PIADF two_byte_opcode[256] = { + group6_decode, /* 0F,00 */ + group7_decode, /* 0F,01 */ + lar_GvEw_decode, /* 0F,02 */ + lsl_GvEw_decode, /* 0F,03 */ + reserved_decode, /* 0F,04 */ + reserved_decode, /* 0F,05 */ + clts_decode, /* 0F,06 */ + reserved_decode, /* 0F,07 */ + invd_decode, /* 0F,08 */ + wbinvd_decode, /* 0F,09 */ + reserved_decode, /* 0F,0A */ + ud2_decode, /* 0F,0B */ + reserved_decode, /* 0F,0C */ + reserved_decode, /* 0F,0D */ + reserved_decode, /* 0F,0E */ + reserved_decode, /* 0F,0F */ + reserved_decode, /* 0F,10 */ + reserved_decode, /* 0F,11 */ + reserved_decode, /* 0F,12 */ + reserved_decode, /* 0F,13 */ + reserved_decode, /* 0F,14 */ + reserved_decode, /* 0F,15 */ + reserved_decode, /* 0F,16 */ + reserved_decode, /* 0F,17 */ + reserved_decode, /* 0F,18 */ + reserved_decode, /* 0F,19 */ + reserved_decode, /* 0F,1A */ + reserved_decode, /* 0F,1B */ + reserved_decode, /* 0F,1C */ + reserved_decode, /* 0F,1D */ + reserved_decode, /* 0F,1E */ + reserved_decode, /* 0F,1F */ + mov_RdCd_decode, /* 0F,20 */ + mov_RdDd_decode, /* 0F,21 */ + mov_CdRd_decode, /* 0F,22 */ + mov_DdRd_decode, /* 0F,23 */ + mov_RdTd_decode, /* 0F,24 */ + reserved_decode, /* 0F,25 */ + mov_TdRd_decode, /* 0F,26 */ + reserved_decode, /* 0F,27 */ + reserved_decode, /* 0F,28 */ + reserved_decode, /* 0F,29 */ + reserved_decode, /* 0F,2A */ + reserved_decode, /* 0F,2B */ + reserved_decode, /* 0F,2C */ + reserved_decode, /* 0F,2D */ + reserved_decode, /* 0F,2E */ + reserved_decode, /* 0F,2F */ + wrmsr_decode, /* 0F,30 */ + rdtsc_decode, /* 0F,31 */ + rdmsr_decode, /* 0F,32 */ + rdpmc_decode, /* 0F,33 */ + reserved_decode, /* 0F,34 */ + reserved_decode, /* 0F,35 */ + reserved_decode, /* 0F,36 */ + reserved_decode, /* 0F,37 */ + reserved_decode, /* 0F,38 */ + reserved_decode, /* 0F,39 */ + reserved_decode, /* 0F,3A */ + reserved_decode, /* 0F,3B */ + reserved_decode, /* 0F,3C */ + reserved_decode, /* 0F,3D */ + reserved_decode, /* 0F,3E */ + reserved_decode, /* 0F,3F */ + cmovo_GvEv_decode, /* 0F,40 */ + cmovno_GvEv_decode, /* 0F,41 */ + cmovb_GvEv_decode, /* 0F,42 */ + cmovnb_GvEv_decode, /* 0F,43 */ + cmovz_GvEv_decode, /* 0F,44 */ + cmovnz_GvEv_decode, /* 0F,45 */ + cmovbe_GvEv_decode, /* 0F,46 */ + cmovnbe_GvEv_decode, /* 0F,47 */ + cmovs_GvEv_decode, /* 0F,48 */ + cmovns_GvEv_decode, /* 0F,49 */ + cmovp_GvEv_decode, /* 0F,4A */ + cmovnp_GvEv_decode, /* 0F,4B */ + cmovl_GvEv_decode, /* 0F,4C */ + cmovnl_GvEv_decode, /* 0F,4D */ + cmovle_GvEv_decode, /* 0F,4E */ + cmovnle_GvEv_decode, /* 0F,4F */ + reserved_decode, /* 0F,50 */ + reserved_decode, /* 0F,51 */ + reserved_decode, /* 0F,52 */ + reserved_decode, /* 0F,53 */ + reserved_decode, /* 0F,54 */ + reserved_decode, /* 0F,55 */ + reserved_decode, /* 0F,56 */ + reserved_decode, /* 0F,57 */ + reserved_decode, /* 0F,58 */ + reserved_decode, /* 0F,59 */ + reserved_decode, /* 0F,5A */ + reserved_decode, /* 0F,5B */ + reserved_decode, /* 0F,5C */ + reserved_decode, /* 0F,5D */ + reserved_decode, /* 0F,5E */ + reserved_decode, /* 0F,5F */ + reserved_decode, /* 0F,60 */ + reserved_decode, /* 0F,61 */ + reserved_decode, /* 0F,62 */ + reserved_decode, /* 0F,63 */ + reserved_decode, /* 0F,64 */ + reserved_decode, /* 0F,65 */ + reserved_decode, /* 0F,66 */ + reserved_decode, /* 0F,67 */ + reserved_decode, /* 0F,68 */ + reserved_decode, /* 0F,69 */ + reserved_decode, /* 0F,6A */ + reserved_decode, /* 0F,6B */ + reserved_decode, /* 0F,6C */ + reserved_decode, /* 0F,6D */ + reserved_decode, /* 0F,6E */ + reserved_decode, /* 0F,6F */ + reserved_decode, /* 0F,70 */ + reserved_decode, /* 0F,71 */ + reserved_decode, /* 0F,72 */ + reserved_decode, /* 0F,73 */ + reserved_decode, /* 0F,74 */ + reserved_decode, /* 0F,75 */ + reserved_decode, /* 0F,76 */ + reserved_decode, /* 0F,77 */ + reserved_decode, /* 0F,78 */ + reserved_decode, /* 0F,79 */ + reserved_decode, /* 0F,7A */ + reserved_decode, /* 0F,7B */ + reserved_decode, /* 0F,7C */ + reserved_decode, /* 0F,7D */ + reserved_decode, /* 0F,7E */ + reserved_decode, /* 0F,7F */ + jo_Jv_decode, /* 0F,80 */ + jno_Jv_decode, /* 0F,81 */ + jb_Jv_decode, /* 0F,82 */ + jnb_Jv_decode, /* 0F,83 */ + jz_Jv_decode, /* 0F,84 */ + jnz_Jv_decode, /* 0F,85 */ + jbe_Jv_decode, /* 0F,86 */ + jnbe_Jv_decode, /* 0F,87 */ + js_Jv_decode, /* 0F,88 */ + jns_Jv_decode, /* 0F,89 */ + jp_Jv_decode, /* 0F,8A */ + jnp_Jv_decode, /* 0F,8B */ + jl_Jv_decode, /* 0F,8C */ + jnl_Jv_decode, /* 0F,8D */ + jle_Jv_decode, /* 0F,8E */ + jnle_Jv_decode, /* 0F,8F */ + seto_Eb_decode, /* 0F,90 */ + setno_Eb_decode, /* 0F,91 */ + setb_Eb_decode, /* 0F,92 */ + setnb_Eb_decode, /* 0F,93 */ + setz_Eb_decode, /* 0F,94 */ + setnz_Eb_decode, /* 0F,95 */ + setbe_Eb_decode, /* 0F,96 */ + setnbe_Eb_decode, /* 0F,97 */ + sets_Eb_decode, /* 0F,98 */ + setns_Eb_decode, /* 0F,99 */ + setp_Eb_decode, /* 0F,9A */ + setnp_Eb_decode, /* 0F,9B */ + setl_Eb_decode, /* 0F,9C */ + setnl_Eb_decode, /* 0F,9D */ + setle_Eb_decode, /* 0F,9E */ + setnle_Eb_decode, /* 0F,9F */ + push_FS_decode, /* 0F,A0 */ + pop_FS_decode, /* 0F,A1 */ + cpuid_decode, /* 0F,A2 */ + bt_EvGv_decode, /* 0F,A3 */ + shld_EvGvIb_decode, /* 0F,A4 */ + shld_EvGvCL_decode, /* 0F,A5 */ +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ + cmpxchg_XBTS_decode, /* 0F,A6 */ + cmpxchg_IBTS_decode, /* 0F,A7 */ + push_GS_decode, /* 0F,A8 */ + pop_GS_decode, /* 0F,A9 */ + rsm_decode, /* 0F,AA */ + bts_EvGv_decode, /* 0F,AB */ + shrd_EvGvIb_decode, /* 0F,AC */ + shrd_EvGvCL_decode, /* 0F,AD */ + reserved_decode, /* 0F,AE */ + imul_GvEv_decode, /* 0F,AF */ + cmpxchg_EbGb_decode, /* 0F,B0 */ + cmpxchg_EvGv_decode, /* 0F,B1 */ + lss_Mp_decode, /* 0F,B2 */ + btr_EvGv_decode, /* 0F,B3 */ + lfs_Mp_decode, /* 0F,B4 */ + lgs_Mp_decode, /* 0F,B5 */ + movzx_GvEb_decode, /* 0F,B6 */ + movzx_GvEw_decode, /* 0F,B7 */ + jmpe_Jv_decode, /* 0F,B8 */ + reserved_decode, /* 0F,B9 */ + group8_decode, /* 0F,BA */ + btc_EvGv_decode, /* 0F,BB */ + bsf_GvEv_decode, /* 0F,BC */ + bsr_GvEv_decode, /* 0F,BD */ + movsx_GvEb_decode, /* 0F,BE */ + movsx_GvEw_decode, /* 0F,BF */ + xadd_EbGb_decode, /* 0F,C0 */ + xadd_EvGv_decode, /* 0F,C1 */ + reserved_decode, /* 0F,C2 */ + reserved_decode, /* 0F,C3 */ + reserved_decode, /* 0F,C4 */ + reserved_decode, /* 0F,C5 */ + reserved_decode, /* 0F,C6 */ + group9_decode, /* 0F,C7 */ + bswap_EAX_decode, /* 0F,C8 */ + bswap_ECX_decode, /* 0F,C9 */ + bswap_EDX_decode, /* 0F,CA */ + bswap_EBX_decode, /* 0F,CB */ + bswap_ESP_decode, /* 0F,CC */ + bswap_EBP_decode, /* 0F,CD */ + bswap_ESI_decode, /* 0F,CE */ + bswap_EDI_decode, /* 0F,CF */ + reserved_decode, /* 0F,D0 */ + reserved_decode, /* 0F,D1 */ + reserved_decode, /* 0F,D2 */ + reserved_decode, /* 0F,D3 */ + reserved_decode, /* 0F,D4 */ + reserved_decode, /* 0F,D5 */ + reserved_decode, /* 0F,D6 */ + reserved_decode, /* 0F,D7 */ + reserved_decode, /* 0F,D8 */ + reserved_decode, /* 0F,D9 */ + reserved_decode, /* 0F,DA */ + reserved_decode, /* 0F,DB */ + reserved_decode, /* 0F,DC */ + reserved_decode, /* 0F,DD */ + reserved_decode, /* 0F,DE */ + reserved_decode, /* 0F,DF */ + reserved_decode, /* 0F,E0 */ + reserved_decode, /* 0F,E1 */ + reserved_decode, /* 0F,E2 */ + reserved_decode, /* 0F,E3 */ + reserved_decode, /* 0F,E4 */ + reserved_decode, /* 0F,E5 */ + reserved_decode, /* 0F,E6 */ + reserved_decode, /* 0F,E7 */ + reserved_decode, /* 0F,E8 */ + reserved_decode, /* 0F,E9 */ + reserved_decode, /* 0F,EA */ + reserved_decode, /* 0F,EB */ + reserved_decode, /* 0F,EC */ + reserved_decode, /* 0F,ED */ + reserved_decode, /* 0F,EE */ + reserved_decode, /* 0F,EF */ + reserved_decode, /* 0F,F0 */ + reserved_decode, /* 0F,F1 */ + reserved_decode, /* 0F,F2 */ + reserved_decode, /* 0F,F3 */ + reserved_decode, /* 0F,F4 */ + reserved_decode, /* 0F,F5 */ + reserved_decode, /* 0F,F6 */ + reserved_decode, /* 0F,F7 */ + reserved_decode, /* 0F,F8 */ + reserved_decode, /* 0F,F9 */ + reserved_decode, /* 0F,FA */ + reserved_decode, /* 0F,FB */ + reserved_decode, /* 0F,FC */ + reserved_decode, /* 0F,FD */ + reserved_decode, /* 0F,FE */ + reserved_decode /* 0F,FF */ +}; + + +/* Main IA Decode Function */ + +BOOL ia_decode(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + int ret; + static LockRep zero = { 0 }; + + info->mode = iAmode; + info->opSize = info->addrSize = OpAddrSize(iAmode); + info->segment = 0; + info->lock_rep = zero; + + if (!memIAIRd(eip, &op, 1) || + (ret = one_byte_opcode[op](eip, info)) <= 0) { + info->execFn = iAinstFetchDecode; /* decode failed */ + return NO; + } + + info->delta = ret; + return YES; +} + +/* Secondary IA Decode Function */ + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + + if (!memIAIRd(eip, &op, 1)) + return DECODE_FAILED; + + return one_byte_opcode[op](eip, info); +} diff --git a/src/ia_decoder.h b/src/ia_decoder.h new file mode 100644 index 0000000..e37c1da --- /dev/null +++ b/src/ia_decoder.h @@ -0,0 +1,29 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Decoder Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_DECODER_H +#define _SKI_IA_DECODER_H + +EaInfoPtr ea16Info(ModRM modrm); +EaInfoPtr ea32Info(ModRM modrm); +BOOL ia_decode(ADDR4 eip, IAinstInfoPtr info); + +#endif /* _SKI_IA_DECODER_H */ diff --git a/src/ia_exec.c b/src/ia_exec.c new file mode 100644 index 0000000..6d66025 --- /dev/null +++ b/src/ia_exec.c @@ -0,0 +1,3010 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Execution Functions + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "sign_ext.h" +#include "state.h" +#include "sim.h" +#include "libcore.h" +#include "memory.h" +#include "libsym.h" +#include "interruption.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_read.h" +#include "ia_write.h" +#include "ia_exec.h" + +/* IA-32 Trap Code for INT and INTO instructions (from Seemless Spec) */ +#define INT_TRAP_CODE (PSR_CPL << 15 | SSD.d << 14 | PSR_SS << 3) + /* XXX - need to include real/protected/VM86 in bits 11, 12, & 13 */ + +Status dosInt21(BYTE ah, BYTE al); +int isbpt(ADDR adr); +Status iretIARd(IAinstInfoPtr, Accesstype, IADWORD *, ADDR*, ADDR*); + +/* Internal IA Simulator State - not mapped onto EM State */ + +BYTE iAmode; /* IA execution mode - 32- or 16-bit operands/addresses */ +BOOL dosABI = NO; /* emulate DOS ABI when YES */ +IADWORD EIP; /* IA instruction pointer */ + +/* This value is only changed by a call to PAL_PLATFORM_ADDR */ +ADDR ioportBase = 0x0000000100000000ULL; + +void setIAmode(void) +{ + iAmode = 0; + + if (!EFLAGS.vm && CSD.d) + iAmode |= OpAddrSizeMask; + if (!EFLAGS.vm && SSD.d) + iAmode |= StackAddrSizeMask; + /* XXX - need to include real/protected/VM86 in iAmode */ +} + +BYTE getIAmode(void) +{ + return iAmode; +} + +/* Even-parity lookup table for generating EFLAGS.pf from the low + * byte of the result of an instruction. + */ +static const BYTE parity[256] = { +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* 00 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* 10 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* 20 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* 30 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* 40 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* 50 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* 60 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* 70 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* 80 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* 90 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* A0 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* B0 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, /* C0 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* D0 */ + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, /* E0 */ + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 /* F0 */ +}; + +ArithFlags arithFlags; + +#define overflow8(src1, src2, res) (((src1) & 0x80) == ((src2) & 0x80) &&\ + ((src1) & 0x80) != ((res) & 0x80)) + +#define overflow16(src1, src2, res) (((src1) & 0x8000) == \ + ((src2) & 0x8000) && \ + ((src1) & 0x8000) != \ + ((res) & 0x8000)) + +#define overflow32(src1, src2, res) (((src1) & 0x80000000) == \ + ((src2) & 0x80000000) && \ + ((src1) & 0x80000000) != \ + ((res) & 0x80000000)) + +#define sign8(res) (((res) & 0x80) != 0) +#define sign16(res) (((res) & 0x8000) != 0) +#define sign32(res) (((res) & 0x80000000) != 0) + +#define carry8(src, res, cf) (((res) < ((src) & 0xff)) || \ + (cf && (res) == ((src) & 0xff))) +#define carry16(src, res, cf) (((res) < ((src) & 0xffff)) || \ + (cf && (res) == ((src) & 0xffff))) +#define carry32(src, res, cf) (((res) < (src)) || \ + (cf && (res) == (src))) + +#define borrow8(src, res, cf) (((res) > ((src) & 0xff)) || \ + (cf && (res) == ((src) & 0xff))) +#define borrow16(src, res, cf) (((res) > ((src) & 0xffff)) || \ + (cf && (res) == ((src) & 0xffff))) +#define borrow32(src, res, cf) (((res) > (src)) || \ + (cf && (res) == (src))) + +#define auxCarry(src1, src2, res) (((((src1) ^ (src2)) ^ (res)) & \ + 0x10) != 0) + +#define bit0(res) ((res) & 1) +#define bit6(res) (((res) >> 6) & 1) +#define bit8(res) (((res) >> 8) & 1) +#define bit14(res) (((res) >> 14) & 1) +#define bit16(res) (((res) >> 16) & 1) +#define bit30(res) (((res) >> 30) & 1) +#define bit31(res) (((res) >> 31) & 1) +#define bit32(res) (((res) >> 32) & 1) + + +/* Utility Functions - these exist so their callers don't need to know about + * IA data types and structures + */ + +void eflagsFromArithFlags(void) +{ + EFLAGS.le = (arithFlags.sf ^ arithFlags.of) | arithFlags.zf; + EFLAGS.be = arithFlags.cf | arithFlags.zf; + EFLAGS.lt = arithFlags.sf ^ arithFlags.of; + EFLAGS.of = arithFlags.of; + EFLAGS.sf = arithFlags.sf; + EFLAGS.zf = arithFlags.zf; + EFLAGS.af = arithFlags.af; + EFLAGS.pf = arithFlags.pf; + EFLAGS.cf = arithFlags.cf; +} + +void arithFlagsFromEflags(void) +{ + arithFlags.of = EFLAGS.of; + arithFlags.sf = EFLAGS.sf; + arithFlags.zf = EFLAGS.zf; + arithFlags.af = EFLAGS.af; + arithFlags.pf = EFLAGS.pf; + arithFlags.cf = EFLAGS.cf; +} + +void setEIPfromIP(void) +{ + EIP = (ADDR4)ip - CSD.base; +} + +void setSegGRsFromARs(void) +{ + CSD = CSD_AR; + SSD = SSD_AR; +} + +void setSegARsFromGRs(void) +{ + CSD_AR = CSD; + SSD_AR = SSD; +} + + +/* IA Execution Functions */ + +/* These are in alphabetical order with one function corresponding to each + * "instruction page" in the Pentium Pro Programmer's Reference Manual. + * The functions use the names in the manual, in lower-case, with "IAEx" + * appended. + */ + +Status aaaIAEx(IAinstInfoPtr info) +{ + /* aaa modifies CF and AF; SF, ZF, PF, and OF are undefined */ + if (((AL & 0xf) > 9) || arithFlags.af) { + AL += 6; + AH++; + arithFlags.af = arithFlags.cf = 1; + } else + arithFlags.af = arithFlags.cf = 0; + AL &= 0xf; + return StSuccess; +} + +Status aadIAEx(IAinstInfoPtr info) +{ + /* aad modifies SF, ZF, and PF; OF, AF, and CF are undefined */ + AL = (AH * info->imm32 + AL) & 0xff; /* in general imm32 == 10 */ + AH = 0; + arithFlags.sf = sign8(AL); + arithFlags.zf = (AL == 0); + arithFlags.pf = parity[AL]; + return StSuccess; +} + +Status aamIAEx(IAinstInfoPtr info) +{ + /* aad modifies SF, ZF, and PF; OF, AF, and CF are undefined */ + AH = AL / info->imm32; /* in general imm32 == 10 */ + AL = AL % info->imm32; + arithFlags.sf = sign8(AL); + arithFlags.zf = (AL == 0); + arithFlags.pf = parity[AL]; + return StSuccess; +} + +Status aasIAEx(IAinstInfoPtr info) +{ + /* aas modifies CF and AF; SF, ZF, PF, and OF are undefined */ + if ((AL & 0xf) > 9 || arithFlags.af) { + AL -= 6; + AH--; + arithFlags.af = arithFlags.cf = 1; + } else + arithFlags.af = arithFlags.cf = 0; + AL &= 0xf; + return StSuccess; +} + +Status adcIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* add modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (dest + src + arithFlags.cf) & 0xff; + arithFlags.of = overflow8(src, dest, res); + arithFlags.sf = sign8(res); + arithFlags.cf = carry8(src, res, arithFlags.cf); + break; + case 2: + res = (dest + src + arithFlags.cf) & 0xffff; + arithFlags.of = overflow16(src, dest, res); + arithFlags.sf = sign16(res); + arithFlags.cf = carry16(src, res, arithFlags.cf); + break; + case 4: + res = dest + src + arithFlags.cf; + arithFlags.of = overflow32(src, dest, res); + arithFlags.sf = sign32(res); + arithFlags.cf = carry32(src, res, arithFlags.cf); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status addIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* add modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (dest + src) & 0xff; + arithFlags.of = overflow8(src, dest, res); + arithFlags.sf = sign8(res); + arithFlags.cf = carry8(src, res, 0); + break; + case 2: + res = (dest + src) & 0xffff; + arithFlags.of = overflow16(src, dest, res); + arithFlags.sf = sign16(res); + arithFlags.cf = carry16(src, res, 0); + break; + case 4: + res = dest + src; + arithFlags.of = overflow32(src, dest, res); + arithFlags.sf = sign32(res); + arithFlags.cf = carry32(src, res, 0); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status andIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* and clears OF & CF; modifies SF, ZF, PF; AF is undefined */ + switch (info->opSize) { + case 1: + res = (dest & src) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest & src) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + res = dest & src; + arithFlags.sf = sign32(res); + break; + } + arithFlags.of = arithFlags.cf = 0; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status arplIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status boundIAEx(IAinstInfoPtr info) +{ + IADWORD src[2], dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, src, &adr, &adr2) || + !info->destRdFn(info, MEM_LD_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if (dest < src[0] || dest > (src[1] + info->opSize)) { + ia32ExceptionFault(IA32_BOUNDS_EXCEPTION, 0); + return StFault; + } + return StSuccess; +} + +Status bsfIAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + /* bsf modifies ZF; CF, SF, OF, PF, and AF are undefined */ + if (info->opSize == IA16) + src &= 0xffff; + if (!src) + arithFlags.zf = 1; + else { + arithFlags.zf = 0; + res = 0; + while (!(src & 0x1)) { + res++; + src >>= 1; + } + } + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status bsrIAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + /* bsr modifies ZF; CF, SF, OF, PF, and AF are undefined */ + if (info->opSize == IA16) + src = (src & 0xffff) << 16; + if (!src) + arithFlags.zf = 1; + else { + arithFlags.zf = 0; + res = (info->opSize == IA16) ? 15 : 31; + while (!sign32(src)) { + res--; + src <<= 1; + } + } + info->destWrFn(info, res, adr, adr2); + return StSuccess; + +} + +Status bswapIAEx(IAinstInfoPtr info) +{ + IADWORD dest, res; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + res = ((dest & 0xff000000) >> 24) | ((dest & 0x00ff0000) >> 8) | + ((dest & 0x0000ff00) << 8) | ((dest & 0x000000ff) << 24); + info->destWrFn(info, res, adr, adr2); + /* bswap modifies no flags */ + return StSuccess; +} + +Status btIAEx(IAinstInfoPtr info) +{ + IADWORD base, offset; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &offset, &adr, &adr2)) + return StFault; + + /* bt modifies CF; ZF, SF, OF, PF, and AF are undefined */ + if (info->modrm.mod != 3 && info->srcRdFn != immIARd) { + /* offset range is -2^31 to 2^31-1 if offset is a reg and base in mem */ + if (info->opSize == IA32) + info->disp32 += 4 * sign_ext32(offset >> 5, 27); + else + info->disp32 += 2 * sign_ext32(offset >> 4, 12); + } + if (!info->destRdFn(info, MEM_LDST_ACCESS, &base, &adr, &adr2)) + return StFault; + + offset &= (info->opSize == IA16) ? 0xf : 0x1f; + arithFlags.cf = (base >> offset) & 0x1; + return StSuccess; +} + +Status btcIAEx(IAinstInfoPtr info) +{ + IADWORD base, offset, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &offset, &adr, &adr2)) + return StFault; + + /* btc modifies CF; ZF, SF, OF, PF, and AF are undefined */ + if (info->modrm.mod != 3 && info->srcRdFn != immIARd) { + /* offset range is -2^31 to 2^31-1 if offset is a reg and base in mem */ + if (info->opSize == IA32) + info->disp32 += 4 * sign_ext32(offset >> 5, 27); + else + info->disp32 += 2 * sign_ext32(offset >> 4, 12); + } + if (!info->destRdFn(info, MEM_LDST_ACCESS, &base, &adr, &adr2)) + return StFault; + + offset &= (info->opSize == IA16) ? 0xf : 0x1f; + arithFlags.cf = (base >> offset) & 0x1; + res = base ^ (1 << offset); + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status btrIAEx(IAinstInfoPtr info) +{ + IADWORD base, offset, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &offset, &adr, &adr2)) + return StFault; + + /* btr modifies CF; ZF, SF, OF, PF, and AF are undefined */ + if (info->modrm.mod != 3 && info->srcRdFn != immIARd) { + /* offset range is -2^31 to 2^31-1 if offset is a reg and base in mem */ + if (info->opSize == IA32) + info->disp32 += 4 * sign_ext32(offset >> 5, 27); + else + info->disp32 += 2 * sign_ext32(offset >> 4, 12); + } + if (!info->destRdFn(info, MEM_LDST_ACCESS, &base, &adr, &adr2)) + return StFault; + + offset &= (info->opSize == IA16) ? 0xf : 0x1f; + arithFlags.cf = (base >> offset) & 0x1; + res = base & ~(1 << offset); + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status btsIAEx(IAinstInfoPtr info) +{ + IADWORD base, offset, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &offset, &adr, &adr2)) + return StFault; + + /* bts modifies CF; ZF, SF, OF, PF, and AF are undefined */ + if (info->modrm.mod != 3 && info->srcRdFn != immIARd) { + /* offset range is -2^31 to 2^31-1 if offset is a reg and base in mem */ + if (info->opSize == IA32) + info->disp32 += 4 * sign_ext32(offset >> 5, 27); + else + info->disp32 += 2 * sign_ext32(offset >> 4, 12); + } + if (!info->destRdFn(info, MEM_LDST_ACCESS, &base, &adr, &adr2)) + return StFault; + + offset &= (info->opSize == IA16) ? 0xf : 0x1f; + arithFlags.cf = (base >> offset) & 0x1; + res = base | (1 << offset); + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +/* call has been split into 4 functions */ + +Status call_near_relIAEx(IAinstInfoPtr info) +{ + IADWORD dest, retEIP; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if (info->opSize == IA32) { + retEIP = EIP + info->delta; + EIP += info->delta + info->disp32; + } else { /* IA16 */ + retEIP = (EIP + info->delta) & 0xffff; + EIP = (EIP + info->delta + info->disp32) & 0xffff; + } + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + info->destWrFn(info, retEIP, adr, adr2); + return StTakenBr; +} + +Status call_near_indIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, retEIP; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if (info->opSize == IA32) + retEIP = EIP + info->delta; + else /* IA16 */ + retEIP = (EIP + info->delta) & 0xffff; + EIP = src; + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + info->destWrFn(info, retEIP, adr, adr2); + return StTakenBr; +} + +Status call_far_absIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, retEIP, retCS; + ADDR adr, adr2, segAdr, segAdr2, ofsAdr, ofsAdr2; + + if (!segRegUpdateIARd(info, MEM_ST_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &segAdr, &segAdr2) || + !call_farIARd(info, MEM_ST_ACCESS, &dest, &ofsAdr, &ofsAdr2)) + return StFault; + + if (info->opSize == IA32) + retEIP = EIP + info->delta; + else /* IA16 */ + retEIP = (EIP + info->delta) & 0xffff; + retCS = CS; + /* XXX - add code segment limit check */ + EIP = info->disp32; + segRegIAWr(info, info->imm32, adr, adr2); + ip = IPfromEIP(EIP); + info->destWrFn(info, retCS, segAdr, segAdr2); + info->destWrFn(info, retEIP, ofsAdr, ofsAdr2); + return StTakenBr; +} + +Status call_far_indIAEx(IAinstInfoPtr info) +{ + IADWORD src[2], dest, retEIP, retCS, tgtEIP, tgtCS; + ADDR adr, adr2, segAdr, segAdr2, ofsAdr, ofsAdr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, src, &adr, &adr2) || + !segRegUpdateIARd(info, MEM_ST_ACCESS, &dest, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &segAdr, &segAdr2) || + !call_farIARd(info, MEM_ST_ACCESS, &dest, &ofsAdr, &ofsAdr2)) + return StFault; + + if (info->opSize == IA32) + retEIP = EIP + info->delta; + else /* IA16 */ + retEIP = (EIP + info->delta) & 0xffff; + retCS = CS; + /* XXX - add code segment limit check */ + if (info->opSize == IA16) { + tgtEIP = src[0] & 0xffff; + tgtCS = src[0] >> 16; + } else { /* IA32 */ + tgtEIP = src[0]; + tgtCS = src[1]; + } + EIP = tgtEIP; + segRegIAWr(info, tgtCS, adr, adr2); + ip = IPfromEIP(EIP); + info->destWrFn(info, retCS, segAdr, segAdr2); + info->destWrFn(info, retEIP, ofsAdr, ofsAdr2); + return StTakenBr; +} + +Status cbwIAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + if (info->opSize == IA16) + res = (IASDWORD)(IASBYTE)src; + else /* IA32 */ + res = (IASDWORD)(IASWORD)src; + info->destWrFn(info, res, adr, adr2); + /* cbw modifies no flags */ + return StSuccess; +} + +/* ARGSUSED */ +Status clcIAEx(IAinstInfoPtr info) +{ + /* current CF is in arithFlags, not EFLAGS */ + arithFlags.cf = 0; + return StSuccess; +} + +/* ARGSUSED */ +Status cldIAEx(IAinstInfoPtr info) +{ + EFLAGS.df = 0; + return StSuccess; +} + +/* ARGSUSED */ +Status cliIAEx(IAinstInfoPtr info) +{ + /* XXX - add protected mode & VM86 stuff */ + /* XXX - add intercept stuff according to Seamless 2.0 */ + EFLAGS.if_ = 0; + return StSuccess; +} + +Status cltsIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* ARGSUSED */ +Status cmcIAEx(IAinstInfoPtr info) +{ + /* current CF is in arithFlags, not EFLAGS */ + arithFlags.cf = !arithFlags.cf; + return StSuccess; +} + +Status cmovccIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status cmpIAEx(IAinstInfoPtr info) +{ + IADWORD src2, src1, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src2, &adr, &adr2) || + !info->destRdFn(info, MEM_LD_ACCESS, &src1, &adr, &adr2)) + return StFault; + + /* cmp modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (src1 - src2) & 0xff; + arithFlags.of = overflow8(src1, -src2, res); + arithFlags.sf = sign8(res); + arithFlags.cf = borrow8(src1, res, 0); + break; + case 2: + res = (src1 - src2) & 0xffff; + arithFlags.of = overflow16(src1, -src2, res); + arithFlags.sf = sign16(res); + arithFlags.cf = borrow16(src1, res, 0); + break; + case 4: + res = src1 - src2; + arithFlags.of = overflow32(src1, -src2, res); + arithFlags.sf = sign32(res); + arithFlags.cf = borrow32(src1, res, 0); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src2, src1, res); + arithFlags.pf = parity[res & 0xff]; + return StSuccess; +} + +Status cmpsIAEx(IAinstInfoPtr info) +{ + IADWORD inc; + Status st; + + if ((st = cmpIAEx(info)) == StFault) + return StFault; + + inc = (1 - (2 * EFLAGS.df)) * info->opSize; + if (info->addrSize == IA16) { + SI += inc; + DI += inc; + } else { /* IA32 */ + ESI += inc; + EDI += inc; + } + return st; +} + +Status cmpxchgIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, accum, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* cmpxchg modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + accum = AL; + res = (dest - accum) & 0xff; + arithFlags.of = overflow8(dest, -accum, res); + arithFlags.sf = sign8(res); + arithFlags.cf = borrow8(dest, res, 0); + AL = dest; + break; + case 2: + accum = AX; + res = (dest - accum) & 0xffff; + arithFlags.of = overflow16(dest, -accum, res); + arithFlags.sf = sign16(res); + arithFlags.cf = borrow16(dest, res, 0); + AX = dest; + break; + case 4: + accum = EAX; + res = dest - accum; + arithFlags.of = overflow32(dest, -accum, res); + arithFlags.sf = sign32(res); + arithFlags.cf = borrow32(dest, res, 0); + EAX = dest; + break; + } + arithFlags.af = auxCarry(accum, dest, res); + arithFlags.pf = parity[res & 0xff]; + if ((arithFlags.zf = (res == 0))) /* accum == dest */ + info->destWrFn(info, src, adr, adr2); + return StSuccess; +} + +Status cmpxchg8bIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status cpuidIAEx(IAinstInfoPtr info) +{ + /* XXX - fill in real info when known */ + /* XXX - can this state be shared with EM cpuid registers? */ + switch ((IADWORD)EAX) { + case 0: + EAX = 2; + EBX = 0x756e6547; /* "Genu" */ + EDX = 0x49656e69; /* "ineI" */ + ECX = 0x6c65746e; /* "ntel" */ + break; + case 1: + EAX = 0x00000710; + EBX = 0; + ECX = 0; + EDX = 0x00008137; + break; + case 2: + EAX = 0x03020101; + EBX = 0; + ECX = 0; + EDX = 0x06040a42; + break; + } + return StSuccess; +} + +Status cwdIAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + if (info->opSize == IA16) + res = ((IADWORD)(IASDWORD)(IASWORD)src) >> 16; + else /* IA32 */ + res = (IADWORD)(((IAQWORD)(IASQWORD)(IASDWORD)src) >> 32); + info->destWrFn(info, res, adr, adr2); + /* cwd modifies no flags */ + return StSuccess; +} + +Status daaIAEx(IAinstInfoPtr info) +{ + BYTE res = AL; + + /* daa modifies CF, AF, SF, ZF, PF; OF is undefined */ + if (((res & 0xf) > 9) || arithFlags.af) { + res += 6; + arithFlags.cf |= carry8(AL, res, 0); + arithFlags.af = 1; + } else + arithFlags.af = 0; + + if ((res > 0x90) || arithFlags.cf) { + res += 0x60; + arithFlags.cf = 1; + } else + arithFlags.cf = 0; + + arithFlags.sf = sign8(res); + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res]; + AL = res; + return StSuccess; +} + +Status dasIAEx(IAinstInfoPtr info) +{ + BYTE res = AL; + + /* das modifies CF, AF, SF, ZF, PF; OF is undefined */ + if (((res & 0xf) > 9) || arithFlags.af) { + res -= 6; + arithFlags.cf |= borrow8(AL, res, 0); + arithFlags.af = 1; + } else + arithFlags.af = 0; + + if ((res > 0x9f) || arithFlags.cf) { + res -= 0x60; + arithFlags.cf = 1; + } else + arithFlags.cf = 0; + + arithFlags.sf = sign8(res); + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res]; + AL = res; + return StSuccess; +} + +Status decIAEx(IAinstInfoPtr info) +{ + IADWORD dest, res; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* dec modifies OF, SF, ZF, AF, PF; CF is unchanged */ + switch (info->opSize) { + case 1: + res = (dest - 1) & 0xff; + arithFlags.of = overflow8(dest, -1, res); + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest - 1) & 0xffff; + arithFlags.of = overflow16(dest, -1, res); + arithFlags.sf = sign16(res); + break; + case 4: + res = dest - 1; + arithFlags.of = overflow32(dest, -1, res); + arithFlags.sf = sign32(res); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(1, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status divIAEx(IAinstInfoPtr info) +{ + IADWORD eAX, divisor, res; + IAQWORD dividend; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &divisor, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &eAX, &adr, &adr2)) + return StFault; + + if (divisor == 0) { + ia32ExceptionFault(IA32_DIVIDE_EXCEPTION, 0); + return StFault; + } + /* div makes OF, SF, ZF, AF, CF, PF undefined */ + switch (info->opSize) { + case 1: + /* AX / rm8; AL = quotient, AH = remainder */ + if ((res = eAX / divisor) > 0xff) { + ia32ExceptionFault(IA32_DIVIDE_EXCEPTION, 0); + return StFault; + } + res |= (eAX % divisor) << 8; + break; + case 2: + /* DX:AX / rm16; AX = quotient, DX = remainder */ + dividend = (DX << 16) | eAX; + if ((res = dividend / divisor) > 0xffff) { + ia32ExceptionFault(IA32_DIVIDE_EXCEPTION, 0); + return StFault; + } + DX = dividend % divisor; + break; + case 4: + /* EDX:EAX / rm32; EAX = quotient, EDX = remainder */ + dividend = ((REG)EDX << 32) | eAX; + if ((res = dividend / divisor) > 0xffffffff) { + ia32ExceptionFault(IA32_DIVIDE_EXCEPTION, 0); + return StFault; + } + EDX = dividend % divisor; + break; + } + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status enterIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* XXX - add FP ops */ + +/* ARGSUSED */ +Status hltIAEx(IAinstInfoPtr info) +{ + char buf[40]; + + symAddrtoName(ip, buf, 4, NO, -32); + progExit("Stopping at %s -- IA-32 halt instruction\n", buf); + /*NOTREACHED*/ + return StSuccess; +} + +Status idivIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status imulIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status inIAEx(IAinstInfoPtr info) +{ + IADWORD port, res; + ADDR adr, adr2, portAdr; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &port, &adr, &adr2)) + return StFault; + + /* XXX - add protected-mode & VM86 IOPL/permission bit checks */ + portAdr = IOBASE | ((port & ~3) << 10) | (port & 3); + if (!memIAadrRd(portAdr, info->opSize, MEM_LD_ACCESS, &adr, &adr2, &res)) + return StFault; + /* in modifies no flags */ + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status incIAEx(IAinstInfoPtr info) +{ + IADWORD dest, res; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* inc modifies OF, SF, ZF, AF, PF; CF is unchanged */ + switch (info->opSize) { + case 1: + res = (dest + 1) & 0xff; + arithFlags.of = overflow8(dest, 1, res); + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest + 1) & 0xffff; + arithFlags.of = overflow16(dest, 1, res); + arithFlags.sf = sign16(res); + break; + case 4: + res = dest + 1; + arithFlags.of = overflow32(dest, 1, res); + arithFlags.sf = sign32(res); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(1, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status insIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status intIAEx(IAinstInfoPtr info) +{ + if (info->imm32 == 3) + if (isbpt(ip) != -1) { + static char sym[40]; + + symAddrtoName(ip, sym, 4, NO, -32); + progStop("Breakpoint (IA-32) at %s\n", sym); + /* counts and commands in breakpoints are not implemented yet. */ + } else { + ia32ExceptionTrap(IA32_BREAK_EXCEPTION, INT_TRAP_CODE, info->delta); + return StFault; + } + else if (dosABI && info->imm32 == 0x21) /* system function */ + return dosInt21(AH, AL); + else if (dosABI && info->imm32 == 0x20) /* terminate program */ + progExit("IA-32 program terminated\n"); + else { /* generic software interrupt */ + ia32InterruptTrap(info->imm32, INT_TRAP_CODE, info->delta); + return StFault; + } + return StFault; +} + +Status intoIAEx(IAinstInfoPtr info) +{ + if (arithFlags.of) { + ia32ExceptionTrap(IA32_OVERFLOW_EXCEPTION, INT_TRAP_CODE, info->delta); + return StFault; + } + return StSuccess; +} + +Status invdIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status invlpgIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status iretIAEx(IAinstInfoPtr info) +{ + IADWORD dest, retEIP, retCS, retEFLAGS; + DWORD tmpEFLAGS; + ADDR adr, adr2, ofsAdr, ofsAdr2, segAdr, segAdr2, eflAdr, eflAdr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &retEIP, &ofsAdr, &ofsAdr2) || + !segRegUpdateIARd(info, MEM_ST_ACCESS, &dest, &adr, &adr2) || + !ret_farIARd(info, MEM_LD_ACCESS, &retCS, &segAdr, &segAdr2) || + !iretIARd(info, MEM_LD_ACCESS, &retEFLAGS, &eflAdr, &eflAdr2)) + return StFault; + + if (StackAddrSize(info->mode) == IA32) + ESP += 3 * info->opSize; + else /* IA16 */ + SP += 3 * info->opSize; + + if (info->opSize == IA32) { + EIP = retEIP; + tmpEFLAGS = (retEFLAGS & 0x257fd5) | 0x1a0002; + } else { /* IA16 */ + EIP = retEIP & 0xffff; + tmpEFLAGS = (retEFLAGS & 0x7fd5) | 0x0002; + } + segRegIAWr(info, retCS, adr, adr2); + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + EFLAGS = *(IAeflagsPtr)&tmpEFLAGS; + arithFlagsFromEflags(); + return StTakenBr; +} + +Status jccIAEx(IAinstInfoPtr info) +{ + BOOL cond; + + switch (info->cond_seg) { + case JO_COND: + cond = arithFlags.of; + break; + case JNO_COND: + cond = !arithFlags.of; + break; + case JB_COND: + cond = arithFlags.cf; + break; + case JNB_COND: + cond = !arithFlags.cf; + break; + case JZ_COND: + cond = arithFlags.zf; + break; + case JNZ_COND: + cond = !arithFlags.zf; + break; + case JBE_COND: + cond = arithFlags.cf || arithFlags.zf; + break; + case JNBE_COND: + cond = !(arithFlags.cf || arithFlags.zf); + break; + case JS_COND: + cond = arithFlags.sf; + break; + case JNS_COND: + cond = !arithFlags.sf; + break; + case JP_COND: + cond = arithFlags.pf; + break; + case JNP_COND: + cond = !arithFlags.pf; + break; + case JL_COND: + cond = arithFlags.sf != arithFlags.of; + break; + case JNL_COND: + cond = arithFlags.sf == arithFlags.of; + break; + case JLE_COND: + cond = (arithFlags.sf != arithFlags.of) || arithFlags.zf; + break; + case JNLE_COND: + cond = (arithFlags.sf == arithFlags.of) && !arithFlags.zf; + break; + case JCXZ_COND: + if (info->opSize == IA16) + cond = CX == 0; + else /* IA32 */ + cond = ECX == 0; + break; + } + + /* jcc modifies no flags */ + if (cond) { + if (info->opSize == IA32) + EIP += info->delta + info->disp32; + else + EIP = (EIP + info->delta + info->disp32) & 0xffff; + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + return StTakenBr; + } + return StSuccess; +} + +/* jmp has been split into 4 functions */ + +Status jmp_near_relIAEx(IAinstInfoPtr info) +{ + if (info->opSize == IA32) + EIP += info->delta + info->disp32; + else /* IA16 */ + EIP = (EIP + info->delta + info->disp32) & 0xffff; + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + return StTakenBr; +} + +Status jmp_near_indIAEx(IAinstInfoPtr info) +{ + IADWORD src; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + EIP = src; + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + return StTakenBr; +} + +Status jmp_far_absIAEx(IAinstInfoPtr info) +{ + IADWORD dest; + ADDR adr, adr2; + + if (!segRegUpdateIARd(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* XXX - add code segment limit check */ + EIP = info->disp32; + segRegIAWr(info, info->imm32, adr, adr2); + ip = IPfromEIP(EIP); + return StTakenBr; +} + +Status jmp_far_indIAEx(IAinstInfoPtr info) +{ + IADWORD src[2], dest, tgtEIP, tgtCS; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, src, &adr, &adr2) || + !segRegUpdateIARd(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* XXX - add code segment limit check */ + if (info->opSize == IA16) { + tgtEIP = src[0] & 0xffff; + tgtCS = src[0] >> 16; + } else { /* IA32 */ + tgtEIP = src[0]; + tgtCS = src[1]; + } + EIP = tgtEIP; + segRegIAWr(info, tgtCS, adr, adr2); + ip = IPfromEIP(EIP); + return StTakenBr; +} + +/* jmpe has been split into 2 functions */ + +Status jmpe_relIAEx(IAinstInfoPtr info) +{ + IADWORD tgt; + Status st = StTakenBr; + + if (PSR_DI) { + disabledInstSetTransitionFault(); + return StFault; +#if 0 + /* XXX - enable this when FP implemented */ + } else if (pendingIA32FPexceptions) { + ia32FPfault(); + return StFault; +#endif + } + + if (info->opSize == IA32) + tgt = EIP + info->delta + info->disp32; + else /* IA16 */ + tgt = (EIP + info->delta + info->disp32) & 0xffff; + JMPE_RP = (IADWORD)(EIP + CSD.base + info->delta); + ip = IPfromEIP(tgt) & ~(ADDR)0xF; /* 16-byte align IP */ + icp = NULL; + eflagsFromArithFlags(); + setSegARsFromGRs(); + PSR_IS = 0; + abi = unixABI; + /* XXX - add taken branch trap */ + if (executionMode == RUN_IA) + while (!PSR_IS) { + if (st & ST_STOP) + total_cycles++; + if (st & ST_INST_COUNT) + total_insts++; + st = unixABI ? iCycleApp() : iCycleSys(); + } + return st; +} + +Status jmpe_indIAEx(IAinstInfoPtr info) +{ + IADWORD tgt; + ADDR adr, adr2; + Status st = StTakenBr; + + if (PSR_DI) { + disabledInstSetTransitionFault(); + return StFault; +#if 0 + /* XXX - enable this when FP implemented */ + } else if (pendingIA32FPexceptions) { + ia32FPfault(); + return StFault; +#endif + } + if (!info->srcRdFn(info, MEM_LD_ACCESS, &tgt, &adr, &adr2)) + return StFault; + + JMPE_RP = (IADWORD)(EIP + CSD.base + info->delta); + /* XXX - need opSize/addrSize masking ??? */ + ip = IPfromEIP(tgt) & ~(ADDR)0xF; /* 16-byte align IP */ + icp = NULL; + eflagsFromArithFlags(); + setSegARsFromGRs(); + PSR_IS = 0; + abi = unixABI; + /* XXX - add taken branch trap */ + if (executionMode == RUN_IA) + while (!PSR_IS) { + if (st & ST_STOP) + total_cycles++; + if (st & ST_INST_COUNT) + total_insts++; + st = unixABI ? iCycleApp() : iCycleSys(); + } + return st; +} + +/* ARGSUSED */ +Status lahfIAEx(IAinstInfoPtr info) +{ + IAeflags newFlags; + + /* lahf modifies no flags */ + newFlags.sf = arithFlags.sf; + newFlags.zf = arithFlags.zf; + newFlags.rv5 = 0; + newFlags.af = arithFlags.af; + newFlags.rv3 = 0; + newFlags.pf = arithFlags.pf; + newFlags.rv1 = 1; + newFlags.cf = arithFlags.cf; + AH = *((IAQWORD *)&newFlags); + return StSuccess; +} + +Status larIAEx(IAinstInfoPtr info) +{ + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 so only 2 bytes will be read from memory */ + info->opSize = 2; + /* XXX - finish this */ + + info->opSize = opSize; /* restore */ + return unimpIAEx(info); +} + +Status leaIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* lea modifies no flags */ + info->destWrFn(info, src, adr, adr2); + return StSuccess; +} + +Status leaveIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status lgdtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status lidtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status lldtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status lmswIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* used for lds, les, lfs, lgs, lss */ +Status load_far_ptrIAEx(IAinstInfoPtr info) +{ + IADWORD src[2], regDest, segDest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, src, &adr, &adr2) || + !segRegUpdateIARd(info, MEM_ST_ACCESS, &segDest, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, ®Dest, &adr, &adr2)) + return StFault; + + /* load_far_ptr modifies no flags */ + if (info->opSize == IA16) { + info->destWrFn(info, src[0] & 0xffff, adr, adr2); + segRegIAWr(info, src[0] >> 16, adr, adr2); + } else { /* IA32 */ + info->destWrFn(info, src[0], adr, adr2); + segRegIAWr(info, src[1], adr, adr2); + } + return StSuccess; +} + +Status lockIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status lodsIAEx(IAinstInfoPtr info) +{ + IADWORD inc; + Status st; + + if ((st = movIAEx(info)) == StFault) + return StFault; + + inc = (1 - (2 * EFLAGS.df)) * info->opSize; + if (info->addrSize == IA16) + SI += inc; + else /* IA32 */ + ESI += inc; + return st; +} + +Status loopIAEx(IAinstInfoPtr info) +{ + BOOL cond; + IADWORD count; + + if (info->addrSize == IA16) + count = --CX; + else /* IA32 */ + count = --ECX; + + switch (info->cond_seg) { + case LOOPNZ_COND: + cond = (count != 0) && !arithFlags.zf; + break; + case LOOPZ_COND: + cond = (count != 0) && arithFlags.zf; + break; + case LOOP_COND: + cond = count != 0; + break; + } + + /* loop modifies no flags */ + if (cond) { + if (info->opSize == IA32) + EIP += info->delta + info->disp32; + else + EIP = (EIP + info->delta + info->disp32) & 0xffff; + ip = IPfromEIP(EIP); + return StTakenBr; + } + return StSuccess; +} + +Status lslIAEx(IAinstInfoPtr info) +{ + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 so only 2 bytes will be read from memory */ + info->opSize = 2; + /* XXX - finish this */ + + info->opSize = opSize; /* restore */ + return unimpIAEx(info); +} + +Status ltrIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status movIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* mov modifies no flags */ + info->destWrFn(info, src, adr, adr2); + return StSuccess; +} + +Status movCRIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status movDRIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status movsIAEx(IAinstInfoPtr info) +{ + IADWORD inc; + Status st; + + if ((st = movIAEx(info)) == StFault) + return StFault; + + inc = (1 - (2 * EFLAGS.df)) * info->opSize; + if (info->addrSize == IA16) { + SI += inc; + DI += inc; + } else { /* IA32 */ + ESI += inc; + EDI += inc; + } + return st; +} + +/* movsx has been split into 2 functions */ + +Status movsx8IAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 so only 1 byte will be read from memory */ + info->opSize = 1; + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + info->opSize = opSize; /* restore */ + + /* movsx modifies no flags */ + res = (IASDWORD)(IASBYTE)src; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status movsx16IAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 so only 2 bytes will be read from memory */ + info->opSize = 2; + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + info->opSize = opSize; /* restore */ + + /* movsx modifies no flags */ + res = (IASDWORD)(IASWORD)src; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +/* movzx has been split into 2 functions */ + +Status movzx8IAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 so only 1 byte will be read from memory */ + info->opSize = 1; + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + info->opSize = opSize; /* restore */ + + /* movzx modifies no flags */ + res = (IADWORD)(BYTE)src; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status movzx16IAEx(IAinstInfoPtr info) +{ + IADWORD src, res; + ADDR adr, adr2; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 so only 2 bytes will be read from memory */ + info->opSize = 2; + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + info->opSize = opSize; /* restore */ + + /* movzx modifies no flags */ + res = (IADWORD)(IAWORD)src; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status mulIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* mul modifies OF, CF; SF, ZF, AF, PF are undefined */ + switch (info->opSize) { + case 1: + /* AX = AL * rm8 */ + res = src * dest; + arithFlags.of = arithFlags.cf = ((res >> 8) != 0); + break; + case 2: + /* DX:AX = AX * rm16 */ + res = src * dest; + DX = res >> 16; + arithFlags.of = arithFlags.cf = ((res >> 16) != 0); + break; + case 4: + /* EDX:EAX = EAX * rm32 */ + res = (IAQWORD)src * (IAQWORD)dest; + EDX = res >> 32; + arithFlags.of = arithFlags.cf = ((res >> 32) != 0); + break; + } + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status negIAEx(IAinstInfoPtr info) +{ + IADWORD dest, res; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* neg modifies OF, SF, ZF, AF, CF, PF */ + arithFlags.cf = (dest != 0); + switch (info->opSize) { + case 1: + res = (-dest) & 0xff; + arithFlags.of = overflow8(-dest, 0, res); + arithFlags.sf = sign8(res); + break; + case 2: + res = (-dest) & 0xffff; + arithFlags.of = overflow16(-dest, 0, res); + arithFlags.sf = sign16(res); + break; + case 4: + res = -dest; + arithFlags.of = overflow32(-dest, 0, res); + arithFlags.sf = sign32(res); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(dest, 0, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +/* ARGSUSED */ +Status nopIAEx(IAinstInfoPtr info) +{ + return StSuccess; +} + +Status notIAEx(IAinstInfoPtr info) +{ + IADWORD dest; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* not modifies no flags */ + info->destWrFn(info, ~dest, adr, adr2); + return StSuccess; +} + +Status orIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* or clears OF & CF; modifies SF, ZF, PF; AF is undefined */ + switch (info->opSize) { + case 1: + res = (dest | src) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest | src) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + res = dest | src; + arithFlags.sf = sign32(res); + break; + } + arithFlags.of = arithFlags.cf = 0; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status outIAEx(IAinstInfoPtr info) +{ + IADWORD port, src; + ADDR adr, adr2, portAdr; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LD_ACCESS, &port, &adr, &adr2)) + return StFault; + + /* XXX - add protected-mode & VM86 IOPL/permission bit checks */ + portAdr = IOBASE | ((port & ~3) << 10) | (port & 3); + if (!memIAadrRd(portAdr, info->opSize, MEM_ST_ACCESS, &adr, &adr2, &src)) + return StFault; + /* out modifies no flags */ + info->destWrFn(info, src, adr, adr2); + return StSuccess; +} + +Status outsIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status popIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + /* ESP must be adjusted BEFORE destRdFn() is called in case the dest + * addressing mode is one which includes ESP as the base register. + */ + if (StackAddrSize(info->mode) == IA16) + SP += info->opSize; + else /* IA32 */ + ESP += info->opSize; + + if (!info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) { + if (StackAddrSize(info->mode) == IA16) + SP -= info->opSize; + else /* IA32 */ + ESP -= info->opSize; + return StFault; + } + + info->destWrFn(info, src, adr, adr2); + return StSuccess; +} + +/* + * Stack Layout for popa/popad + * + * address + * +-----+ + * high | | + * | | <--eSP (after) + * +-----+ + * pop | eAX | src[7] + * ^ | eCX | src[6] + * | | eDX | src[5] + * | | eBX | src[4] + * | |*eSP*| src[3] (ignored) + * | | eBP | src[2] + * v | eSI | src[1] + * push | eDI | src[0] <--eSP (before) + * +-----+ + * | | + * low | | + * +-----+ + */ + +Status popaIAEx(IAinstInfoPtr info) +{ + IADWORD src[8]; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, src, &adr, &adr2)) + return StFault; + + if (StackAddrSize(info->mode) == IA16) + SP += 8 * info->opSize; + else /* IA32 */ + ESP += 8 * info->opSize; + + if (info->opSize == IA32) { + EDI = src[0]; + ESI = src[1]; + EBP = src[2]; + /* skip ESP */ + EBX = src[4]; + EDX = src[5]; + ECX = src[6]; + EAX = src[7]; + } else { /* IA16 */ + DI = src[0]; + SI = src[1]; + BP = src[2]; + /* skip SP */ + BX = src[4]; + DX = src[5]; + CX = src[6]; + AX = src[7]; + } + return StSuccess; +} + +Status popfIAEx(IAinstInfoPtr info) +{ + IADWORD src; + DWORD newFlags; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + if (StackAddrSize(info->mode) == IA16) + SP += info->opSize; + else /* IA32 */ + ESP += info->opSize; + + /* XXX - add VM86 & protected mode checks & system flag intercepts */ + if (info->opSize == IA16) { + newFlags = (*(DWORD *)&EFLAGS & ~(DWORD)0xffff) | + (DWORD)(src & 0xffff); + EFLAGS = *(IAeflagsPtr)&newFlags; + } else { /* IA32 */ + newFlags = (DWORD)src; + EFLAGS = *(IAeflagsPtr)&newFlags; + } + EFLAGS.vip = EFLAGS.vif = 0; + /* XXX - do we need to check reserved fields or just write them to 0/1? */ + arithFlagsFromEflags(); + return StSuccess; +} + +Status pushIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + info->destWrFn(info, src, adr, adr2); /* also adjusts eSP */ + return StSuccess; +} + +/* + * Stack Layout for pusha/pushad + * + * address + * +-----+ + * high | | + * | | <--eSP (before) + * +-----+ + * pop | eAX | dest[7] + * ^ | eCX | dest[6] + * | | eDX | dest[5] + * | | eBX | dest[4] + * | | eSP | dest[3] ("before" value) + * | | eBP | dest[2] + * v | eSI | dest[1] + * push | eDI | dest[0] <--eSP (after) + * +-----+ + * | | + * low | | + * +-----+ + */ + +Status pushaIAEx(IAinstInfoPtr info) +{ + IADWORD dest[8]; + ADDR adr, adr2; + + /* adr returned by destRdFn() is eSP (after) */ + if (!info->destRdFn(info, MEM_ST_ACCESS, dest, &adr, &adr2)) + return StFault; + + if (info->opSize == IA32) { + dest[0] = EDI; + dest[1] = ESI; + dest[2] = EBP; + dest[3] = ESP; /* (before) */ + dest[4] = EBX; + dest[5] = EDX; + dest[6] = ECX; + dest[7] = EAX; + } else { /* IA16 */ + dest[0] = DI; + dest[1] = SI; + dest[2] = BP; + dest[3] = SP; /* (before) */ + dest[4] = BX; + dest[5] = DX; + dest[6] = CX; + dest[7] = AX; + } + + /* XXX - this is way more complicated than it should be */ + /* must loop because destWrFn() only gets a single IADWORD */ + if (adr2 == adr + 8 * info->opSize) { /* single page */ + unsigned i; + + for (i = 0; i < 8; i++, adr += info->opSize) + info->destWrFn(info, dest[i], adr, 0); + } else { /* page crossing */ + unsigned i, p1wds; + + p1wds = (page_base(adr) + page_size + info->opSize - 1 - adr) + / info->opSize; + for (i = 0; i < p1wds; i++, adr += info->opSize) + info->destWrFn(info, dest[i], adr, adr2); + /* second loop for second page */ + for (adr2 += adr % info->opSize; i < 8; i++, adr2 += info->opSize) + info->destWrFn(info, dest[i], adr2, 0); + } + + /* destWrFn() does not adjust eSP, so do it here */ + if (StackAddrSize(info->mode) == IA16) + SP -= 8 * info->opSize; + else /* IA32 */ + ESP -= 8 * info->opSize; + + return StSuccess; +} + +Status pushfIAEx(IAinstInfoPtr info) +{ + IADWORD dest, flags; + ADDR adr, adr2; + + if (!info->destRdFn(info, MEM_ST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + eflagsFromArithFlags(); + /* XXX - add VM86 IOPL checks */ + if (info->opSize == IA32) /* VM & RF not pushed */ + flags = (IADWORD)*(DWORD *)&EFLAGS & 0x00fcffff; + else /* lower 16 bits only */ + flags = (IADWORD)*(DWORD *)&EFLAGS & 0xffff; + + info->destWrFn(info, flags, adr, adr2); /* also adjusts eSP */ + return StSuccess; +} + +Status rclIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + /* XXX - the reference manuals contain inconsistent statements about + * whether count is modulo operand size + */ + + /* rcl modifies OF, CF; OF is undefined if count > 1 */ + switch (info->opSize) { + case 1: + count %= 9; + res = dest << 9 | (IADWORD)arithFlags.cf << 8 | dest; + arithFlags.cf = (res >> (8 - count)) & 0x1; + res = (res >> (9 - count)) & 0xff; + arithFlags.of = arithFlags.cf ^ sign8(res); + break; + case 2: + count %= 17; + res = dest << 17 | (IADWORD)arithFlags.cf << 16 | dest; + arithFlags.cf = (res >> (16 - count)) & 0x1; + res = (res >> (17 - count)) & 0xffff; + arithFlags.of = arithFlags.cf ^ sign16(res); + break; + case 4: + res = (IAQWORD)dest << 33 | (IAQWORD)arithFlags.cf << 32 | + (IAQWORD)dest; + arithFlags.cf = (res >> (32 - count)) & 0x1; + res = (res >> (33 - count)) & 0xffffffff; + arithFlags.of = arithFlags.cf ^ sign32(res); + break; + } + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status rcrIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + /* XXX - the reference manuals contain inconsistent statements about + * whether count is modulo operand size + */ + + /* rcr modifies OF, CF; OF is undefined if count > 1 */ + switch (info->opSize) { + case 1: + count %= 9; + res = dest << 9 | (IADWORD)arithFlags.cf << 8 | dest; + arithFlags.cf = (res >> (count - 1)) & 0x1; + res = (res >> count) & 0xff; + arithFlags.of = sign8(res) ^ bit6(res); + break; + case 2: + count %= 17; + res = dest << 17 | (IADWORD)arithFlags.cf << 16 | dest; + arithFlags.cf = (res >> (count - 1)) & 0x1; + res = (res >> count) & 0xffff; + arithFlags.of = sign16(res) ^ bit14(res); + break; + case 4: + res = (IAQWORD)dest << 33 | (IAQWORD)arithFlags.cf << 32 | + (IAQWORD)dest; + arithFlags.cf = (res >> (count - 1)) & 0x1; + res = (res >> count) & 0xffffffff; + arithFlags.of = sign32(res) ^ bit30(res); + break; + } + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status rdmsrIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status rdpmcIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status rdtscIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* rep has 3 common functions for rep, repe, and repne, plus one function + * per string instruction which call the appropriate common function */ + +static Status repIAEx(IAinstInfoPtr info, PIAEF execFn) +{ + Status st; + + if (info->addrSize == IA16) { + if (CX == 0) + return StSuccess; + } else { /* IA32 */ + if (ECX == 0) + return StSuccess; + } + + if ((st = execFn(info)) == StFault) + return StFault; + + if (info->addrSize == IA16) { + if (--CX == 0) + return st; + } else { /* IA32 */ + if (--ECX == 0) + return st; + } + + return st & ~ST_IP_INC; +} + +static Status repeIAEx(IAinstInfoPtr info, PIAEF execFn) +{ + Status st; + + if (info->addrSize == IA16) { + if (CX == 0) + return StSuccess; + } else { /* IA32 */ + if (ECX == 0) + return StSuccess; + } + + if ((st = execFn(info)) == StFault) + return StFault; + + if (info->addrSize == IA16) { + if (--CX == 0 || arithFlags.zf == 0) + return st; + } else { /* IA32 */ + if (--ECX == 0 || arithFlags.zf == 0) + return st; + } + + return st & ~ST_IP_INC; +} + +static Status repneIAEx(IAinstInfoPtr info, PIAEF execFn) +{ + Status st; + + if (info->addrSize == IA16) { + if (CX == 0) + return StSuccess; + } else { /* IA32 */ + if (ECX == 0) + return StSuccess; + } + + if ((st = execFn(info)) == StFault) + return StFault; + + if (info->addrSize == IA16) { + if (--CX == 0 || arithFlags.zf == 1) + return st; + } else { /* IA32 */ + if (--ECX == 0 || arithFlags.zf == 1) + return st; + } + + return st & ~ST_IP_INC; +} + +Status rep_insIAEx(IAinstInfoPtr info) +{ + return repIAEx(info, insIAEx); +} + +Status rep_lodsIAEx(IAinstInfoPtr info) +{ + return repIAEx(info, lodsIAEx); +} + +Status rep_movsIAEx(IAinstInfoPtr info) +{ + return repIAEx(info, movsIAEx); +} + +Status rep_outsIAEx(IAinstInfoPtr info) +{ + return repIAEx(info, outsIAEx); +} + +Status rep_stosIAEx(IAinstInfoPtr info) +{ + return repIAEx(info, stosIAEx); +} + +Status repe_cmpsIAEx(IAinstInfoPtr info) +{ + return repeIAEx(info, cmpsIAEx); +} + +Status repe_scasIAEx(IAinstInfoPtr info) +{ + return repeIAEx(info, scasIAEx); +} + +Status repne_cmpsIAEx(IAinstInfoPtr info) +{ + return repneIAEx(info, cmpsIAEx); +} + +Status repne_scasIAEx(IAinstInfoPtr info) +{ + return repneIAEx(info, scasIAEx); +} + +/* ret has been split into 2 functions */ + +Status ret_nearIAEx(IAinstInfoPtr info) +{ + IADWORD retEIP; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &retEIP, &adr, &adr2)) + return StFault; + + if (StackAddrSize(info->mode) == IA16) + SP += info->opSize + info->imm32; + else /* IA32 */ + ESP += info->opSize + info->imm32; + + if (info->opSize == IA32) + EIP = retEIP; + else /* IA16 */ + EIP = retEIP & 0xffff; + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + return StTakenBr; +} + +Status ret_farIAEx(IAinstInfoPtr info) +{ + IADWORD dest, retEIP, retCS; + ADDR adr, adr2, ofsAdr, ofsAdr2, segAdr, segAdr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &retEIP, &ofsAdr, &ofsAdr2) || + !segRegUpdateIARd(info, MEM_ST_ACCESS, &dest, &adr, &adr2) || + !ret_farIARd(info, MEM_LD_ACCESS, &retCS, &segAdr, &segAdr2)) + return StFault; + + if (StackAddrSize(info->mode) == IA16) + SP += (2 * info->opSize) + info->imm32; + else /* IA32 */ + ESP += (2 * info->opSize) + info->imm32; + + if (info->opSize == IA32) + EIP = retEIP; + else /* IA16 */ + EIP = retEIP & 0xffff; + segRegIAWr(info, retCS, adr, adr2); + /* XXX - add code segment limit check */ + ip = IPfromEIP(EIP); + return StTakenBr; +} + +Status rolIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + /* XXX - the reference manuals contain inconsistent statements about + * whether count is modulo operand size + */ + + /* rol modifies OF, CF; OF is undefined if count > 1 */ + switch (info->opSize) { + case 1: + count %= 8; + res = ((dest << 8 | dest) >> (8 - count)) & 0xff; + arithFlags.cf = bit0(res); + arithFlags.of = arithFlags.cf ^ sign8(res); + break; + case 2: + count %= 16; + res = ((dest << 16 | dest) >> (16 - count)) & 0xffff; + arithFlags.cf = bit0(res); + arithFlags.of = arithFlags.cf ^ sign16(res); + break; + case 4: + res = (((IAQWORD)dest << 32 | (IAQWORD)dest) >> (32 - count)) + & 0xffffffff; + arithFlags.cf = bit0(res); + arithFlags.of = arithFlags.cf ^ sign32(res); + break; + } + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status rorIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + /* XXX - the reference manuals contain inconsistent statements about + * whether count is modulo operand size + */ + + /* ror modifies OF, CF; OF is undefined if count > 1 */ + switch (info->opSize) { + case 1: + count %= 8; + res = ((dest << 8 | dest) >> count) & 0xff; + arithFlags.cf = sign8(res); + arithFlags.of = arithFlags.cf ^ bit6(res); + break; + case 2: + count %= 16; + res = ((dest << 16 | dest) >> count) & 0xffff; + arithFlags.cf = sign16(res); + arithFlags.of = arithFlags.cf ^ bit14(res); + break; + case 4: + res = (((IAQWORD)dest << 32 | (IAQWORD)dest) >> count) & 0xffffffff; + arithFlags.cf = sign32(res); + arithFlags.of = arithFlags.cf ^ bit30(res); + break; + } + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status rsmIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* ARGSUSED */ +Status sahfIAEx(IAinstInfoPtr info) +{ + IAQWORD ah = AH; + IAeflags newFlags = *((IAeflagsPtr)&ah); + + /* sahf modifies SF, ZF, AF, PF, CF */ + arithFlags.sf = newFlags.sf; + arithFlags.zf = newFlags.zf; + arithFlags.af = newFlags.af; + arithFlags.pf = newFlags.pf; + arithFlags.cf = newFlags.cf; + return StSuccess; +} + +Status sarIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + + /* sar modifies OF, SF, ZF, CF, PF; AF is undefined, OF is undefined + * if count > 1 + */ + switch (info->opSize) { + case 1: + res = ((IASQWORD)(IASBYTE)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + res = ((IASQWORD)(IASWORD)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + res = ((IASQWORD)(IASDWORD)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xffffffff; + arithFlags.sf = sign32(res); + break; + } + arithFlags.of = 0; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status sbbIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* sbb modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (dest - (src + arithFlags.cf)) & 0xff; + arithFlags.of = overflow8(src, dest, res); + arithFlags.sf = sign8(res); + arithFlags.cf = borrow8(dest, res, arithFlags.cf); + break; + case 2: + res = (dest - (src + arithFlags.cf)) & 0xffff; + arithFlags.of = overflow16(src, dest, res); + arithFlags.sf = sign16(res); + arithFlags.cf = borrow16(dest, res, arithFlags.cf); + break; + case 4: + res = dest - (src + arithFlags.cf); + arithFlags.of = overflow32(src, dest, res); + arithFlags.sf = sign32(res); + arithFlags.cf = borrow32(dest, res, arithFlags.cf); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status scasIAEx(IAinstInfoPtr info) +{ + IADWORD inc; + Status st; + + if ((st = cmpIAEx(info)) == StFault) + return StFault; + + inc = (1 - (2 * EFLAGS.df)) * info->opSize; + if (info->addrSize == IA16) + DI += inc; + else /* IA32 */ + EDI += inc; + return st; +} + +Status setccIAEx(IAinstInfoPtr info) +{ + IADWORD dest; + ADDR adr, adr2; + BOOL cond; + + if (!info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + switch (info->cond_seg) { + case JO_COND: + cond = arithFlags.of; + break; + case JNO_COND: + cond = !arithFlags.of; + break; + case JB_COND: + cond = arithFlags.cf; + break; + case JNB_COND: + cond = !arithFlags.cf; + break; + case JZ_COND: + cond = arithFlags.zf; + break; + case JNZ_COND: + cond = !arithFlags.zf; + break; + case JBE_COND: + cond = arithFlags.cf || arithFlags.zf; + break; + case JNBE_COND: + cond = !(arithFlags.cf || arithFlags.zf); + break; + case JS_COND: + cond = arithFlags.sf; + break; + case JNS_COND: + cond = !arithFlags.sf; + break; + case JP_COND: + cond = arithFlags.pf; + break; + case JNP_COND: + cond = !arithFlags.pf; + break; + case JL_COND: + cond = arithFlags.sf != arithFlags.of; + break; + case JNL_COND: + cond = arithFlags.sf == arithFlags.of; + break; + case JLE_COND: + cond = (arithFlags.sf != arithFlags.of) || arithFlags.zf; + break; + case JNLE_COND: + cond = (arithFlags.sf == arithFlags.of) && !arithFlags.zf; + break; + } + + dest = (cond) ? 1 : 0; + /* setcc modifies no flags */ + info->destWrFn(info, dest, adr, adr2); + return StSuccess; +} + +Status sgdtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status shlIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + + /* shl modifies OF, SF, ZF, CF, PF; AF is undefined, OF is undefined + * if count > 1 + */ + switch (info->opSize) { + case 1: + res = (IAQWORD)dest << count; + arithFlags.sf = sign8(res); + arithFlags.cf = bit8(res); + res &= 0xff; + break; + case 2: + res = (IAQWORD)dest << count; + arithFlags.sf = sign16(res); + arithFlags.cf = bit16(res); + res &= 0xffff; + break; + case 4: + res = (IAQWORD)dest << count; + arithFlags.sf = sign32(res); + arithFlags.cf = bit32(res); + res &= 0xffffffff; + break; + } + arithFlags.of = arithFlags.sf ^ arithFlags.cf; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +/* shld has been split into 2 functions which read the count and call a + * common function to do the work */ + +static Status shld(IAinstInfoPtr info, IADWORD count) +{ + IADWORD src, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + + /* shld modifies OF, SF, ZF, CF, PF; AF is undefined, OF is undefined + * if count > 1; all flags are undefined if count > opSize + */ + switch (info->opSize) { + case 2: + res = ((dest << 16 | src) << count) >> 16; + arithFlags.sf = sign16(res); + arithFlags.cf = bit16(res); + res &= 0xffff; + break; + case 4: + res = (((IAQWORD)dest << 32 | (IAQWORD)src) << count) >> 32; + arithFlags.sf = sign32(res); + arithFlags.cf = bit32(res); + res &= 0xffffffff; + break; + } + arithFlags.of = arithFlags.sf ^ arithFlags.cf; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status shld_immIAEx(IAinstInfoPtr info) +{ + return shld(info, info->imm32); +} + +Status shld_CLIAEx(IAinstInfoPtr info) +{ + return shld(info, CL); +} + +Status shrIAEx(IAinstInfoPtr info) +{ + IADWORD count, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &count, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + + /* shr modifies OF, SF, ZF, CF, PF; AF is undefined, OF is undefined + * if count > 1 + */ + switch (info->opSize) { + case 1: + arithFlags.of = sign8(dest); + res = ((IAQWORD)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + arithFlags.of = sign16(dest); + res = ((IAQWORD)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + arithFlags.of = sign32(dest); + res = ((IAQWORD)dest << 32) >> count; + arithFlags.cf = bit31(res); + res = (res >> 32) & 0xffffffff; + arithFlags.sf = sign32(res); + break; + } + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +/* shrd has been split into 2 functions which read the count and call a + * common function to do the work */ + +static Status shrd(IAinstInfoPtr info, IADWORD count) +{ + IADWORD src, dest; + IAQWORD res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + if ((count &= 0x1F) == 0) /* mask count to 0 - 31 & check for 0 */ + return StSuccess; /* nop */ + + /* shld modifies OF, SF, ZF, CF, PF; AF is undefined, OF is undefined + * if count > 1; all flags are undefined if count > opSize + */ + switch (info->opSize) { + case 2: + arithFlags.cf = (dest >> (count - 1)) & 0x1; + res = ((src << 16 | dest) >> count) & 0xffff; + arithFlags.sf = sign16(res); + arithFlags.of = arithFlags.sf ^ bit14(res); + break; + case 4: + arithFlags.cf = (dest >> (count - 1)) & 0x1; + res = (((IAQWORD)src << 32 | (IAQWORD)dest) >> count) & 0xffffffff; + arithFlags.sf = sign32(res); + arithFlags.of = arithFlags.sf ^ bit30(res); + break; + } + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, (IADWORD)res, adr, adr2); + return StSuccess; +} + +Status shrd_immIAEx(IAinstInfoPtr info) +{ + return shrd(info, info->imm32); +} + +Status shrd_CLIAEx(IAinstInfoPtr info) +{ + return shrd(info, CL); +} + +Status sidtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status sldtIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status smswIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +/* ARGSUSED */ +Status stcIAEx(IAinstInfoPtr info) +{ + /* current CF is in arithFlags, not EFLAGS */ + arithFlags.cf = 1; + return StSuccess; +} + +/* ARGSUSED */ +Status stdIAEx(IAinstInfoPtr info) +{ + EFLAGS.df = 1; + return StSuccess; +} + +/* ARGSUSED */ +Status stiIAEx(IAinstInfoPtr info) +{ + /* XXX - add protected mode & VM86 stuff */ + /* XXX - add intercept stuff according to Seamless 2.0 */ + /* XXX - how do we keep interrupts disabled until after next inst ? */ + EFLAGS.if_ = 1; + return StSuccess; +} + +Status stosIAEx(IAinstInfoPtr info) +{ + IADWORD inc; + Status st; + + if ((st = movIAEx(info)) == StFault) + return StFault; + + inc = (1 - (2 * EFLAGS.df)) * info->opSize; + if (info->addrSize == IA16) + DI += inc; + else /* IA32 */ + EDI += inc; + return st; +} + +Status strIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status subIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* sub modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (dest - src) & 0xff; + arithFlags.of = overflow8(dest, -src, res); + arithFlags.sf = sign8(res); + arithFlags.cf = borrow8(dest, res, 0); + break; + case 2: + res = (dest - src) & 0xffff; + arithFlags.of = overflow16(dest, -src, res); + arithFlags.sf = sign16(res); + arithFlags.cf = borrow16(dest, res, 0); + break; + case 4: + res = dest - src; + arithFlags.of = overflow32(dest, -src, res); + arithFlags.sf = sign32(res); + arithFlags.cf = borrow32(dest, res, 0); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +Status testIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LD_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* test clears OF & CF; modifies SF, ZF, PF; AF is undefined */ + switch (info->opSize) { + case 1: + res = (dest & src) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest & src) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + res = dest & src; + arithFlags.sf = sign32(res); + break; + } + arithFlags.of = arithFlags.cf = 0; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + return StSuccess; +} + +Status ud2IAEx(IAinstInfoPtr info) +{ + return reservedIAEx(info); +} + +Status verrIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status verwIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status waitIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status wbinvdIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status wrmsrIAEx(IAinstInfoPtr info) +{ + return unimpIAEx(info); +} + +Status xaddIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LDST_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* xadd modifies OF, SF, ZF, AF, CF, PF */ + switch (info->opSize) { + case 1: + res = (dest + src) & 0xff; + arithFlags.of = overflow8(src, dest, res); + arithFlags.sf = sign8(res); + arithFlags.cf = carry8(src, res, 0); + break; + case 2: + res = (dest + src) & 0xffff; + arithFlags.of = overflow16(src, dest, res); + arithFlags.sf = sign16(res); + arithFlags.cf = carry16(src, res, 0); + break; + case 4: + res = dest + src; + arithFlags.of = overflow32(src, dest, res); + arithFlags.sf = sign32(res); + arithFlags.cf = carry32(src, res, 0); + break; + } + arithFlags.zf = (res == 0); + arithFlags.af = auxCarry(src, dest, res); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + regIAWr(info, dest, adr, adr2); + return StSuccess; +} + +Status xchgIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LDST_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* xchg modifies no flags */ + info->destWrFn(info, src, adr, adr2); + regIAWr(info, dest, adr, adr2); + return StSuccess; +} + +Status xlatIAEx(IAinstInfoPtr info) +{ + IADWORD src; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2)) + return StFault; + + AL = src; + /* xlat modifies no flags */ + return StSuccess; +} + +Status xorIAEx(IAinstInfoPtr info) +{ + IADWORD src, dest, res; + ADDR adr, adr2; + + if (!info->srcRdFn(info, MEM_LD_ACCESS, &src, &adr, &adr2) || + !info->destRdFn(info, MEM_LDST_ACCESS, &dest, &adr, &adr2)) + return StFault; + + /* xor clears OF & CF; modifies SF, ZF, PF; AF is undefined */ + switch (info->opSize) { + case 1: + res = (dest ^ src) & 0xff; + arithFlags.sf = sign8(res); + break; + case 2: + res = (dest ^ src) & 0xffff; + arithFlags.sf = sign16(res); + break; + case 4: + res = dest ^ src; + arithFlags.sf = sign32(res); + break; + } + arithFlags.of = arithFlags.cf = 0; + arithFlags.zf = (res == 0); + arithFlags.pf = parity[res & 0xff]; + info->destWrFn(info, res, adr, adr2); + return StSuccess; +} + +/* extra function for instructions not yet implemented */ +/* XXX - delete when no longer needed */ +/* ARGSUSED */ +Status unimpIAEx(IAinstInfoPtr info) +{ + char buf[40]; + + symAddrtoName(ip, buf, 4, NO, -32); + progStop("Stopping at %s -- unimplemented IA-32 instruction\n", buf); + /*NOTREACHED*/ + return StSuccess; +} + +/* extra function for reserved instructions */ +/* ARGSUSED */ +Status reservedIAEx(IAinstInfoPtr info) +{ + char buf[40]; + + /* XXX - need to cause fault */ + symAddrtoName(ip, buf, 4, NO, -32); + progExit("Stopping at %s -- reserved IA-32 instruction\n", buf); + /*NOTREACHED*/ + return StSuccess; +} diff --git a/src/ia_exec.h b/src/ia_exec.h new file mode 100644 index 0000000..6e5745a --- /dev/null +++ b/src/ia_exec.h @@ -0,0 +1,222 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Execution Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_EXEC_H +#define _SKI_IA_EXEC_H + +#define IPfromEIP(eip) ((ADDR)((ADDR4)(eip) + (ADDR4)CSD.base)) +#define EIPfromIP(ip) ((ADDR4)(ip) - (ADDR4)CSD.base) + +#define OpAddrSizeMask 0x1 +#define StackAddrSizeMask 0x2 + +#define OpAddrSize(mode) (((mode) & OpAddrSizeMask) * 2 + 2) +#define StackAddrSize(mode) (((mode) & StackAddrSizeMask) + 2) + +/* Separate byte-per-flag for frequently accessed parts of EFLAGS. + * Copied in to/out of real EFLAGS on transitions to/from EM mode by + * eflagsFromArithFlags() & arithFlagsFromEflags(). + */ + +typedef struct { + BYTE of; + BYTE sf; + BYTE zf; + BYTE af; + BYTE pf; + BYTE cf; +} ArithFlags, *ArithFlagsPtr; + +/* IA Execution Utility Function Prototypes */ + +void setIAmode(void); +BYTE getIAmode(void); +void eflagsFromArithFlags(void); +void arithFlagsFromEflags(void); +void setEIPfromIP(void); +void setSegGRsFromARs(void); +void setSegARsFromGRs(void); + +/* IA Execution Function Prototypes */ + +/* These are in alphabetical order with one function corresponding to each + * "instruction page" in the Pentium Pro Programmer's Reference Manual. + * The functions use the names in the manual, in lower-case, with "IAEx" + * appended. Some "special" functions (like reserved & unimp) are at the + * end of the list. + */ + +Status aaaIAEx(IAinstInfoPtr info); +Status aadIAEx(IAinstInfoPtr info); +Status aamIAEx(IAinstInfoPtr info); +Status aasIAEx(IAinstInfoPtr info); +Status adcIAEx(IAinstInfoPtr info); +Status addIAEx(IAinstInfoPtr info); +Status andIAEx(IAinstInfoPtr info); +Status arplIAEx(IAinstInfoPtr info); +Status boundIAEx(IAinstInfoPtr info); +Status bsfIAEx(IAinstInfoPtr info); +Status bsrIAEx(IAinstInfoPtr info); +Status bswapIAEx(IAinstInfoPtr info); +Status btIAEx(IAinstInfoPtr info); +Status btcIAEx(IAinstInfoPtr info); +Status btrIAEx(IAinstInfoPtr info); +Status btsIAEx(IAinstInfoPtr info); +/* call has been split into 4 functions */ +Status call_near_relIAEx(IAinstInfoPtr info); +Status call_near_indIAEx(IAinstInfoPtr info); +Status call_far_absIAEx(IAinstInfoPtr info); +Status call_far_indIAEx(IAinstInfoPtr info); +Status cbwIAEx(IAinstInfoPtr info); +Status clcIAEx(IAinstInfoPtr info); +Status cldIAEx(IAinstInfoPtr info); +Status cliIAEx(IAinstInfoPtr info); +Status cltsIAEx(IAinstInfoPtr info); +Status cmcIAEx(IAinstInfoPtr info); +Status cmovccIAEx(IAinstInfoPtr info); +Status cmpIAEx(IAinstInfoPtr info); +Status cmpsIAEx(IAinstInfoPtr info); +Status cmpxchgIAEx(IAinstInfoPtr info); +Status cmpxchg8bIAEx(IAinstInfoPtr info); +Status cpuidIAEx(IAinstInfoPtr info); +Status cwdIAEx(IAinstInfoPtr info); +Status daaIAEx(IAinstInfoPtr info); +Status dasIAEx(IAinstInfoPtr info); +Status decIAEx(IAinstInfoPtr info); +Status divIAEx(IAinstInfoPtr info); +Status enterIAEx(IAinstInfoPtr info); +/* XXX - add FP ops */ +Status hltIAEx(IAinstInfoPtr info); +Status idivIAEx(IAinstInfoPtr info); +Status imulIAEx(IAinstInfoPtr info); +Status inIAEx(IAinstInfoPtr info); +Status incIAEx(IAinstInfoPtr info); +Status insIAEx(IAinstInfoPtr info); +Status intIAEx(IAinstInfoPtr info); +Status intoIAEx(IAinstInfoPtr info); +Status invdIAEx(IAinstInfoPtr info); +Status invlpgIAEx(IAinstInfoPtr info); +Status iretIAEx(IAinstInfoPtr info); +Status jccIAEx(IAinstInfoPtr info); +/* jmp has been split into 4 functions */ +Status jmp_near_relIAEx(IAinstInfoPtr info); +Status jmp_near_indIAEx(IAinstInfoPtr info); +Status jmp_far_absIAEx(IAinstInfoPtr info); +Status jmp_far_indIAEx(IAinstInfoPtr info); +/* jmpe has been split into 2 functions */ +Status jmpe_relIAEx(IAinstInfoPtr info); +Status jmpe_indIAEx(IAinstInfoPtr info); +Status lahfIAEx(IAinstInfoPtr info); +Status larIAEx(IAinstInfoPtr info); +Status leaIAEx(IAinstInfoPtr info); +Status leaveIAEx(IAinstInfoPtr info); +Status lgdtIAEx(IAinstInfoPtr info); +Status lidtIAEx(IAinstInfoPtr info); +Status lldtIAEx(IAinstInfoPtr info); +Status lmswIAEx(IAinstInfoPtr info); +Status load_far_ptrIAEx(IAinstInfoPtr info); +Status lockIAEx(IAinstInfoPtr info); +Status lodsIAEx(IAinstInfoPtr info); +Status loopIAEx(IAinstInfoPtr info); +Status lslIAEx(IAinstInfoPtr info); +Status ltrIAEx(IAinstInfoPtr info); +Status movIAEx(IAinstInfoPtr info); +Status movCRIAEx(IAinstInfoPtr info); +Status movDRIAEx(IAinstInfoPtr info); +Status movsIAEx(IAinstInfoPtr info); +/* movsx has been split into 2 functions */ +Status movsx8IAEx(IAinstInfoPtr info); +Status movsx16IAEx(IAinstInfoPtr info); +/* movzx has been split into 2 functions */ +Status movzx8IAEx(IAinstInfoPtr info); +Status movzx16IAEx(IAinstInfoPtr info); +Status mulIAEx(IAinstInfoPtr info); +Status negIAEx(IAinstInfoPtr info); +Status nopIAEx(IAinstInfoPtr info); +Status notIAEx(IAinstInfoPtr info); +Status orIAEx(IAinstInfoPtr info); +Status outIAEx(IAinstInfoPtr info); +Status outsIAEx(IAinstInfoPtr info); +Status popIAEx(IAinstInfoPtr info); +Status popaIAEx(IAinstInfoPtr info); +Status popfIAEx(IAinstInfoPtr info); +Status pushIAEx(IAinstInfoPtr info); +Status pushaIAEx(IAinstInfoPtr info); +Status pushfIAEx(IAinstInfoPtr info); +Status rclIAEx(IAinstInfoPtr info); +Status rcrIAEx(IAinstInfoPtr info); +Status rdmsrIAEx(IAinstInfoPtr info); +Status rdpmcIAEx(IAinstInfoPtr info); +Status rdtscIAEx(IAinstInfoPtr info); +/* rep has one function per string instruction */ +Status rep_insIAEx(IAinstInfoPtr info); +Status rep_lodsIAEx(IAinstInfoPtr info); +Status rep_movsIAEx(IAinstInfoPtr info); +Status rep_outsIAEx(IAinstInfoPtr info); +Status rep_stosIAEx(IAinstInfoPtr info); +Status repe_cmpsIAEx(IAinstInfoPtr info); +Status repe_scasIAEx(IAinstInfoPtr info); +Status repne_cmpsIAEx(IAinstInfoPtr info); +Status repne_scasIAEx(IAinstInfoPtr info); +Status ret_nearIAEx(IAinstInfoPtr info); +Status ret_farIAEx(IAinstInfoPtr info); +Status rolIAEx(IAinstInfoPtr info); +Status rorIAEx(IAinstInfoPtr info); +Status rsmIAEx(IAinstInfoPtr info); +Status sahfIAEx(IAinstInfoPtr info); +Status salIAEx(IAinstInfoPtr info); +Status sarIAEx(IAinstInfoPtr info); +Status sbbIAEx(IAinstInfoPtr info); +Status scasIAEx(IAinstInfoPtr info); +Status setccIAEx(IAinstInfoPtr info); +Status sgdtIAEx(IAinstInfoPtr info); +Status shlIAEx(IAinstInfoPtr info); +Status shld_immIAEx(IAinstInfoPtr info); +Status shld_CLIAEx(IAinstInfoPtr info); +Status shrIAEx(IAinstInfoPtr info); +Status shrd_immIAEx(IAinstInfoPtr info); +Status shrd_CLIAEx(IAinstInfoPtr info); +Status sidtIAEx(IAinstInfoPtr info); +Status sldtIAEx(IAinstInfoPtr info); +Status smswIAEx(IAinstInfoPtr info); +Status stcIAEx(IAinstInfoPtr info); +Status stdIAEx(IAinstInfoPtr info); +Status stiIAEx(IAinstInfoPtr info); +Status stosIAEx(IAinstInfoPtr info); +Status strIAEx(IAinstInfoPtr info); +Status subIAEx(IAinstInfoPtr info); +Status testIAEx(IAinstInfoPtr info); +Status ud2IAEx(IAinstInfoPtr info); +Status verrIAEx(IAinstInfoPtr info); +Status verwIAEx(IAinstInfoPtr info); +Status waitIAEx(IAinstInfoPtr info); +Status wbinvdIAEx(IAinstInfoPtr info); +Status wrmsrIAEx(IAinstInfoPtr info); +Status xaddIAEx(IAinstInfoPtr info); +Status xchgIAEx(IAinstInfoPtr info); +Status xlatIAEx(IAinstInfoPtr info); +Status xorIAEx(IAinstInfoPtr info); + +/* "special" functions */ +Status unimpIAEx(IAinstInfoPtr info); +Status reservedIAEx(IAinstInfoPtr info); + +#endif /* _SKI_IA_EXEC_H */ diff --git a/src/ia_read.c b/src/ia_read.c new file mode 100644 index 0000000..f03e691 --- /dev/null +++ b/src/ia_read.c @@ -0,0 +1,524 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Read Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_exec.h" +#include "ia_read.h" + +/* ARGSUSED */ +Status immIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + *val = info->imm32; + return 1; +} + +static Status r8IARd(BYTE reg, IADWORD *val) +{ + switch (reg) { + case AL_REG: + *val = AL; + break; + case CL_REG: + *val = CL; + break; + case DL_REG: + *val = DL; + break; + case BL_REG: + *val = BL; + break; + case AH_REG: + *val = AH; + break; + case CH_REG: + *val = CH; + break; + case DH_REG: + *val = DH; + break; + case BH_REG: + *val = BH; + break; + } + return 1; +} + +static Status r16IARd(BYTE reg, IADWORD *val) +{ + switch (reg) { + case AX_REG: + *val = AX; + break; + case CX_REG: + *val = CX; + break; + case DX_REG: + *val = DX; + break; + case BX_REG: + *val = BX; + break; + case SP_REG: + *val = SP; + break; + case BP_REG: + *val = BP; + break; + case SI_REG: + *val = SI; + break; + case DI_REG: + *val = DI; + break; + case NO_REG: + *val = 0; + break; + } + return 1; +} + +static Status r32IARd(BYTE reg, IADWORD *val) +{ + switch (reg) { + case EAX_REG: + *val = EAX; + break; + case ECX_REG: + *val = ECX; + break; + case EDX_REG: + *val = EDX; + break; + case EBX_REG: + *val = EBX; + break; + case ESP_REG: + *val = ESP; + break; + case EBP_REG: + *val = EBP; + break; + case ESI_REG: + *val = ESI; + break; + case EDI_REG: + *val = EDI; + break; + case NO_REG: + *val = 0; + break; + } + return 1; +} + +/* ARGSUSED */ +Status reg8IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r8IARd(info->reg, val); +} + +/* ARGSUSED */ +Status reg16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r16IARd(info->reg, val); +} + +/* ARGSUSED */ +Status reg32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r32IARd(info->reg, val); +} + +/* ARGSUSED */ +Status base8IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r8IARd(info->base, val); +} + +/* ARGSUSED */ +Status base16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r16IARd(info->base, val); +} + +/* ARGSUSED */ +Status base32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + return r32IARd(info->base, val); +} + +/* ARGSUSED */ +Status segRegIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + *val = SEGREG(info->reg + ES_ID); + return 1; +} + +/* ARGSUSED */ +Status segRegUpdateIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + /* XXX - add protected mode & VM86 checks */ + *val = SEGREG(info->cond_seg + ES_ID); + return 1; +} + +/* 16-bit Addressing Read Functions */ + +Status modrm16_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR2 ofs; + + (void)r16IARd(info->base, &base); + (void)r16IARd(info->index, &index); + ofs = base + index + info->disp32; + return memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val); +} + +Status load_far_ptr_16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR2 ofs; + + (void)r16IARd(info->base, &base); + (void)r16IARd(info->index, &index); + ofs = base + index + info->disp32; + return memIARd(info->segment, ofs, info->opSize + 2, acc, adr, adr2, val); +} + +Status lea16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR2 ofs; + + (void)r16IARd(info->base, &base); + (void)r16IARd(info->index, &index); + ofs = base + index + info->disp32; + *val = ofs; + return 1; +} + +Status bound16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR2 ofs, ofs2; + + (void)r16IARd(info->base, &base); + (void)r16IARd(info->index, &index); + ofs = base + index + info->disp32; /* lower bound */ + ofs2 = base + index + info->disp32 + info->opSize; /* upper bound */ + if (!memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val)) + return 0; + return memIARd(info->segment, ofs2, info->opSize, acc, adr, adr2, val + 1); +} + +Status push_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)(SP - info->opSize); + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status pop_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)SP; + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status pusha_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)(SP - 8 * info->opSize); + return memIARd(SS_ID, ofs, 8 * info->opSize, acc, adr, adr2, val); +} + +Status popa_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)SP; + return memIARd(SS_ID, ofs, 8 * info->opSize, acc, adr, adr2, val); +} + +Status str_siIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)SI; + return memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val); +} + +Status str_diIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR2 ofs; + + ofs = (ADDR2)DI; + return memIARd(ES_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +/* 32-bit Addressing Read Functions */ + +Status modrm32_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + index + info->disp32; + return memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val); +} + +Status load_far_ptr_32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + index + info->disp32; + return memIARd(info->segment, ofs, info->opSize + 2, acc, adr, adr2, val); +} + +Status sib_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + (index * info->scale) + info->disp32; + return memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val); +} + +Status load_far_ptr_sibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + (index * info->scale) + info->disp32; + return memIARd(info->segment, ofs, info->opSize + 2, acc, adr, adr2, val); +} + +Status lea32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + index + info->disp32; + *val = ofs; + return 1; +} + +Status bound32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs, ofs2; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + index + info->disp32; /* lower bound */ + ofs2 = base + index + info->disp32 + info->opSize; /* upper bound */ + if (!memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val)) + return 0; + return memIARd(info->segment, ofs2, info->opSize, acc, adr, adr2, val + 1); +} + +Status leaSibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + (index * info->scale) + info->disp32; + *val = ofs; + return 1; +} + +Status boundSibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + IADWORD base, index; + ADDR4 ofs, ofs2; + + (void)r32IARd(info->base, &base); + (void)r32IARd(info->index, &index); + ofs = base + (index * info->scale) + info->disp32; + ofs2 = base + (index * info->scale) + info->disp32 + info->opSize; + if (!memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val)) + return 0; + return memIARd(info->segment, ofs2, info->opSize, acc, adr, adr2, val + 1); +} + +Status push_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)(ESP - info->opSize); + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status pop_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)ESP; + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status pusha_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)(ESP - 8 * info->opSize); + return memIARd(SS_ID, ofs, 8 * info->opSize, acc, adr, adr2, val); +} + +Status popa_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)ESP; + return memIARd(SS_ID, ofs, 8 * info->opSize, acc, adr, adr2, val); +} + +Status str_esiIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)ESI; + return memIARd(info->segment, ofs, info->opSize, acc, adr, adr2, val); +} + +Status str_ediIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + ofs = (ADDR4)EDI; + return memIARd(ES_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +/* Special Read Functions */ + +Status call_farIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + if (StackAddrSize(info->mode) == IA16) + ofs = (ADDR2)(SP - (2 * info->opSize)); + else + ofs = (ADDR4)(ESP - (2 * info->opSize)); + + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status iretIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + if (StackAddrSize(info->mode) == IA16) + ofs = (ADDR2)(SP + 2 * info->opSize); + else + ofs = (ADDR4)(ESP + 2 * info->opSize); + + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status ret_farIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + if (StackAddrSize(info->mode) == IA16) + ofs = (ADDR2)(SP + info->opSize); + else + ofs = (ADDR4)(ESP + info->opSize); + + return memIARd(SS_ID, ofs, info->opSize, acc, adr, adr2, val); +} + +Status xlatIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2) +{ + ADDR4 ofs; + + if (info->addrSize == IA16) + ofs = (ADDR2)(BX + AL); + else + ofs = (ADDR4)(EBX + AL); + + return memIARd(info->segment, ofs, 1, acc, adr, adr2, val); +} diff --git a/src/ia_read.h b/src/ia_read.h new file mode 100644 index 0000000..826a995 --- /dev/null +++ b/src/ia_read.h @@ -0,0 +1,98 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Read Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_READ_H +#define _SKI_IA_READ_H + +Status immIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status reg8IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status reg16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status reg32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status base8IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status base16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status base32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status segRegIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status segRegUpdateIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status modrm16_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status load_far_ptr_16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status lea16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status bound16IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status push_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status pop_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status pusha_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status popa_spIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val + , ADDR *adr, ADDR *adr2); +Status str_siIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status str_diIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status modrm32_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status load_far_ptr_32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status sib_dispIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status load_far_ptr_sibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status lea32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status leaSibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status bound32IARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status boundSibIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status push_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status pop_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status pusha_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status popa_espIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status str_esiIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status str_ediIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status call_farIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status ret_farIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); +Status xlatIARd(IAinstInfoPtr info, Accesstype acc, IADWORD *val, + ADDR *adr, ADDR *adr2); + +#endif /* _SKI_IA_READ_H */ diff --git a/src/ia_state.h b/src/ia_state.h new file mode 100644 index 0000000..3571e21 --- /dev/null +++ b/src/ia_state.h @@ -0,0 +1,112 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator iA State Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_STATE_H +#define _SKI_IA_STATE_H + +/* mapping of iA state onto IA-64 GRs */ +/* XXX - the following definitions work on a BIG-ENDIAN host only */ + +#define IA64_EAX grs[EAX_ID].val +#define AL BitfR(IA64_EAX, 56, 8) +#define AH BitfR(IA64_EAX, 48, 8) +#define AX BitfR(IA64_EAX, 48, 16) +#define EAX BitfR(IA64_EAX, 32, 32) + +#define IA64_ECX grs[ECX_ID].val +#define CL BitfR(IA64_ECX, 56, 8) +#define CH BitfR(IA64_ECX, 48, 8) +#define CX BitfR(IA64_ECX, 48, 16) +#define ECX BitfR(IA64_ECX, 32, 32) + +#define IA64_EDX grs[EDX_ID].val +#define DL BitfR(IA64_EDX, 56, 8) +#define DH BitfR(IA64_EDX, 48, 8) +#define DX BitfR(IA64_EDX, 48, 16) +#define EDX BitfR(IA64_EDX, 32, 32) + +#define IA64_EBX grs[EBX_ID].val +#define BL BitfR(IA64_EBX, 56, 8) +#define BH BitfR(IA64_EBX, 48, 8) +#define BX BitfR(IA64_EBX, 48, 16) +#define EBX BitfR(IA64_EBX, 32, 32) + +#define IA64_ESP grs[ESP_ID].val +#define IASP BitfR(IA64_ESP, 48, 16) +#define ESP BitfR(IA64_ESP, 32, 32) + +#define IA64_EBP grs[EBP_ID].val +#define BP BitfR(IA64_EBP, 48, 16) +#define EBP BitfR(IA64_EBP, 32, 32) + +#define IA64_ESI grs[ESI_ID].val +#define SI BitfR(IA64_ESI, 48, 16) +#define ESI BitfR(IA64_ESI, 32, 32) + +#define IA64_EDI grs[EDI_ID].val +#define DI BitfR(IA64_EDI, 48, 16) +#define EDI BitfR(IA64_EDI, 32, 32) + +#define SEGREG(id) BitfR(grs[(id)].val, 48, 16) +#define ES BitfR(grs[ES_ID].val, 48, 16) +#define CS BitfR(grs[CS_ID].val, 48, 16) +#define SS BitfR(grs[SS_ID].val, 48, 16) +#define DS BitfR(grs[DS_ID].val, 48, 16) +#define FS BitfR(grs[FS_ID].val, 48, 16) +#define GS BitfR(grs[GS_ID].val, 48, 16) + +#define LDT BitfR(grs[LDT_ID].val, 48, 16) + +#define SEGD(id) (*(IASegDescPtr)&grs[id+8].val) +#define ESD (*(IASegDescPtr)&grs[ESD_ID].val) +#define CSD (*(IASegDescPtr)&grs[CSD_ID].val) +#define SSD (*(IASegDescPtr)&grs[SSD_ID].val) +#define DSD (*(IASegDescPtr)&grs[DSD_ID].val) +#define FSD (*(IASegDescPtr)&grs[FSD_ID].val) +#define GSD (*(IASegDescPtr)&grs[GSD_ID].val) + +#define LDTD (*(IASegDescPtr)&grs[LDTD_ID].val) +#define GDTD (*(IASegDescPtr)&grs[GDTD_ID].val) + +/* mapping of iA state onto IA-64 ARs */ +#define IOBASE ars[IOBASE_ID] +#define TSS BitfR(ars[TSS_ID], 48, 16) +#define TSSD (*(IASegDescPtr)&ars[TSSD_ID]) +#define IDTD (*(IASegDescPtr)&ars[IDTD_ID]) +#define CR3_CR2 (*(IAcr3cr2Ptr)&ars[CR3_CR2_ID]) +#define DR6_DR7 (*(IAdr6dr7Ptr)&ars[DR6_DR7_ID]) +#define EFLAGS (*(IAeflagsPtr)&ars[EFLAGS_ID]) +#define CSD_AR (*(IASegDescPtr)&ars[CSD_AR_ID]) +#define SSD_AR (*(IASegDescPtr)&ars[SSD_AR_ID]) +#define CFLG (*(IAcflgPtr)&ars[CFLG_ID]) +#define FSR ars[FSR_ID] +#define FIR ars[FIR_ID] +#define FDR ars[FDR_ID] + +/* EIP */ +extern ADDR4 EIP; + +#define JMPE_RP grs[1].val + +extern BOOL dosABI; +extern ADDR ioportBase; + +#endif /* _SKI_IA_STATE_H */ diff --git a/src/ia_types.h b/src/ia_types.h new file mode 100644 index 0000000..d4846d9 --- /dev/null +++ b/src/ia_types.h @@ -0,0 +1,189 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator iA Datatypes + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_TYPES_H +#define _SKI_IA_TYPES_H + +#define IA16 2 +#define IA32 4 + +#define AL_REG 0 +#define CL_REG 1 +#define DL_REG 2 +#define BL_REG 3 +#define AH_REG 4 +#define CH_REG 5 +#define DH_REG 6 +#define BH_REG 7 + +#define AX_REG 0 +#define CX_REG 1 +#define DX_REG 2 +#define BX_REG 3 +#define SP_REG 4 +#define BP_REG 5 +#define SI_REG 6 +#define DI_REG 7 + +#define EAX_REG 0 +#define ECX_REG 1 +#define EDX_REG 2 +#define EBX_REG 3 +#define ESP_REG 4 +#define EBP_REG 5 +#define ESI_REG 6 +#define EDI_REG 7 + +#define ES_REG 0 +#define CS_REG 1 +#define SS_REG 2 +#define DS_REG 3 +#define FS_REG 4 +#define GS_REG 5 + +#define NO_REG 8 + +#define JO_COND 0x0 +#define JNO_COND 0x1 +#define JB_COND 0x2 +#define JNB_COND 0x3 +#define JZ_COND 0x4 +#define JNZ_COND 0x5 +#define JBE_COND 0x6 +#define JNBE_COND 0x7 +#define JS_COND 0x8 +#define JNS_COND 0x9 +#define JP_COND 0xA +#define JNP_COND 0xB +#define JL_COND 0xC +#define JNL_COND 0xD +#define JLE_COND 0xE +#define JNLE_COND 0xF +#define JCXZ_COND 0x10 + +#define LOOPNZ_COND 0x0 +#define LOOPZ_COND 0x1 +#define LOOP_COND 0x2 + +#define DISP16_RM 6 +#define DISP32_RM 5 +#define SIB_RM 4 + +typedef unsigned long long IAQWORD; + +typedef signed char IASBYTE; +typedef short IASWORD; +typedef int IASDWORD; +typedef long long IASQWORD; + +typedef unsigned short ADDR2; +typedef unsigned ADDR4; + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char mod:2; + unsigned char reg_op:3; + unsigned char rm:3; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char rm:3; + unsigned char reg_op:3; + unsigned char mod:2; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} ModRM; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char ss:2; + unsigned char index:3; + unsigned char base:3; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char base:3; + unsigned char index:3; + unsigned char ss:2; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} SIB; + +#define NOLOCK 0 +#define LOCK 1 + +#define NOREP 0 +#define REP 1 +#define REPE 2 +#define REPNE 3 + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char op0F:1; + unsigned char lock:1; + unsigned char rep:2; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char rep:2; + unsigned char lock:1; + unsigned char op0F:1; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} LockRep; /* XXX - rename this */ + +struct ia_instinfo; + +/* read function */ +typedef Status (*PIARF)(struct ia_instinfo *, Accesstype, IADWORD *, ADDR *, + ADDR *); +/* write function */ +typedef void (*PIAWF)(struct ia_instinfo *, IADWORD, ADDR, ADDR); +/* execute function */ +typedef Status (*PIAEF)(struct ia_instinfo *); +/* disassembly function */ +typedef void (*PIADASF)(struct ia_instinfo *, char *); + +typedef struct ia_instinfo { + IADWORD imm32; + IADWORD disp32; + PIAEF execFn; + PIARF srcRdFn; + PIARF destRdFn; + PIAWF destWrFn; + PIADASF dasFn; + ModRM modrm; /* original ModR/M byte for disassembly */ + BYTE reg; /* reg/opcode field of ModR/M byte or opcode byte */ + BYTE scale; /* scale value of SIB byte (1, 2, 4, or 8) */ + BYTE index; /* index value of SIB byte */ + BYTE base; /* base field of SIB or R/M field of ModR/M (mod 3) */ + BYTE cond_seg; /* Jcc, SETcc, CMOVcc or LOOP condition/seg target */ + BYTE delta; /* IP offset to next instruction */ + LockRep lock_rep; /* lock & rep overrides */ + BYTE segment; /* segment reg ID - including overrides, if any */ + BYTE opSize; /* operand size - including overrides, if any */ + BYTE addrSize; /* address size - including overrides, if any */ + BYTE mode; /* IA16/IA32 mode in effect when instr was decoded */ +} IAinstInfo, *IAinstInfoPtr; + +typedef struct { + BYTE base; /* base register */ + BYTE index; /* index register */ + BYTE defSeg; /* default segment */ + char *fmt; /* disassembly format string */ +} EaInfo, *EaInfoPtr; + +#endif /* _SKI_IA_TYPES_H */ diff --git a/src/ia_types.sed b/src/ia_types.sed new file mode 100755 index 0000000..335b4b3 --- /dev/null +++ b/src/ia_types.sed @@ -0,0 +1,7 @@ +/typedef.*PIAWF/d +/typedef.*PIAEF/d +s/Status/int/ +s/Accesstype/int/ +s/ PIARF/ int/ +s/PIAWF/int/ +s/PIAEF/int/ diff --git a/src/ia_write.c b/src/ia_write.c new file mode 100644 index 0000000..9685042 --- /dev/null +++ b/src/ia_write.c @@ -0,0 +1,213 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Write Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_exec.h" + + +static void r8IAWr(BYTE reg, IADWORD val) +{ + switch (reg) { + case AL_REG: + AL = val; + break; + case CL_REG: + CL = val; + break; + case DL_REG: + DL = val; + break; + case BL_REG: + BL = val; + break; + case AH_REG: + AH = val; + break; + case CH_REG: + CH = val; + break; + case DH_REG: + DH = val; + break; + case BH_REG: + BH = val; + break; + } +} + +static void r16IAWr(BYTE reg, IADWORD val) +{ + switch (reg) { + case AX_REG: + AX = val; + break; + case CX_REG: + CX = val; + break; + case DX_REG: + DX = val; + break; + case BX_REG: + BX = val; + break; + case SP_REG: + IASP = val; + break; + case BP_REG: + BP = val; + break; + case SI_REG: + SI = val; + break; + case DI_REG: + DI = val; + break; + } +} + +static void r32IAWr(BYTE reg, IADWORD val) +{ + switch (reg) { + case EAX_REG: + EAX = val; + break; + case ECX_REG: + ECX = val; + break; + case EDX_REG: + EDX = val; + break; + case EBX_REG: + EBX = val; + break; + case ESP_REG: + ESP = val; + break; + case EBP_REG: + EBP = val; + break; + case ESI_REG: + ESI = val; + break; + case EDI_REG: + EDI = val; + break; + } +} + +/* ARGSUSED */ +void reg8IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r8IAWr(info->reg, val); +} + +/* ARGSUSED */ +void reg16IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r16IAWr(info->reg, val); +} + +/* ARGSUSED */ +void reg32IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r32IAWr(info->reg, val); +} + +void regIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + switch (info->opSize) { + case 1: + reg8IAWr(info, val, adr, adr2); + break; + case 2: + reg16IAWr(info, val, adr, adr2); + break; + case 4: + reg32IAWr(info, val, adr, adr2); + break; + } +} + +/* ARGSUSED */ +void base8IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r8IAWr(info->base, val); +} + +/* ARGSUSED */ +void base16IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r16IAWr(info->base, val); +} + +/* ARGSUSED */ +void base32IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + r32IAWr(info->base, val); +} + +/* ARGSUSED */ +void segRegIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + SEGREG(info->cond_seg + ES_ID) = val; + /* XXX - add protected mode & VM86 execution */ + SEGD(info->cond_seg + ES_ID).base = val << 4; + SEGD(info->cond_seg + ES_ID).lim = 0xffff; +} + +void memIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + memIAWrt(info->opSize, adr, adr2, val); +} + +void push_spIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + SP -= info->opSize; + memIAWrt(info->opSize, adr, adr2, val); +} + +void push_espIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + ESP -= info->opSize; + memIAWrt(info->opSize, adr, adr2, val); +} + +void pusha_spIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + memIAWrt(8 * info->opSize, adr, adr2, val); +} + +void pusha_espIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2) +{ + memIAWrt(8 * info->opSize, adr, adr2, val); +} diff --git a/src/ia_write.h b/src/ia_write.h new file mode 100644 index 0000000..8388c06 --- /dev/null +++ b/src/ia_write.h @@ -0,0 +1,40 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator IA Instruction Read Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_WRITE_H +#define _SKI_IA_WRITE_H + +void immIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void reg8IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void reg16IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void reg32IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void regIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void base8IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void base16IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void base32IAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void segRegIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void memIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void push_spIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void push_espIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void pusha_spIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); +void pusha_espIAWr(IAinstInfoPtr info, IADWORD val, ADDR adr, ADDR adr2); + +#endif /* _SKI_IA_WRITE_H */ diff --git a/src/iadas_dec.sed b/src/iadas_dec.sed new file mode 100755 index 0000000..d3c9bd7 --- /dev/null +++ b/src/iadas_dec.sed @@ -0,0 +1,15 @@ +/"sim\.h"/a\ +#include "memui.h"\ +#include "iadas_types.h" +/"ia_exec\.h"/a\ +#include "ia_das.h" +s/ [^ ]*IARd/ 0/ +s/ [^ ]*IAWr/ 0/ +s/ [^ ]*IAEx/ 0/ +/Status iAinstFetchDecode/d +s/PIARF/int/ +s/PIAWF/int/ +s/PIAEF/int/ +s/iAinstFetchDecode/0/ +s/^BOOL ia_decode(/BOOL iadas_decode(/ +s/memIAIRd/memMIAIRd/ diff --git a/src/iadas_decoder.c b/src/iadas_decoder.c new file mode 100644 index 0000000..415c7f1 --- /dev/null +++ b/src/iadas_decoder.c @@ -0,0 +1,4580 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * IA Decoding Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include /* Just for INT_MIN as DECODE_FAILED? */ +#undef MIN +#undef MAX +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "sim.h" +#include "memui.h" +#include "iadas_types.h" +#include "ia_exec.h" +#include "ia_das.h" +#include "sign_ext.h" + +extern BYTE iAmode; + +#define DECODE_FAILED INT_MIN +#define overrideSize(x) ((x) ^= 6) /* flips between IA16 (2) & IA32 (4) */ + +typedef enum { + RegSrcEaDest, RegSrcNoDest, + EaSrcRegDest, EaSrcNoDest, + NoSrcEaDest, NoSrcRegDest, + LeaSrcRegDest, + LfpSrcRegDest, LfpSrcNoDest, + BoundSrcRegDest +} SrcDestType; + +typedef const struct { + int execFn; + BYTE opSize; + SrcDestType sdt; +} GroupInfo, *GroupInfoPtr; + +/* decode function */ +typedef int (*PIADF)(ADDR4, struct ia_instinfo *); + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info); +static const PIADF two_byte_opcode[256]; + + +/* Utility Functions */ + +/* Fetch and Assemble a "size"-byte Immediate */ + +static int iAimm(ADDR4 eip, IADWORD *val, BYTE size) +{ + BYTE imm[4]; + + if (!memMIAIRd(eip, imm, size)) + return DECODE_FAILED; + + switch (size) { + case 1: + *val = sign_ext32(imm[0], 8); + break; + case 2: + *val = sign_ext32(imm[1]<<8 | imm[0], 16); + break; + case 4: + *val = imm[3]<<24 | imm[2]<<16 | imm[1]<<8 | imm[0]; + break; + } + return size; +} + +/* SIB Decode Function */ + +static int sib_decode(ADDR4 eip, IAinstInfoPtr info, BYTE mod, + int *eaRdFn, int *eaWrFn, BYTE *defSeg) +{ + SIB sib; + int len = 1; + + if (!memMIAIRd(eip, (BYTE *)&sib, 1)) + return DECODE_FAILED; + + info->scale = 1 << sib.ss; + info->index = (sib.index == ESP_REG) ? NO_REG : sib.index; + info->base = sib.base; + + if (sib.base == ESP_REG) + *defSeg = SS_ID; + else if (sib.base == EBP_REG) + if (mod == 0) { /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = NO_REG; + *defSeg = DS_ID; + } else /* EBP */ + *defSeg = SS_ID; + else + *defSeg = DS_ID; + + *eaRdFn = 0; + *eaWrFn = 0; + return len; +} + +/* ModR/M Decode Tables */ + +static EaInfo ea16_info[3][8] = { /* Mod R/M */ + {{ BX_REG, SI_REG, DS_ID, "%s[bx][si]" }, /* 0 0 */ + { BX_REG, DI_REG, DS_ID, "%s[bx][di]" }, /* 0 1 */ + { BP_REG, SI_REG, SS_ID, "%s[bp][si]" }, /* 0 2 */ + { BP_REG, DI_REG, SS_ID, "%s[bp][di]" }, /* 0 3 */ + { SI_REG, NO_REG, DS_ID, "%s[si]" }, /* 0 4 */ + { DI_REG, NO_REG, DS_ID, "%s[di]" }, /* 0 5 */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 6 */ + { BX_REG, NO_REG, DS_ID, "%s[bx]" }}, /* 0 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 1 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 1 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 1 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 1 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 1 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 1 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 1 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }}, /* 1 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 2 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 2 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 2 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 2 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 2 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 2 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 2 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }} /* 2 7 */ +}; + +static EaInfo ea32_info[3][8] = { /* Mod R/M */ + {{ EAX_REG, NO_REG, DS_ID, "%s[eax]" }, /* 0 0 */ + { ECX_REG, NO_REG, DS_ID, "%s[ecx]" }, /* 0 1 */ + { EDX_REG, NO_REG, DS_ID, "%s[edx]" }, /* 0 2 */ + { EBX_REG, NO_REG, DS_ID, "%s[ebx]" }, /* 0 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 0 4 */ /* SIB */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 5 */ + { ESI_REG, NO_REG, DS_ID, "%s[esi]" }, /* 0 6 */ + { EDI_REG, NO_REG, DS_ID, "%s[edi]" }}, /* 0 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 1 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 1 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 1 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 1 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 1 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 1 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 1 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[edi]" }}, /* 1 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 2 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 2 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 2 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 2 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 2 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 2 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 2 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[eax]" }} /* 2 7 */ +}; + +EaInfoPtr ea16Info(ModRM modrm) +{ + if (modrm.mod < 3) + return &ea16_info[modrm.mod][modrm.rm]; + return 0; +} + +EaInfoPtr ea32Info(ModRM modrm) +{ + if (modrm.mod < 3) + return &ea32_info[modrm.mod][modrm.rm]; + return 0; +} + +/* ModR/M Decode Function */ + +static int modrm_decode(ADDR4 eip, IAinstInfoPtr info, int execFn, + PIADASF dasFn, SrcDestType sdt) +{ + int regRdFn, eaRdFn; + int regWrFn, eaWrFn; + ModRM modrm; + BYTE defSeg; + int len = 1; + + if (!memMIAIRd(eip, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + info->modrm = modrm; + info->reg = modrm.reg_op; + switch (info->opSize) { + case 1: + regRdFn = 0; + regWrFn = 0; + break; + case 2: + regRdFn = 0; + regWrFn = 0; + break; + case 4: + regRdFn = 0; + regWrFn = 0; + break; + } + + if (info->addrSize == IA16) { /* 16-bit addressing forms */ + switch (modrm.mod) { + case 0: + if (modrm.rm == DISP16_RM) /* disp16 */ + len += iAimm(eip+1, &info->disp32, 2); + else + info->disp32 = 0; + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = 0; + eaWrFn = 0; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 1: + case 2: + len += iAimm(eip+1, &info->disp32, modrm.mod); + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = 0; + eaWrFn = 0; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = 0; + eaWrFn = 0; + break; + case 2: + eaRdFn = 0; + eaWrFn = 0; + break; + case 4: + eaRdFn = 0; + eaWrFn = 0; + break; + } + break; + } + } else { /* 32-bit addressing forms */ + switch (modrm.mod) { + case 0: + info->disp32 = 0; + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + if (modrm.rm == DISP32_RM) /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = 0; + eaWrFn = 0; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + break; + case 1: + case 2: + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = 0; + eaWrFn = 0; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + len += iAimm(eip+1, &info->disp32, 3 * modrm.mod - 2); + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = 0; + eaWrFn = 0; + break; + case 2: + eaRdFn = 0; + eaWrFn = 0; + break; + case 4: + eaRdFn = 0; + eaWrFn = 0; + break; + } + break; + } + } + + /* fill in info src/dest rd/wr functions based on source/dest type */ + switch (sdt) { + case RegSrcEaDest: + info->srcRdFn = regRdFn; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case RegSrcNoDest: + info->srcRdFn = regRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case EaSrcRegDest: + info->srcRdFn = eaRdFn; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case EaSrcNoDest: + info->srcRdFn = eaRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case NoSrcEaDest: + info->srcRdFn = 0; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case NoSrcRegDest: + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LeaSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that just return the + * effective address */ + if (eaRdFn == 0) + info->srcRdFn = 0; + else if (eaRdFn == 0) + info->srcRdFn = 0; + else /* 0 */ + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == 0) + info->srcRdFn = 0; + else if (eaRdFn == 0) + info->srcRdFn = 0; + else /* 0 */ + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcNoDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == 0) + info->srcRdFn = 0; + else if (eaRdFn == 0) + info->srcRdFn = 0; + else /* 0 */ + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case BoundSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that read both bound + * values */ + if (eaRdFn == 0) + info->srcRdFn = 0; + else if (eaRdFn == 0) + info->srcRdFn = 0; + else /* 0 */ + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + } + if (!info->segment) /* no segment override or SIB */ + info->segment = defSeg; + info->execFn = execFn; + info->dasFn = dasFn; + return len; +} + +/* Decode a Reg, Imm Instruction */ + +static int iAregImm(ADDR4 eip, IAinstInfoPtr info, int execFn, + PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = 0; + switch (info->opSize) { + case 1: + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 2: + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 4: + info->destRdFn = 0; + info->destWrFn = 0; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +/* Decode a Reg Instruction */ + +static int iAreg(IAinstInfoPtr info, int execFn, PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = 0; + switch (info->opSize) { + case 1: + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 2: + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 4: + info->destRdFn = 0; + info->destWrFn = 0; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Reg, Reg Instruction */ + +static int iAregReg(IAinstInfoPtr info, int execFn, PIADASF dasFn, + BYTE dest, BYTE src) +{ + switch (info->opSize) { + case 1: + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 2: + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case 4: + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + break; + } + info->base = dest; + info->reg = src; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Push Segment Register Instruction */ + +static int iApushSeg(IAinstInfoPtr info, BYTE src) +{ + info->srcRdFn = 0; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = push_seg_das; + return 1; +} + +/* Decode a Push Register Instruction */ + +static int iApushReg(IAinstInfoPtr info, BYTE src) +{ + if (info->opSize == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = push_reg_das; + return 1; +} + +/* Decode a Pop Segment Register Instruction */ + +static int iApopSeg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + info->cond_seg = dest; + info->execFn = 0; + info->dasFn = pop_seg_das; + return 1; +} + +/* Decode a Pop Register Instruction */ + +static int iApopReg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + if (info->opSize == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->reg = dest; + info->execFn = 0; + info->dasFn = pop_reg_das; + return 1; +} + + +/* One-Byte Opcode Decode Functions */ + +static int add_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 00 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, add_ExGx_das, RegSrcEaDest); +} + +static int add_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 01 */ +{ + return 1 + modrm_decode(eip+1, info, 0, add_ExGx_das, RegSrcEaDest); +} + +static int add_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 02 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, add_GxEx_das, EaSrcRegDest); +} + +static int add_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 03 */ +{ + return 1 + modrm_decode(eip+1, info, 0, add_GxEx_das, EaSrcRegDest); +} + +static int add_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 04 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, add_reg_imm_das, AL_REG); +} + +static int add_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 05 */ +{ + return iAregImm(eip, info, 0, add_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 06 */ +{ + return iApushSeg(info, ES_REG); +} + +/* ARGSUSED */ +static int pop_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 07 */ +{ + return iApopSeg(info, ES_REG); +} + +static int or_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 08 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, or_ExGx_das, RegSrcEaDest); +} + +static int or_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 09 */ +{ + return 1 + modrm_decode(eip+1, info, 0, or_ExGx_das, RegSrcEaDest); +} + +static int or_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, or_GxEx_das, EaSrcRegDest); +} + +static int or_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0B */ +{ + return 1 + modrm_decode(eip+1, info, 0, or_GxEx_das, EaSrcRegDest); +} + +static int or_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0C */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, or_reg_imm_das, AL_REG); +} + +static int or_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0D */ +{ + return iAregImm(eip, info, 0, or_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0E */ +{ + return iApushSeg(info, CS_REG); +} + +static int two_byte_escape(ADDR4 eip, IAinstInfoPtr info) /* 0F */ +{ + BYTE op2; + + if (!memMIAIRd(eip+1, &op2, 1)) + return DECODE_FAILED; + + return two_byte_opcode[op2](eip+1, info) + 1; +} + +static int adc_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 10 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, adc_ExGx_das, RegSrcEaDest); +} + +static int adc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 11 */ +{ + return 1 + modrm_decode(eip+1, info, 0, adc_ExGx_das, RegSrcEaDest); +} + +static int adc_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 12 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, adc_GxEx_das, EaSrcRegDest); +} + +static int adc_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 13 */ +{ + return 1 + modrm_decode(eip+1, info, 0, adc_GxEx_das, EaSrcRegDest); +} + +static int adc_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 14 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, adc_reg_imm_das, AL_REG); +} + +static int adc_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 15 */ +{ + return iAregImm(eip, info, 0, adc_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 16 */ +{ + return iApushSeg(info, SS_REG); +} + +/* ARGSUSED */ +static int pop_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 17 */ +{ + return iApopSeg(info, SS_REG); +} + +static int sbb_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 18 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, sbb_ExGx_das, RegSrcEaDest); +} + +static int sbb_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 19 */ +{ + return 1 + modrm_decode(eip+1, info, 0, sbb_ExGx_das, RegSrcEaDest); +} + +static int sbb_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, sbb_GxEx_das, EaSrcRegDest); +} + +static int sbb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1B */ +{ + return 1 + modrm_decode(eip+1, info, 0, sbb_GxEx_das, EaSrcRegDest); +} + +static int sbb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1C */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, sbb_reg_imm_das, AL_REG); +} + +static int sbb_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1D */ +{ + return iAregImm(eip, info, 0, sbb_reg_imm_das, EAX_REG); +} + +/* ARGSUSED */ +static int push_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1E */ +{ + return iApushSeg(info, DS_REG); +} + +/* ARGSUSED */ +static int pop_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1F */ +{ + return iApopSeg(info, DS_REG); +} + +static int and_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 20 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, and_ExGx_das, RegSrcEaDest); +} + +static int and_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 21 */ +{ + return 1 + modrm_decode(eip+1, info, 0, and_ExGx_das, RegSrcEaDest); +} + +static int and_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 22 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, and_GxEx_das, EaSrcRegDest); +} + +static int and_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 23 */ +{ + return 1 + modrm_decode(eip+1, info, 0, and_GxEx_das, EaSrcRegDest); +} + +static int and_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 24 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, and_reg_imm_das, AL_REG); +} + +static int and_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 25 */ +{ + return iAregImm(eip, info, 0, and_reg_imm_das, EAX_REG); +} + +static int seg_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 26 */ +{ + info->segment = ES_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int daa_decode(ADDR4 eip, IAinstInfoPtr info) /* 27 */ +{ + info->execFn = 0; + info->dasFn = daa_das; + return 1; +} + +static int sub_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 28 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, sub_ExGx_das, RegSrcEaDest); +} + +static int sub_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 29 */ +{ + return 1 + modrm_decode(eip+1, info, 0, sub_ExGx_das, RegSrcEaDest); +} + +static int sub_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, sub_GxEx_das, EaSrcRegDest); +} + +static int sub_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2B */ +{ + return 1 + modrm_decode(eip+1, info, 0, sub_GxEx_das, EaSrcRegDest); +} + +static int sub_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2C */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, sub_reg_imm_das, AL_REG); +} + +static int sub_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2D */ +{ + return iAregImm(eip, info, 0, sub_reg_imm_das, EAX_REG); +} + +static int seg_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 2E */ +{ + info->segment = CS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int das_decode(ADDR4 eip, IAinstInfoPtr info) /* 2F */ +{ + info->execFn = 0; + info->dasFn = das_das; + return 1; +} + +static int xor_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 30 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, xor_ExGx_das, RegSrcEaDest); +} + +static int xor_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 31 */ +{ + return 1 + modrm_decode(eip+1, info, 0, xor_ExGx_das, RegSrcEaDest); +} + +static int xor_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 32 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, xor_GxEx_das, EaSrcRegDest); +} + +static int xor_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 33 */ +{ + return 1 + modrm_decode(eip+1, info, 0, xor_GxEx_das, EaSrcRegDest); +} + +static int xor_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 34 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, xor_reg_imm_das, AL_REG); +} + +static int xor_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 35 */ +{ + return iAregImm(eip, info, 0, xor_reg_imm_das, EAX_REG); +} + +static int seg_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 36 */ +{ + info->segment = SS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aaa_decode(ADDR4 eip, IAinstInfoPtr info) /* 37 */ +{ + info->execFn = 0; + info->dasFn = aaa_das; + return 1; +} + +static int cmp_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 38 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, cmp_ExGx_das, RegSrcEaDest); +} + +static int cmp_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 39 */ +{ + return 1 + modrm_decode(eip+1, info, 0, cmp_ExGx_das, RegSrcEaDest); +} + +static int cmp_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, cmp_GxEx_das, EaSrcRegDest); +} + +static int cmp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3B */ +{ + return 1 + modrm_decode(eip+1, info, 0, cmp_GxEx_das, EaSrcRegDest); +} + +static int cmp_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3C */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, cmp_reg_imm_das, AL_REG); +} + +static int cmp_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3D */ +{ + return iAregImm(eip, info, 0, cmp_reg_imm_das, EAX_REG); +} + +static int seg_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 3E */ +{ + info->segment = DS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aas_decode(ADDR4 eip, IAinstInfoPtr info) /* 3F */ +{ + info->execFn = 0; + info->dasFn = aas_das; + return 1; +} + +/* ARGSUSED */ +static int inc_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 40 */ +{ + return iAreg(info, 0, inc_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int inc_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 41 */ +{ + return iAreg(info, 0, inc_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int inc_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 42 */ +{ + return iAreg(info, 0, inc_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int inc_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 43 */ +{ + return iAreg(info, 0, inc_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int inc_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 44 */ +{ + return iAreg(info, 0, inc_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int inc_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 45 */ +{ + return iAreg(info, 0, inc_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int inc_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 46 */ +{ + return iAreg(info, 0, inc_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int inc_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 47 */ +{ + return iAreg(info, 0, inc_reg_das, EDI_REG); +} + +/* ARGSUSED */ +static int dec_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 48 */ +{ + return iAreg(info, 0, dec_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int dec_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 49 */ +{ + return iAreg(info, 0, dec_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int dec_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4A */ +{ + return iAreg(info, 0, dec_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int dec_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4B */ +{ + return iAreg(info, 0, dec_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int dec_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4C */ +{ + return iAreg(info, 0, dec_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int dec_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4D */ +{ + return iAreg(info, 0, dec_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int dec_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4E */ +{ + return iAreg(info, 0, dec_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int dec_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4F */ +{ + return iAreg(info, 0, dec_reg_das, EDI_REG); +} + +/* ARGSUSED */ +static int push_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 50 */ +{ + return iApushReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int push_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 51 */ +{ + return iApushReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int push_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 52 */ +{ + return iApushReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int push_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 53 */ +{ + return iApushReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int push_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 54 */ +{ + return iApushReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int push_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 55 */ +{ + return iApushReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int push_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 56 */ +{ + return iApushReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int push_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 57 */ +{ + return iApushReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pop_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 58 */ +{ + return iApopReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int pop_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 59 */ +{ + return iApopReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int pop_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5A */ +{ + return iApopReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int pop_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5B */ +{ + return iApopReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int pop_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5C */ +{ + return iApopReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int pop_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5D */ +{ + return iApopReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int pop_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5E */ +{ + return iApopReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int pop_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5F */ +{ + return iApopReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pusha_decode(ADDR4 eip, IAinstInfoPtr info) /* 60 */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = pusha_das; + return 1; +} + +/* ARGSUSED */ +static int popa_decode(ADDR4 eip, IAinstInfoPtr info) /* 61 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = popa_das; + return 1; +} + +static int bound_GvMa_decode(ADDR4 eip, IAinstInfoPtr info) /* 62 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, bound_GvMa_das, + BoundSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int arpl_EwGw_decode(ADDR4 eip, IAinstInfoPtr info) /* 63 */ +{ + return 1 + modrm_decode(eip+1, info, 0, arpl_EwGw_das, + RegSrcEaDest); +} + +static int seg_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 64 */ +{ + info->segment = FS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int seg_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 65 */ +{ + info->segment = GS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int operand_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 66 */ +{ + overrideSize(info->opSize); + return ia_decode2(eip+1, info) + 1; +} + +static int address_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 67 */ +{ + overrideSize(info->addrSize); + return ia_decode2(eip+1, info) + 1; +} + +static int push_Iv_decode(ADDR4 eip, IAinstInfoPtr info) /* 68 */ +{ + info->srcRdFn = 0; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = push_imm_das; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +static int imul_GvEvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 69 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, imul_GvEvIv_das, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = 0; + len += iAimm(eip+len, &info->imm32, info->opSize); + return len; +} + +static int push_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* 6A */ +{ + info->srcRdFn = 0; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = push_imm_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int imul_GvEvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6B */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, imul_GvEvIb_das, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = 0; + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +/* ARGSUSED */ +static int insb_YbDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6C */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->destRdFn = 0; + else + info->destRdFn = 0; + info->destWrFn = 0; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = ins_YxDX_das; + return 1; +} + +/* ARGSUSED */ +static int insw_YvDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6D */ +{ + if (info->addrSize == IA16) + info->destRdFn = 0; + else + info->destRdFn = 0; + info->destWrFn = 0; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = ins_YxDX_das; + return 1; +} + +/* ARGSUSED */ +static int outsb_DXXb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6E */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = 0; + info->base = DX_REG; + info->destWrFn = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = outs_DXXx_das; + return 1; +} + +/* ARGSUSED */ +static int outsw_DXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* 6F */ +{ + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = 0; + info->base = DX_REG; + info->destWrFn = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = outs_DXXx_das; + return 1; +} + +static int jo_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 70 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jno_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 71 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 72 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 73 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 74 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 75 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 76 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 77 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int js_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 78 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jns_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 79 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static GroupInfo group1_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 */ + { 0, 0, NoSrcEaDest }, /* 1 */ + { 0, 0, NoSrcEaDest }, /* 2 */ + { 0, 0, NoSrcEaDest }, /* 3 */ + { 0, 0, NoSrcEaDest }, /* 4 */ + { 0, 0, NoSrcEaDest }, /* 5 */ + { 0, 0, NoSrcEaDest }, /* 6 */ + { 0, 0, NoSrcEaDest } /* 7 */ +}; + +static int group1_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 80 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int group1_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 81 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = 0; + return len; +} + +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ +static int movb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 82 */ +{ + info->execFn = 0; + info->dasFn = movb_ALIb_das; + return 1; +} + +static int group1_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 83 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + + len += modrm_decode(eip+1, info, gp->execFn, group1_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int test_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 84 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, test_ExGx_das, + RegSrcEaDest); +} + +static int test_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 85 */ +{ + return 1 + modrm_decode(eip+1, info, 0, test_ExGx_das, + RegSrcEaDest); +} + +static int xchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 86 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, xchg_ExGx_das, + RegSrcEaDest); +} + +static int xchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 87 */ +{ + return 1 + modrm_decode(eip+1, info, 0, xchg_ExGx_das, + RegSrcEaDest); +} + +static int mov_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 88 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, mov_ExGx_das, RegSrcEaDest); +} + +static int mov_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 89 */ +{ + return 1 + modrm_decode(eip+1, info, 0, mov_ExGx_das, RegSrcEaDest); +} + +static int mov_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 8A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, mov_GxEx_das, EaSrcRegDest); +} + +static int mov_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 8B */ +{ + return 1 + modrm_decode(eip+1, info, 0, mov_GxEx_das, EaSrcRegDest); +} + +static int mov_EwSw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8C */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if dest is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, 0, mov_EwSw_das, NoSrcEaDest); + info->srcRdFn = 0; + return len; +} + +static int lea_GvM_decode(ADDR4 eip, IAinstInfoPtr info) /* 8D */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, lea_GvM_das, LeaSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int mov_SwEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8E */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if src is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, 0, mov_SwEw_das, EaSrcNoDest); + info->destRdFn = 0; + info->destWrFn = 0; + if (info->reg == CS_REG || info->reg > GS_REG) + info->execFn = 0; + info->cond_seg = info->reg; + return len; +} + +static int pop_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* 8F */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, pop_Ev_das, NoSrcEaDest); + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + return len; +} + +/* ARGSUSED */ +static int nop_decode(ADDR4 eip, IAinstInfoPtr info) /* 90 */ +{ + info->execFn = 0; + info->dasFn = nop_das; + return 1; +} + +/* ARGSUSED */ +static int xchg_eAXeCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 91 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, ECX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 92 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, EDX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 93 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, EBX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 94 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, ESP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 95 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, EBP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 96 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, ESI_REG); +} + +static int xchg_eAXeDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 97 */ +{ + return iAregReg(info, 0, xchg_reg_reg_das, EAX_REG, EDI_REG); +} + +/* ARGSUSED */ +static int cbw_decode(ADDR4 eip, IAinstInfoPtr info) /* 98 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = 0; + info->destWrFn = 0; + } else { + info->srcRdFn = 0; + info->destWrFn = 0; + } + info->reg = EAX_REG; + info->execFn = 0; + info->dasFn = cbw_das; + return 1; +} + +/* ARGSUSED */ +static int cwd_decode(ADDR4 eip, IAinstInfoPtr info) /* 99 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = 0; + info->destWrFn = 0; + } else { + info->srcRdFn = 0; + info->destWrFn = 0; + } + info->reg = EAX_REG; + info->base = EDX_REG; + info->execFn = 0; + info->dasFn = cwd_das; + return 1; +} + +static int call_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* 9A */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->cond_seg = CS_REG; + info->execFn = 0; + info->dasFn = call_Ap_das; + return len; +} + +/* ARGSUSED */ +static int wait_decode(ADDR4 eip, IAinstInfoPtr info) /* 9B */ +{ + info->execFn = 0; + info->dasFn = wait_das; + return 1; +} + +/* ARGSUSED */ +static int pushf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9C */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = pushf_Fv_das; + return 1; +} + +/* ARGSUSED */ +static int popf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9D */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = popf_Fv_das; + return 1; +} + +/* ARGSUSED */ +static int sahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9E */ +{ + info->execFn = 0; + info->dasFn = sahf_das; + return 1; +} + +/* ARGSUSED */ +static int lahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9F */ +{ + info->execFn = 0; + info->dasFn = lahf_das; + return 1; +} + +static int mov_ALOb_decode(ADDR4 eip, IAinstInfoPtr info) /* A0 */ +{ + info->opSize = 1; + info->base = info->index = NO_REG; + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AL_REG; + info->execFn = 0; + info->dasFn = mov_reg_Ox_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_eAXOv_decode(ADDR4 eip, IAinstInfoPtr info) /* A1 */ +{ + info->base = info->index = NO_REG; + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { + info->destRdFn = 0; + info->destWrFn = 0; + } + info->reg = EAX_REG; + info->execFn = 0; + info->dasFn = mov_reg_Ox_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_ObAL_decode(ADDR4 eip, IAinstInfoPtr info) /* A2 */ +{ + info->opSize = 1; + info->srcRdFn = 0; + info->reg = AL_REG; + info->base = info->index = NO_REG; + info->destRdFn = 0; + info->destWrFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = 0; + info->dasFn = mov_Ox_reg_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_OveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* A3 */ +{ + if (info->opSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->reg = EAX_REG; + info->base = info->index = NO_REG; + info->destRdFn = 0; + info->destWrFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = 0; + info->dasFn = mov_Ox_reg_das; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int movsb_YbXb_decode(ADDR4 eip, IAinstInfoPtr info) /* A4 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = 0; + info->destRdFn = 0; + } else { + info->srcRdFn = 0; + info->destRdFn = 0; + } + info->destWrFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = movs_YxXx_das; + return 1; +} + +static int movsw_YvXv_decode(ADDR4 eip, IAinstInfoPtr info) /* A5 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = 0; + info->destRdFn = 0; + } else { + info->srcRdFn = 0; + info->destRdFn = 0; + } + info->destWrFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = movs_YxXx_das; + return 1; +} + +static int cmpsb_XbYb_decode(ADDR4 eip, IAinstInfoPtr info) /* A6 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = 0; + info->destRdFn = 0; + } else { + info->srcRdFn = 0; + info->destRdFn = 0; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = cmps_XxYx_das; + return 1; +} + +static int cmpsw_XvYv_decode(ADDR4 eip, IAinstInfoPtr info) /* A7 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = 0; + info->destRdFn = 0; + } else { + info->srcRdFn = 0; + info->destRdFn = 0; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = cmps_XxYx_das; + return 1; +} + +static int test_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* A8 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, test_reg_imm_das, AL_REG); +} + +static int test_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* A9 */ +{ + return iAregImm(eip, info, 0, test_reg_imm_das, EAX_REG); +} + +static int stosb_YbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* AA */ +{ + info->opSize = 1; + info->srcRdFn = 0; + info->reg = AL_REG; + if (info->addrSize == IA16) + info->destRdFn = 0; + else + info->destRdFn = 0; + info->destWrFn = 0; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = stos_Yx_reg_das; + return 1; +} + +static int stosw_YveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* AB */ +{ + if (info->opSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->reg = EAX_REG; + if (info->addrSize == IA16) + info->destRdFn = 0; + else + info->destRdFn = 0; + info->destWrFn = 0; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = stos_Yx_reg_das; + return 1; +} + +static int lodsb_ALXb_decode(ADDR4 eip, IAinstInfoPtr info) /* AC */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = lods_reg_Xx_das; + return 1; +} + +static int lodsw_eAXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* AD */ +{ + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { + info->destRdFn = 0; + info->destWrFn = 0; + } + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = lods_reg_Xx_das; + return 1; +} + +static int scasb_ALYb_decode(ADDR4 eip, IAinstInfoPtr info) /* AE */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->segment = ES_ID; + info->destRdFn = 0; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = scas_reg_Yx_das; + return 1; +} + +static int scasw_eAXYv_decode(ADDR4 eip, IAinstInfoPtr info) /* AF */ +{ + if (info->addrSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->segment = ES_ID; + if (info->opSize == IA16) + info->destRdFn = 0; + else + info->destRdFn = 0; + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = 0; + break; + case REPNE: + info->execFn = 0; + break; + default: + info->execFn = 0; + break; + } + info->dasFn = scas_reg_Yx_das; + return 1; +} + +static int mov_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B0 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, AL_REG); +} + +static int mov_CLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B1 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, CL_REG); +} + +static int mov_DLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B2 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, DL_REG); +} + +static int mov_BLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B3 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, BL_REG); +} + +static int mov_AHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B4 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, AH_REG); +} + +static int mov_CHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B5 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, CH_REG); +} + +static int mov_DHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B6 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, DH_REG); +} + +static int mov_BHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B7 */ +{ + info->opSize = 1; + return iAregImm(eip, info, 0, mov_reg_imm_das, BH_REG); +} + +static int mov_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B8 */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, EAX_REG); +} + +static int mov_eCXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B9 */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, ECX_REG); +} + +static int mov_eDXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BA */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, EDX_REG); +} + +static int mov_eBXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BB */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, EBX_REG); +} + +static int mov_eSPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BC */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, ESP_REG); +} + +static int mov_eBPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BD */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, EBP_REG); +} + +static int mov_eSIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BE */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, ESI_REG); +} + +static int mov_eDIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BF */ +{ + return iAregImm(eip, info, 0, mov_reg_imm_das, EDI_REG); +} + +static GroupInfo group2_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 */ + { 0, 0, NoSrcEaDest }, /* 1 */ + { 0, 0, NoSrcEaDest }, /* 2 */ + { 0, 0, NoSrcEaDest }, /* 3 */ + { 0, 0, NoSrcEaDest }, /* 4 */ + { 0, 0, NoSrcEaDest }, /* 5 */ + { 0, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest } /* 7 */ +}; + +static int group2_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int group2_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int ret_near_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* C2 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = ret_near_Iw_das; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_near_decode(ADDR4 eip, IAinstInfoPtr info) /* C3 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = ret_near_das; + info->imm32 = 0; + return 1; +} + +static int les_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = ES_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int lds_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = DS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int mov_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C6 */ +{ + int len = 1; + + info->opSize = 1; + len += modrm_decode(eip+1, info, 0, mov_ExIx_das, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int mov_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* C7 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, mov_ExIx_das, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = 0; + return len; +} + +static int enter_IwIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C8 */ +{ + int len = 1; + + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + len += iAimm(eip+1, &info->imm32, 2); /* imm16 */ + len += iAimm(eip+len, &info->disp32, 1); /* imm8 */ + info->execFn = 0; + info->dasFn = enter_IwIb_das; + return len; +} + +/* ARGSUSED */ +static int leave_decode(ADDR4 eip, IAinstInfoPtr info) /* C9 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = leave_das; + return 1; +} + +static int ret_far_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* CA */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->cond_seg = CS_REG; + info->execFn = 0; + info->dasFn = ret_far_Iw_das; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_far_decode(ADDR4 eip, IAinstInfoPtr info) /* CB */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->cond_seg = CS_REG; + info->execFn = 0; + info->dasFn = ret_far_das; + info->imm32 = 0; + return 1; +} + +/* ARGSUSED */ +static int int3_decode(ADDR4 eip, IAinstInfoPtr info) /* CC */ +{ + info->execFn = 0; + info->dasFn = int_Ib_das; + info->imm32 = 3; + return 1; +} + +static int int_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* CD */ +{ + info->execFn = 0; + info->dasFn = int_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* ARGSUSED */ +static int into_decode(ADDR4 eip, IAinstInfoPtr info) /* CE */ +{ + info->execFn = 0; + info->dasFn = into_das; + return 1; +} + +/* ARGSUSED */ +static int iret_decode(ADDR4 eip, IAinstInfoPtr info) /* CF */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = 0; + else /* IA32 */ + info->srcRdFn = 0; + info->cond_seg = CS_REG; + info->execFn = 0; + info->dasFn = iret_das; + return 1; +} + +static int group2_Eb1_decode(ADDR4 eip, IAinstInfoPtr info) /* D0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + info->imm32 = 1; + info->srcRdFn = 0; + return len; +} + +static int group2_Ev1_decode(ADDR4 eip, IAinstInfoPtr info) /* D1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExIb_das, gp->sdt); + info->imm32 = 1; + info->srcRdFn = 0; + return len; +} + +static int group2_EbCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D2 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExCL_das, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = 0; + return len; +} + +static int group2_EvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D3 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group2_ExCL_das, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = 0; + return len; +} + +static int aam_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D4 */ +{ + info->execFn = 0; + info->dasFn = aam_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int aad_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D5 */ +{ + info->execFn = 0; + info->dasFn = aad_Ib_das; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* salc is an undocumented opcode */ +static int salc_decode(ADDR4 eip, IAinstInfoPtr info) /* D6 */ +{ + info->execFn = 0; + info->dasFn = salc_das; + return 1; +} + +/* ARGSUSED */ +static int xlat_decode(ADDR4 eip, IAinstInfoPtr info) /* D7 */ +{ + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->srcRdFn = 0; + info->execFn = 0; + info->dasFn = xlat_das; + info->modrm.mod = 0; + return 1; +} + +static int esc_D8_decode(ADDR4 eip, IAinstInfoPtr info) /* D8 */ +{ + info->execFn = 0; + info->dasFn = esc_D8_das; + return 1; +} + +static int esc_D9_decode(ADDR4 eip, IAinstInfoPtr info) /* D9 */ +{ + info->execFn = 0; + info->dasFn = esc_D9_das; + return 1; +} + +static int esc_DA_decode(ADDR4 eip, IAinstInfoPtr info) /* DA */ +{ + info->execFn = 0; + info->dasFn = esc_DA_das; + return 1; +} + +static int esc_DB_decode(ADDR4 eip, IAinstInfoPtr info) /* DB */ +{ + info->execFn = 0; + info->dasFn = esc_DB_das; + return 1; +} + +static int esc_DC_decode(ADDR4 eip, IAinstInfoPtr info) /* DC */ +{ + info->execFn = 0; + info->dasFn = esc_DC_das; + return 1; +} + +static int esc_DD_decode(ADDR4 eip, IAinstInfoPtr info) /* DD */ +{ + info->execFn = 0; + info->dasFn = esc_DD_das; + return 1; +} + +static int esc_DE_decode(ADDR4 eip, IAinstInfoPtr info) /* DE */ +{ + info->execFn = 0; + info->dasFn = esc_DE_das; + return 1; +} + +static int esc_DF_decode(ADDR4 eip, IAinstInfoPtr info) /* DF */ +{ + info->execFn = 0; + info->dasFn = esc_DF_das; + return 1; +} + +static int loopn_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E0 */ +{ + info->cond_seg = LOOPNZ_COND; + info->execFn = 0; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loope_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E1 */ +{ + info->cond_seg = LOOPZ_COND; + info->execFn = 0; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loop_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E2 */ +{ + info->cond_seg = LOOP_COND; + info->execFn = 0; + info->dasFn = loop_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jcxz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E3 */ +{ + info->cond_seg = JCXZ_COND; + info->execFn = 0; + info->dasFn = jcxz_Jb_das; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int in_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E4 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = 0; + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AL_REG; + info->execFn = 0; + info->dasFn = in_reg_imm_das; + return len; +} + +static int in_eAXIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E5 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->srcRdFn = 0; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = 0; + else + info->destWrFn = 0; + info->reg = EAX_REG; + info->execFn = 0; + info->dasFn = in_reg_imm_das; + return len; +} + +static int out_IbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* E6 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = 0; + info->reg = AL_REG; + info->destRdFn = 0; + info->destWrFn = 0; + info->execFn = 0; + info->dasFn = out_imm_reg_das; + return len; +} + +static int out_IbeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* E7 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + if (info->opSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->reg = EAX_REG; + info->destRdFn = 0; + info->destWrFn = 0; + info->execFn = 0; + info->dasFn = out_imm_reg_das; + return len; +} + +static int call_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + info->execFn = 0; + info->dasFn = call_Jv_das; + return len; +} + +static int jmp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E9 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = 0; + info->dasFn = jmp_Jv_das; + return len; +} + +static int jmp_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* EA */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + info->cond_seg = CS_REG; + info->execFn = 0; + info->dasFn = jmp_Ap_das; + return len; +} + +static int jmp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* EB */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, 1); + info->execFn = 0; + info->dasFn = jmp_Jb_das; + return len; +} + +/* ARGSUSED */ +static int in_ALDX_decode(ADDR4 eip, IAinstInfoPtr info) /* EC */ +{ + info->opSize = 1; + info->srcRdFn = 0; + info->base = DX_REG; + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AL_REG; + info->execFn = 0; + info->dasFn = in_reg_DX_das; + return 1; +} + +/* ARGSUSED */ +static int in_eAXDX_decode(ADDR4 eip, IAinstInfoPtr info) /* ED */ +{ + info->srcRdFn = 0; + info->base = DX_REG; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = 0; + else + info->destWrFn = 0; + info->reg = EAX_REG; + info->execFn = 0; + info->dasFn = in_reg_DX_das; + return 1; +} + +/* ARGSUSED */ +static int out_DXAL_decode(ADDR4 eip, IAinstInfoPtr info) /* EE */ +{ + info->opSize = 1; + info->srcRdFn = 0; + info->reg = AL_REG; + info->destRdFn = 0; + info->base = DX_REG; + info->destWrFn = 0; + info->execFn = 0; + info->dasFn = out_DX_reg_das; + return 1; +} + +/* ARGSUSED */ +static int out_DXeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* EF */ +{ + if (info->opSize == IA16) + info->srcRdFn = 0; + else + info->srcRdFn = 0; + info->reg = EAX_REG; + info->destRdFn = 0; + info->base = DX_REG; + info->destWrFn = 0; + info->execFn = 0; + info->dasFn = out_DX_reg_das; + return 1; +} + +/* ARGSUSED */ +static int lock_decode(ADDR4 eip, IAinstInfoPtr info) /* F0 */ +{ + info->execFn = 0; + info->dasFn = lock_das; + return 1; +} + +/* ARGSUSED */ +static int reserved_decode(ADDR4 eip, IAinstInfoPtr info) /* F1 */ +{ + info->execFn = 0; + info->dasFn = reserved_das; + return 1; +} + +static int repne_decode(ADDR4 eip, IAinstInfoPtr info) /* F2 */ +{ + info->lock_rep.rep = REPNE; + return ia_decode2(eip+1, info) + 1; +} + +static int rep_decode(ADDR4 eip, IAinstInfoPtr info) /* F3 */ +{ + info->lock_rep.rep = REP; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int hlt_decode(ADDR4 eip, IAinstInfoPtr info) /* F4 */ +{ + info->execFn = 0; + info->dasFn = hlt_das; + return 1; +} + +/* ARGSUSED */ +static int cmc_decode(ADDR4 eip, IAinstInfoPtr info) /* F5 */ +{ + info->execFn = 0; + info->dasFn = cmc_das; + return 1; +} + +static GroupInfo group3_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 */ + { 0, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest }, /* 2 */ + { 0, 0, NoSrcEaDest }, /* 3 */ + { 0, 0, EaSrcNoDest }, /* 4 */ + { 0, 0, EaSrcNoDest }, /* 5 */ + { 0, 0, EaSrcNoDest }, /* 6 */ + { 0, 0, EaSrcNoDest } /* 7 */ +}; + +static int group3_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* F6 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, group3_das, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + break; + case 4: /* mul */ + case 5: /* imul */ + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AX_REG; + break; + case 6: /* div */ + case 7: /* idiv */ + info->destRdFn = 0; + info->destWrFn = 0; + info->reg = AX_REG; + break; + } + return len; +} + +static int group3_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* F7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group3_das, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = 0; + break; + case 4: /* mul */ + case 5: /* imul */ + case 6: /* div */ + case 7: /* idiv */ + if (info->opSize == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { + info->destRdFn = 0; + info->destWrFn = 0; + } + info->reg = AX_REG; + break; + } + return len; +} + +/* ARGSUSED */ +static int clc_decode(ADDR4 eip, IAinstInfoPtr info) /* F8 */ +{ + info->execFn = 0; + info->dasFn = clc_das; + return 1; +} + +/* ARGSUSED */ +static int stc_decode(ADDR4 eip, IAinstInfoPtr info) /* F9 */ +{ + info->execFn = 0; + info->dasFn = stc_das; + return 1; +} + +/* ARGSUSED */ +static int cli_decode(ADDR4 eip, IAinstInfoPtr info) /* FA */ +{ + info->execFn = 0; + info->dasFn = cli_das; + return 1; +} + +/* ARGSUSED */ +static int sti_decode(ADDR4 eip, IAinstInfoPtr info) /* FB */ +{ + info->execFn = 0; + info->dasFn = sti_das; + return 1; +} + +/* ARGSUSED */ +static int cld_decode(ADDR4 eip, IAinstInfoPtr info) /* FC */ +{ + info->execFn = 0; + info->dasFn = cld_das; + return 1; +} + +/* ARGSUSED */ +static int std_decode(ADDR4 eip, IAinstInfoPtr info) /* FD */ +{ + info->execFn = 0; + info->dasFn = std_das; + return 1; +} + +static GroupInfo group4_info[8] = { /* reg_op */ + { 0, 1, NoSrcEaDest }, /* 0 */ + { 0, 1, NoSrcEaDest }, /* 1 */ + { 0, 0, EaSrcNoDest }, /* 2 - opSize & sdt arbitrary */ + { 0, 0, EaSrcNoDest }, /* 3 - opSize & sdt arbitrary */ + { 0, 0, EaSrcNoDest }, /* 4 - opSize & sdt arbitrary */ + { 0, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { 0, 0, EaSrcNoDest }, /* 6 - opSize & sdt arbitrary */ + { 0, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group4_decode(ADDR4 eip, IAinstInfoPtr info) /* FE */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group4_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group4_das, gp->sdt); + return len; +} + +static GroupInfo group5_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 */ + { 0, 0, NoSrcEaDest }, /* 1 */ + { 0, 0, EaSrcNoDest }, /* 2 */ + { 0, 0, LfpSrcNoDest }, /* 3 */ + { 0, 0, EaSrcNoDest }, /* 4 */ + { 0, 0, LfpSrcNoDest }, /* 5 */ + { 0, 0, EaSrcNoDest }, /* 6 */ + { 0, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group5_decode(ADDR4 eip, IAinstInfoPtr info) /* FF */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group5_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group5_das, gp->sdt); + + /* call_near, call_far, push */ + if (modrm.reg_op == 2 || modrm.reg_op == 3 || modrm.reg_op == 6) { + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = 0; + info->destWrFn = 0; + } else { /* IA32 */ + info->destRdFn = 0; + info->destWrFn = 0; + } + } + /* call_far, jmp_far */ + if (modrm.reg_op == 3 || modrm.reg_op == 5) + info->cond_seg = CS_REG; + + return len; +} + +/* One-Byte Opcode Table */ + +static const PIADF one_byte_opcode[256] = { + add_EbGb_decode, /* 00 */ + add_EvGv_decode, /* 01 */ + add_GbEb_decode, /* 02 */ + add_GvEv_decode, /* 03 */ + add_ALIb_decode, /* 04 */ + add_eAXIv_decode, /* 05 */ + push_ES_decode, /* 06 */ + pop_ES_decode, /* 07 */ + or_EbGb_decode, /* 08 */ + or_EvGv_decode, /* 09 */ + or_GbEb_decode, /* 0A */ + or_GvEv_decode, /* 0B */ + or_ALIb_decode, /* 0C */ + or_eAXIv_decode, /* 0D */ + push_CS_decode, /* 0E */ + two_byte_escape, /* 0F */ + adc_EbGb_decode, /* 10 */ + adc_EvGv_decode, /* 11 */ + adc_GbEb_decode, /* 12 */ + adc_GvEv_decode, /* 13 */ + adc_ALIb_decode, /* 14 */ + adc_eAXIv_decode, /* 15 */ + push_SS_decode, /* 16 */ + pop_SS_decode, /* 17 */ + sbb_EbGb_decode, /* 18 */ + sbb_EvGv_decode, /* 19 */ + sbb_GbEb_decode, /* 1A */ + sbb_GvEv_decode, /* 1B */ + sbb_ALIb_decode, /* 1C */ + sbb_eAXIv_decode, /* 1D */ + push_DS_decode, /* 1E */ + pop_DS_decode, /* 1F */ + and_EbGb_decode, /* 20 */ + and_EvGv_decode, /* 21 */ + and_GbEb_decode, /* 22 */ + and_GvEv_decode, /* 23 */ + and_ALIb_decode, /* 24 */ + and_eAXIv_decode, /* 25 */ + seg_ES_decode, /* 26 */ + daa_decode, /* 27 */ + sub_EbGb_decode, /* 28 */ + sub_EvGv_decode, /* 29 */ + sub_GbEb_decode, /* 2A */ + sub_GvEv_decode, /* 2B */ + sub_ALIb_decode, /* 2C */ + sub_eAXIv_decode, /* 2D */ + seg_CS_decode, /* 2E */ + das_decode, /* 2F */ + xor_EbGb_decode, /* 30 */ + xor_EvGv_decode, /* 31 */ + xor_GbEb_decode, /* 32 */ + xor_GvEv_decode, /* 33 */ + xor_ALIb_decode, /* 34 */ + xor_eAXIv_decode, /* 35 */ + seg_SS_decode, /* 36 */ + aaa_decode, /* 37 */ + cmp_EbGb_decode, /* 38 */ + cmp_EvGv_decode, /* 39 */ + cmp_GbEb_decode, /* 3A */ + cmp_GvEv_decode, /* 3B */ + cmp_ALIb_decode, /* 3C */ + cmp_eAXIv_decode, /* 3D */ + seg_DS_decode, /* 3E */ + aas_decode, /* 3F */ + inc_eAX_decode, /* 40 */ + inc_eCX_decode, /* 41 */ + inc_eDX_decode, /* 42 */ + inc_eBX_decode, /* 43 */ + inc_eSP_decode, /* 44 */ + inc_eBP_decode, /* 45 */ + inc_eSI_decode, /* 46 */ + inc_eDI_decode, /* 47 */ + dec_eAX_decode, /* 48 */ + dec_eCX_decode, /* 49 */ + dec_eDX_decode, /* 4A */ + dec_eBX_decode, /* 4B */ + dec_eSP_decode, /* 4C */ + dec_eBP_decode, /* 4D */ + dec_eSI_decode, /* 4E */ + dec_eDI_decode, /* 4F */ + push_eAX_decode, /* 50 */ + push_eCX_decode, /* 51 */ + push_eDX_decode, /* 52 */ + push_eBX_decode, /* 53 */ + push_eSP_decode, /* 54 */ + push_eBP_decode, /* 55 */ + push_eSI_decode, /* 56 */ + push_eDI_decode, /* 57 */ + pop_eAX_decode, /* 58 */ + pop_eCX_decode, /* 59 */ + pop_eDX_decode, /* 5A */ + pop_eBX_decode, /* 5B */ + pop_eSP_decode, /* 5C */ + pop_eBP_decode, /* 5D */ + pop_eSI_decode, /* 5E */ + pop_eDI_decode, /* 5F */ + pusha_decode, /* 60 */ + popa_decode, /* 61 */ + bound_GvMa_decode, /* 62 */ + arpl_EwGw_decode, /* 63 */ + seg_FS_decode, /* 64 */ + seg_GS_decode, /* 65 */ + operand_size_decode, /* 66 */ + address_size_decode, /* 67 */ + push_Iv_decode, /* 68 */ + imul_GvEvIv_decode, /* 69 */ + push_Ib_decode, /* 6A */ + imul_GvEvIb_decode, /* 6B */ + insb_YbDX_decode, /* 6C */ + insw_YvDX_decode, /* 6D */ + outsb_DXXb_decode, /* 6E */ + outsw_DXXv_decode, /* 6F */ + jo_Jb_decode, /* 70 */ + jno_Jb_decode, /* 71 */ + jb_Jb_decode, /* 72 */ + jnb_Jb_decode, /* 73 */ + jz_Jb_decode, /* 74 */ + jnz_Jb_decode, /* 75 */ + jbe_Jb_decode, /* 76 */ + jnbe_Jb_decode, /* 77 */ + js_Jb_decode, /* 78 */ + jns_Jb_decode, /* 79 */ + jp_Jb_decode, /* 7A */ + jnp_Jb_decode, /* 7B */ + jl_Jb_decode, /* 7C */ + jnl_Jb_decode, /* 7D */ + jle_Jb_decode, /* 7E */ + jnle_Jb_decode, /* 7F */ + group1_EbIb_decode, /* 80 */ + group1_EvIv_decode, /* 81 */ +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ + movb_ALIb_decode, /* 82 */ + group1_EvIb_decode, /* 83 */ + test_EbGb_decode, /* 84 */ + test_EvGv_decode, /* 85 */ + xchg_EbGb_decode, /* 86 */ + xchg_EvGv_decode, /* 87 */ + mov_EbGb_decode, /* 88 */ + mov_EvGv_decode, /* 89 */ + mov_GbEb_decode, /* 8A */ + mov_GvEv_decode, /* 8B */ + mov_EwSw_decode, /* 8C */ + lea_GvM_decode, /* 8D */ + mov_SwEw_decode, /* 8E */ + pop_Ev_decode, /* 8F */ + nop_decode, /* 90 */ + xchg_eAXeCX_decode, /* 91 */ + xchg_eAXeDX_decode, /* 92 */ + xchg_eAXeBX_decode, /* 93 */ + xchg_eAXeSP_decode, /* 94 */ + xchg_eAXeBP_decode, /* 95 */ + xchg_eAXeSI_decode, /* 96 */ + xchg_eAXeDI_decode, /* 97 */ + cbw_decode, /* 98 */ + cwd_decode, /* 99 */ + call_Ap_decode, /* 9A */ + wait_decode, /* 9B */ + pushf_Fv_decode, /* 9C */ + popf_Fv_decode, /* 9D */ + sahf_decode, /* 9E */ + lahf_decode, /* 9F */ + mov_ALOb_decode, /* A0 */ + mov_eAXOv_decode, /* A1 */ + mov_ObAL_decode, /* A2 */ + mov_OveAX_decode, /* A3 */ + movsb_YbXb_decode, /* A4 */ + movsw_YvXv_decode, /* A5 */ + cmpsb_XbYb_decode, /* A6 */ + cmpsw_XvYv_decode, /* A7 */ + test_ALIb_decode, /* A8 */ + test_eAXIv_decode, /* A9 */ + stosb_YbAL_decode, /* AA */ + stosw_YveAX_decode, /* AB */ + lodsb_ALXb_decode, /* AC */ + lodsw_eAXXv_decode, /* AD */ + scasb_ALYb_decode, /* AE */ + scasw_eAXYv_decode, /* AF */ + mov_ALIb_decode, /* B0 */ + mov_CLIb_decode, /* B1 */ + mov_DLIb_decode, /* B2 */ + mov_BLIb_decode, /* B3 */ + mov_AHIb_decode, /* B4 */ + mov_CHIb_decode, /* B5 */ + mov_DHIb_decode, /* B6 */ + mov_BHIb_decode, /* B7 */ + mov_eAXIv_decode, /* B8 */ + mov_eCXIv_decode, /* B9 */ + mov_eDXIv_decode, /* BA */ + mov_eBXIv_decode, /* BB */ + mov_eSPIv_decode, /* BC */ + mov_eBPIv_decode, /* BD */ + mov_eSIIv_decode, /* BE */ + mov_eDIIv_decode, /* BF */ + group2_EbIb_decode, /* C0 */ + group2_EvIb_decode, /* C1 */ + ret_near_Iw_decode, /* C2 */ + ret_near_decode, /* C3 */ + les_GvMp_decode, /* C4 */ + lds_GvMp_decode, /* C5 */ + mov_EbIb_decode, /* C6 */ + mov_EvIv_decode, /* C7 */ + enter_IwIb_decode, /* C8 */ + leave_decode, /* C9 */ + ret_far_Iw_decode, /* CA */ + ret_far_decode, /* CB */ + int3_decode, /* CC */ + int_Ib_decode, /* CD */ + into_decode, /* CE */ + iret_decode, /* CF */ + group2_Eb1_decode, /* D0 */ + group2_Ev1_decode, /* D1 */ + group2_EbCL_decode, /* D2 */ + group2_EvCL_decode, /* D3 */ + aam_Ib_decode, /* D4 */ + aad_Ib_decode, /* D5 */ + salc_decode, /* D6 - undocumented opcode */ + xlat_decode, /* D7 */ + esc_D8_decode, /* D8 */ + esc_D9_decode, /* D9 */ + esc_DA_decode, /* DA */ + esc_DB_decode, /* DB */ + esc_DC_decode, /* DC */ + esc_DD_decode, /* DD */ + esc_DE_decode, /* DE */ + esc_DF_decode, /* DF */ + loopn_Jb_decode, /* E0 */ + loope_Jb_decode, /* E1 */ + loop_Jb_decode, /* E2 */ + jcxz_Jb_decode, /* E3 */ + in_ALIb_decode, /* E4 */ + in_eAXIb_decode, /* E5 */ + out_IbAL_decode, /* E6 */ + out_IbeAX_decode, /* E7 */ + call_Jv_decode, /* E8 */ + jmp_Jv_decode, /* E9 */ + jmp_Ap_decode, /* EA */ + jmp_Jb_decode, /* EB */ + in_ALDX_decode, /* EC */ + in_eAXDX_decode, /* ED */ + out_DXAL_decode, /* EE */ + out_DXeAX_decode, /* EF */ + lock_decode, /* F0 */ + reserved_decode, /* F1 */ + repne_decode, /* F2 */ + rep_decode, /* F3 */ + hlt_decode, /* F4 */ + cmc_decode, /* F5 */ + group3_Eb_decode, /* F6 */ + group3_Ev_decode, /* F7 */ + clc_decode, /* F8 */ + stc_decode, /* F9 */ + cli_decode, /* FA */ + sti_decode, /* FB */ + cld_decode, /* FC */ + std_decode, /* FD */ + group4_decode, /* FE */ + group5_decode /* FF */ +}; + + +static GroupInfo group6_info[8] = { /* reg_op */ + { 0, 2, NoSrcEaDest }, /* 0 */ + { 0, 2, NoSrcEaDest }, /* 1 */ + { 0, 2, EaSrcNoDest }, /* 2 */ + { 0, 2, EaSrcNoDest }, /* 3 */ + { 0, 2, EaSrcNoDest }, /* 4 */ + { 0, 2, EaSrcNoDest }, /* 5 */ + { 0, 0, EaSrcNoDest }, /* 6 */ + { 0, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +/* Two-Byte Opcode Decode Functions */ + +static int group6_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,00 */ +{ + ModRM modrm; + GroupInfoPtr gp; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group6_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + return 1 + modrm_decode(eip+1, info, gp->execFn, group6_das, gp->sdt); +} + +static GroupInfo group7_info[8] = { /* reg_op */ + { 0, 6, NoSrcEaDest }, /* 0 */ + { 0, 6, NoSrcEaDest }, /* 1 */ + { 0, 6, EaSrcNoDest }, /* 2 */ + { 0, 6, EaSrcNoDest }, /* 3 */ + { 0, 2, NoSrcEaDest }, /* 4 */ + { 0, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { 0, 2, EaSrcNoDest }, /* 6 */ + { 0, 0, EaSrcNoDest } /* 7 */ +}; + +static int group7_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,01 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group7_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group7_das, gp->sdt); + + /* all but smsw & lmsw: only memory address forms allowed */ + if ((modrm.reg_op < 4 || modrm.reg_op == 7) && modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int lar_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,02 */ +{ + return 1 + modrm_decode(eip+1, info, 0, lar_GvEw_das, EaSrcRegDest); +} + +static int lsl_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,03 */ +{ + return 1 + modrm_decode(eip+1, info, 0, lsl_GvEw_das, EaSrcRegDest); +} + +/* reserved */ /* 0F,04-05 */ + +/* ARGSUSED */ +static int clts_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,06 */ +{ + info->execFn = 0; + info->dasFn = clts_das; + return 1; +} + +/* reserved */ /* 0F,07 */ + +/* ARGSUSED */ +static int invd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,08 */ +{ + info->execFn = 0; + info->dasFn = invd_das; + return 1; +} + +/* ARGSUSED */ +static int wbinvd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,09 */ +{ + info->execFn = 0; + info->dasFn = wbinvd_das; + return 1; +} + +/* reserved */ /* 0F,0A */ + +/* ARGSUSED */ +static int ud2_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,0B */ +{ + info->execFn = 0; + info->dasFn = ud2_das; + return 1; +} + +/* reserved */ /* 0F,0C-0F */ + +/* reserved */ /* 0F,10-1F */ + +static int mov_RdCd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,20 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, 0, mov_RdCd_das, NoSrcEaDest); + /* XXX - add CR srcRdFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = 0; + + return len; +} + +static int mov_RdDd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,21 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, 0, mov_RdDd_das, NoSrcEaDest); + /* XXX - add DR srcRdFn */ + + if (info->modrm.mod != 3) + info->execFn = 0; + + return len; +} + +static int mov_CdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,22 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, 0, mov_CdRd_das, EaSrcNoDest); + /* XXX - add CR destRdFn & destWrFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = 0; + + return len; +} + +static int mov_DdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,23 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, 0, mov_DdRd_das, EaSrcNoDest); + /* XXX - add DR destRdFn & destWrFn */ + + if (info->modrm.mod != 3) + info->execFn = 0; + + return len; +} + +/* move to/from test registers are now reserved instructions */ +static int mov_RdTd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,24 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, 0, mov_RdTd_das, + NoSrcEaDest); +} + +/* reserved */ /* 0F,25 */ + +static int mov_TdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,26 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, 0, mov_TdRd_das, + EaSrcNoDest); +} + +/* reserved */ /* 0F,27-2F */ + +static int wrmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,30 */ +{ + info->execFn = 0; + info->dasFn = wrmsr_das; + return 1; +} + +static int rdtsc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,31 */ +{ + info->execFn = 0; + info->dasFn = rdtsc_das; + return 1; +} + +static int rdmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,32 */ +{ + info->execFn = 0; + info->dasFn = rdmsr_das; + return 1; +} + +static int rdpmc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,33 */ +{ + info->execFn = 0; + info->dasFn = rdpmc_das; + return 1; +} + +/* reserved */ /* 0F,34-3F */ + +static int cmovo_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,40 */ +{ + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovno_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,41 */ +{ + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,42 */ +{ + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,43 */ +{ + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,44 */ +{ + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,45 */ +{ + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,46 */ +{ + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,47 */ +{ + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovs_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,48 */ +{ + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovns_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,49 */ +{ + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4A */ +{ + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4B */ +{ + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4C */ +{ + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4D */ +{ + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4E */ +{ + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +static int cmovnle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4F */ +{ + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, 0, cmovcc_das, EaSrcRegDest); +} + +/* reserved */ /* 0F,50-7F */ + +static int jo_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,80 */ +{ + info->cond_seg = JO_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jno_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,81 */ +{ + info->cond_seg = JNO_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,82 */ +{ + info->cond_seg = JB_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,83 */ +{ + info->cond_seg = JNB_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,84 */ +{ + info->cond_seg = JZ_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,85 */ +{ + info->cond_seg = JNZ_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,86 */ +{ + info->cond_seg = JBE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,87 */ +{ + info->cond_seg = JNBE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int js_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,88 */ +{ + info->cond_seg = JS_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jns_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,89 */ +{ + info->cond_seg = JNS_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8A */ +{ + info->cond_seg = JP_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8B */ +{ + info->cond_seg = JNP_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8C */ +{ + info->cond_seg = JL_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8D */ +{ + info->cond_seg = JNL_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8E */ +{ + info->cond_seg = JLE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8F */ +{ + info->cond_seg = JNLE_COND; + info->execFn = 0; + info->dasFn = jcc_das; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int seto_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,90 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setno_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,91 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,92 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,93 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,94 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,95 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,96 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,97 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int sets_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,98 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setns_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,99 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +static int setnle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, 0, setcc_das, NoSrcEaDest); +} + +/* ARGSUSED */ +static int push_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A0 */ +{ + return iApushSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int pop_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A1 */ +{ + return iApopSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int cpuid_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A2 */ +{ + info->execFn = 0; + info->dasFn = cpuid_das; + return 1; +} + +static int bt_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A3 */ +{ + return 1 + modrm_decode(eip+1, info, 0, bt_EvGv_das, RegSrcEaDest); +} + +static int shld_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, shld_EvGvIb_das, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shld_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A5 */ +{ + return 1 + modrm_decode(eip+1, info, 0, shld_EvGvCL_das, + RegSrcEaDest); +} + +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ +static int cmpxchg_XBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A6 */ +{ + info->execFn = 0; + info->dasFn = cmpxchg_XBTS_das; + return 1; +} + +static int cmpxchg_IBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A7 */ +{ + info->execFn = 0; + info->dasFn = cmpxchg_IBTS_das; + return 1; +} + +/* ARGSUSED */ +static int push_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A8 */ +{ + return iApushSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int pop_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A9 */ +{ + return iApopSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int rsm_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AA */ +{ + info->execFn = 0; + info->dasFn = rsm_das; + return 1; +} + +static int bts_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AB */ +{ + return 1 + modrm_decode(eip+1, info, 0, bts_EvGv_das, RegSrcEaDest); +} + +static int shrd_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AC */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, shrd_EvGvIb_das, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shrd_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AD */ +{ + return 1 + modrm_decode(eip+1, info, 0, shrd_EvGvCL_das, + RegSrcEaDest); +} + +/* reserved */ /* 0F,AE */ + +static int imul_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AF */ +{ + return 1 + modrm_decode(eip+1, info, 0, imul_GvEv_das, + EaSrcRegDest); +} + +static int cmpxchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, cmpxchg_ExGx_das, + RegSrcEaDest); +} + +static int cmpxchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B1 */ +{ + return 1 + modrm_decode(eip+1, info, 0, cmpxchg_ExGx_das, + RegSrcEaDest); +} + +static int lss_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B2 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = SS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int btr_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B3 */ +{ + return 1 + modrm_decode(eip+1, info, 0, btr_EvGv_das, RegSrcEaDest); +} + +static int lfs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = FS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int lgs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, 0, load_far_ptr_das, + LfpSrcRegDest); + info->cond_seg = GS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = 0; + + return len; +} + +static int movzx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B6 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, 0, movzx_GvEb_das, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = 0; + else + info->destWrFn = 0; + return len; +} + +static int movzx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B7 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, 0, movzx_GvEw_das, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = 0; + return len; +} + +static int jmpe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = 0; + info->dasFn = jmpe_Jv_das; + return len; +} + +/* reserved */ /* 0F,B9 */ + +static GroupInfo group8_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary */ + { 0, 0, NoSrcEaDest }, /* 4 */ + { 0, 0, NoSrcEaDest }, /* 5 */ + { 0, 0, NoSrcEaDest }, /* 6 */ + { 0, 0, NoSrcEaDest } /* 7 */ +}; + +static int group8_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BA */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group8_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, group8_das, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = 0; + return len; +} + +static int btc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BB */ +{ + return 1 + modrm_decode(eip+1, info, 0, btc_EvGv_das, RegSrcEaDest); +} + +static int bsf_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BC */ +{ + return 1 + modrm_decode(eip+1, info, 0, bsf_GvEv_das, + EaSrcRegDest); +} + +static int bsr_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BD */ +{ + return 1 + modrm_decode(eip+1, info, 0, bsr_GvEv_das, + EaSrcRegDest); +} + +static int movsx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BE */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, 0, movsx_GvEb_das, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = 0; + else + info->destWrFn = 0; + return len; +} + +static int movsx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BF */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, 0, movsx_GvEw_das, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = 0; + return len; +} + +static int xadd_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, 0, xadd_ExGx_das, + RegSrcEaDest); +} + +static int xadd_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C1 */ +{ + return 1 + modrm_decode(eip+1, info, 0, xadd_ExGx_das, + RegSrcEaDest); +} + +/* reserved */ /* 0F,C2-C6 */ + +static GroupInfo group9_info[8] = { /* reg_op */ + { 0, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary*/ + { 0, 8, NoSrcEaDest }, /* 1 */ + { 0, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary*/ + { 0, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary*/ + { 0, 0, NoSrcEaDest }, /* 4 - opSize & sdt arbitrary*/ + { 0, 0, NoSrcEaDest }, /* 5 - opSize & sdt arbitrary*/ + { 0, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary*/ + { 0, 0, NoSrcEaDest } /* 7 - opSize & sdt arbitrary*/ +}; + +static int group9_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memMIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group9_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, group9_das, gp->sdt); + + /* cmpxchg8b: only memory address forms allowed */ + if (modrm.reg_op == 1 && modrm.mod == 3) + info->execFn = 0; + + return len; +} + +/* ARGSUSED */ +static int bswap_EAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C8 */ +{ + return iAreg(info, 0, bswap_reg_das, EAX_REG); +} + +/* ARGSUSED */ +static int bswap_ECX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C9 */ +{ + return iAreg(info, 0, bswap_reg_das, ECX_REG); +} + +/* ARGSUSED */ +static int bswap_EDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CA */ +{ + return iAreg(info, 0, bswap_reg_das, EDX_REG); +} + +/* ARGSUSED */ +static int bswap_EBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CB */ +{ + return iAreg(info, 0, bswap_reg_das, EBX_REG); +} + +/* ARGSUSED */ +static int bswap_ESP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CC */ +{ + return iAreg(info, 0, bswap_reg_das, ESP_REG); +} + +/* ARGSUSED */ +static int bswap_EBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CD */ +{ + return iAreg(info, 0, bswap_reg_das, EBP_REG); +} + +/* ARGSUSED */ +static int bswap_ESI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CE */ +{ + return iAreg(info, 0, bswap_reg_das, ESI_REG); +} + +/* ARGSUSED */ +static int bswap_EDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CF */ +{ + return iAreg(info, 0, bswap_reg_das, EDI_REG); +} + +/* reserved */ /* 0F,D0-FF */ + + +/* Two-Byte Opcode Table */ + +static const PIADF two_byte_opcode[256] = { + group6_decode, /* 0F,00 */ + group7_decode, /* 0F,01 */ + lar_GvEw_decode, /* 0F,02 */ + lsl_GvEw_decode, /* 0F,03 */ + reserved_decode, /* 0F,04 */ + reserved_decode, /* 0F,05 */ + clts_decode, /* 0F,06 */ + reserved_decode, /* 0F,07 */ + invd_decode, /* 0F,08 */ + wbinvd_decode, /* 0F,09 */ + reserved_decode, /* 0F,0A */ + ud2_decode, /* 0F,0B */ + reserved_decode, /* 0F,0C */ + reserved_decode, /* 0F,0D */ + reserved_decode, /* 0F,0E */ + reserved_decode, /* 0F,0F */ + reserved_decode, /* 0F,10 */ + reserved_decode, /* 0F,11 */ + reserved_decode, /* 0F,12 */ + reserved_decode, /* 0F,13 */ + reserved_decode, /* 0F,14 */ + reserved_decode, /* 0F,15 */ + reserved_decode, /* 0F,16 */ + reserved_decode, /* 0F,17 */ + reserved_decode, /* 0F,18 */ + reserved_decode, /* 0F,19 */ + reserved_decode, /* 0F,1A */ + reserved_decode, /* 0F,1B */ + reserved_decode, /* 0F,1C */ + reserved_decode, /* 0F,1D */ + reserved_decode, /* 0F,1E */ + reserved_decode, /* 0F,1F */ + mov_RdCd_decode, /* 0F,20 */ + mov_RdDd_decode, /* 0F,21 */ + mov_CdRd_decode, /* 0F,22 */ + mov_DdRd_decode, /* 0F,23 */ + mov_RdTd_decode, /* 0F,24 */ + reserved_decode, /* 0F,25 */ + mov_TdRd_decode, /* 0F,26 */ + reserved_decode, /* 0F,27 */ + reserved_decode, /* 0F,28 */ + reserved_decode, /* 0F,29 */ + reserved_decode, /* 0F,2A */ + reserved_decode, /* 0F,2B */ + reserved_decode, /* 0F,2C */ + reserved_decode, /* 0F,2D */ + reserved_decode, /* 0F,2E */ + reserved_decode, /* 0F,2F */ + wrmsr_decode, /* 0F,30 */ + rdtsc_decode, /* 0F,31 */ + rdmsr_decode, /* 0F,32 */ + rdpmc_decode, /* 0F,33 */ + reserved_decode, /* 0F,34 */ + reserved_decode, /* 0F,35 */ + reserved_decode, /* 0F,36 */ + reserved_decode, /* 0F,37 */ + reserved_decode, /* 0F,38 */ + reserved_decode, /* 0F,39 */ + reserved_decode, /* 0F,3A */ + reserved_decode, /* 0F,3B */ + reserved_decode, /* 0F,3C */ + reserved_decode, /* 0F,3D */ + reserved_decode, /* 0F,3E */ + reserved_decode, /* 0F,3F */ + cmovo_GvEv_decode, /* 0F,40 */ + cmovno_GvEv_decode, /* 0F,41 */ + cmovb_GvEv_decode, /* 0F,42 */ + cmovnb_GvEv_decode, /* 0F,43 */ + cmovz_GvEv_decode, /* 0F,44 */ + cmovnz_GvEv_decode, /* 0F,45 */ + cmovbe_GvEv_decode, /* 0F,46 */ + cmovnbe_GvEv_decode, /* 0F,47 */ + cmovs_GvEv_decode, /* 0F,48 */ + cmovns_GvEv_decode, /* 0F,49 */ + cmovp_GvEv_decode, /* 0F,4A */ + cmovnp_GvEv_decode, /* 0F,4B */ + cmovl_GvEv_decode, /* 0F,4C */ + cmovnl_GvEv_decode, /* 0F,4D */ + cmovle_GvEv_decode, /* 0F,4E */ + cmovnle_GvEv_decode, /* 0F,4F */ + reserved_decode, /* 0F,50 */ + reserved_decode, /* 0F,51 */ + reserved_decode, /* 0F,52 */ + reserved_decode, /* 0F,53 */ + reserved_decode, /* 0F,54 */ + reserved_decode, /* 0F,55 */ + reserved_decode, /* 0F,56 */ + reserved_decode, /* 0F,57 */ + reserved_decode, /* 0F,58 */ + reserved_decode, /* 0F,59 */ + reserved_decode, /* 0F,5A */ + reserved_decode, /* 0F,5B */ + reserved_decode, /* 0F,5C */ + reserved_decode, /* 0F,5D */ + reserved_decode, /* 0F,5E */ + reserved_decode, /* 0F,5F */ + reserved_decode, /* 0F,60 */ + reserved_decode, /* 0F,61 */ + reserved_decode, /* 0F,62 */ + reserved_decode, /* 0F,63 */ + reserved_decode, /* 0F,64 */ + reserved_decode, /* 0F,65 */ + reserved_decode, /* 0F,66 */ + reserved_decode, /* 0F,67 */ + reserved_decode, /* 0F,68 */ + reserved_decode, /* 0F,69 */ + reserved_decode, /* 0F,6A */ + reserved_decode, /* 0F,6B */ + reserved_decode, /* 0F,6C */ + reserved_decode, /* 0F,6D */ + reserved_decode, /* 0F,6E */ + reserved_decode, /* 0F,6F */ + reserved_decode, /* 0F,70 */ + reserved_decode, /* 0F,71 */ + reserved_decode, /* 0F,72 */ + reserved_decode, /* 0F,73 */ + reserved_decode, /* 0F,74 */ + reserved_decode, /* 0F,75 */ + reserved_decode, /* 0F,76 */ + reserved_decode, /* 0F,77 */ + reserved_decode, /* 0F,78 */ + reserved_decode, /* 0F,79 */ + reserved_decode, /* 0F,7A */ + reserved_decode, /* 0F,7B */ + reserved_decode, /* 0F,7C */ + reserved_decode, /* 0F,7D */ + reserved_decode, /* 0F,7E */ + reserved_decode, /* 0F,7F */ + jo_Jv_decode, /* 0F,80 */ + jno_Jv_decode, /* 0F,81 */ + jb_Jv_decode, /* 0F,82 */ + jnb_Jv_decode, /* 0F,83 */ + jz_Jv_decode, /* 0F,84 */ + jnz_Jv_decode, /* 0F,85 */ + jbe_Jv_decode, /* 0F,86 */ + jnbe_Jv_decode, /* 0F,87 */ + js_Jv_decode, /* 0F,88 */ + jns_Jv_decode, /* 0F,89 */ + jp_Jv_decode, /* 0F,8A */ + jnp_Jv_decode, /* 0F,8B */ + jl_Jv_decode, /* 0F,8C */ + jnl_Jv_decode, /* 0F,8D */ + jle_Jv_decode, /* 0F,8E */ + jnle_Jv_decode, /* 0F,8F */ + seto_Eb_decode, /* 0F,90 */ + setno_Eb_decode, /* 0F,91 */ + setb_Eb_decode, /* 0F,92 */ + setnb_Eb_decode, /* 0F,93 */ + setz_Eb_decode, /* 0F,94 */ + setnz_Eb_decode, /* 0F,95 */ + setbe_Eb_decode, /* 0F,96 */ + setnbe_Eb_decode, /* 0F,97 */ + sets_Eb_decode, /* 0F,98 */ + setns_Eb_decode, /* 0F,99 */ + setp_Eb_decode, /* 0F,9A */ + setnp_Eb_decode, /* 0F,9B */ + setl_Eb_decode, /* 0F,9C */ + setnl_Eb_decode, /* 0F,9D */ + setle_Eb_decode, /* 0F,9E */ + setnle_Eb_decode, /* 0F,9F */ + push_FS_decode, /* 0F,A0 */ + pop_FS_decode, /* 0F,A1 */ + cpuid_decode, /* 0F,A2 */ + bt_EvGv_decode, /* 0F,A3 */ + shld_EvGvIb_decode, /* 0F,A4 */ + shld_EvGvCL_decode, /* 0F,A5 */ +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ + cmpxchg_XBTS_decode, /* 0F,A6 */ + cmpxchg_IBTS_decode, /* 0F,A7 */ + push_GS_decode, /* 0F,A8 */ + pop_GS_decode, /* 0F,A9 */ + rsm_decode, /* 0F,AA */ + bts_EvGv_decode, /* 0F,AB */ + shrd_EvGvIb_decode, /* 0F,AC */ + shrd_EvGvCL_decode, /* 0F,AD */ + reserved_decode, /* 0F,AE */ + imul_GvEv_decode, /* 0F,AF */ + cmpxchg_EbGb_decode, /* 0F,B0 */ + cmpxchg_EvGv_decode, /* 0F,B1 */ + lss_Mp_decode, /* 0F,B2 */ + btr_EvGv_decode, /* 0F,B3 */ + lfs_Mp_decode, /* 0F,B4 */ + lgs_Mp_decode, /* 0F,B5 */ + movzx_GvEb_decode, /* 0F,B6 */ + movzx_GvEw_decode, /* 0F,B7 */ + jmpe_Jv_decode, /* 0F,B8 */ + reserved_decode, /* 0F,B9 */ + group8_decode, /* 0F,BA */ + btc_EvGv_decode, /* 0F,BB */ + bsf_GvEv_decode, /* 0F,BC */ + bsr_GvEv_decode, /* 0F,BD */ + movsx_GvEb_decode, /* 0F,BE */ + movsx_GvEw_decode, /* 0F,BF */ + xadd_EbGb_decode, /* 0F,C0 */ + xadd_EvGv_decode, /* 0F,C1 */ + reserved_decode, /* 0F,C2 */ + reserved_decode, /* 0F,C3 */ + reserved_decode, /* 0F,C4 */ + reserved_decode, /* 0F,C5 */ + reserved_decode, /* 0F,C6 */ + group9_decode, /* 0F,C7 */ + bswap_EAX_decode, /* 0F,C8 */ + bswap_ECX_decode, /* 0F,C9 */ + bswap_EDX_decode, /* 0F,CA */ + bswap_EBX_decode, /* 0F,CB */ + bswap_ESP_decode, /* 0F,CC */ + bswap_EBP_decode, /* 0F,CD */ + bswap_ESI_decode, /* 0F,CE */ + bswap_EDI_decode, /* 0F,CF */ + reserved_decode, /* 0F,D0 */ + reserved_decode, /* 0F,D1 */ + reserved_decode, /* 0F,D2 */ + reserved_decode, /* 0F,D3 */ + reserved_decode, /* 0F,D4 */ + reserved_decode, /* 0F,D5 */ + reserved_decode, /* 0F,D6 */ + reserved_decode, /* 0F,D7 */ + reserved_decode, /* 0F,D8 */ + reserved_decode, /* 0F,D9 */ + reserved_decode, /* 0F,DA */ + reserved_decode, /* 0F,DB */ + reserved_decode, /* 0F,DC */ + reserved_decode, /* 0F,DD */ + reserved_decode, /* 0F,DE */ + reserved_decode, /* 0F,DF */ + reserved_decode, /* 0F,E0 */ + reserved_decode, /* 0F,E1 */ + reserved_decode, /* 0F,E2 */ + reserved_decode, /* 0F,E3 */ + reserved_decode, /* 0F,E4 */ + reserved_decode, /* 0F,E5 */ + reserved_decode, /* 0F,E6 */ + reserved_decode, /* 0F,E7 */ + reserved_decode, /* 0F,E8 */ + reserved_decode, /* 0F,E9 */ + reserved_decode, /* 0F,EA */ + reserved_decode, /* 0F,EB */ + reserved_decode, /* 0F,EC */ + reserved_decode, /* 0F,ED */ + reserved_decode, /* 0F,EE */ + reserved_decode, /* 0F,EF */ + reserved_decode, /* 0F,F0 */ + reserved_decode, /* 0F,F1 */ + reserved_decode, /* 0F,F2 */ + reserved_decode, /* 0F,F3 */ + reserved_decode, /* 0F,F4 */ + reserved_decode, /* 0F,F5 */ + reserved_decode, /* 0F,F6 */ + reserved_decode, /* 0F,F7 */ + reserved_decode, /* 0F,F8 */ + reserved_decode, /* 0F,F9 */ + reserved_decode, /* 0F,FA */ + reserved_decode, /* 0F,FB */ + reserved_decode, /* 0F,FC */ + reserved_decode, /* 0F,FD */ + reserved_decode, /* 0F,FE */ + reserved_decode /* 0F,FF */ +}; + + +/* Main IA Decode Function */ + +BOOL iadas_decode(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + int ret; + static LockRep zero = { 0 }; + + info->mode = iAmode; + info->opSize = info->addrSize = OpAddrSize(iAmode); + info->segment = 0; + info->lock_rep = zero; + + if (!memMIAIRd(eip, &op, 1) || + (ret = one_byte_opcode[op](eip, info)) <= 0) { + info->execFn = 0; /* decode failed */ + return NO; + } + + info->delta = ret; + return YES; +} + +/* Secondary IA Decode Function */ + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + + if (!memMIAIRd(eip, &op, 1)) + return DECODE_FAILED; + + return one_byte_opcode[op](eip, info); +} diff --git a/src/iadas_types.h b/src/iadas_types.h new file mode 100644 index 0000000..f10b995 --- /dev/null +++ b/src/iadas_types.h @@ -0,0 +1,187 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator iA Datatypes + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_IA_TYPES_H +#define _SKI_IA_TYPES_H + +#define IA16 2 +#define IA32 4 + +#define AL_REG 0 +#define CL_REG 1 +#define DL_REG 2 +#define BL_REG 3 +#define AH_REG 4 +#define CH_REG 5 +#define DH_REG 6 +#define BH_REG 7 + +#define AX_REG 0 +#define CX_REG 1 +#define DX_REG 2 +#define BX_REG 3 +#define SP_REG 4 +#define BP_REG 5 +#define SI_REG 6 +#define DI_REG 7 + +#define EAX_REG 0 +#define ECX_REG 1 +#define EDX_REG 2 +#define EBX_REG 3 +#define ESP_REG 4 +#define EBP_REG 5 +#define ESI_REG 6 +#define EDI_REG 7 + +#define ES_REG 0 +#define CS_REG 1 +#define SS_REG 2 +#define DS_REG 3 +#define FS_REG 4 +#define GS_REG 5 + +#define NO_REG 8 + +#define JO_COND 0x0 +#define JNO_COND 0x1 +#define JB_COND 0x2 +#define JNB_COND 0x3 +#define JZ_COND 0x4 +#define JNZ_COND 0x5 +#define JBE_COND 0x6 +#define JNBE_COND 0x7 +#define JS_COND 0x8 +#define JNS_COND 0x9 +#define JP_COND 0xA +#define JNP_COND 0xB +#define JL_COND 0xC +#define JNL_COND 0xD +#define JLE_COND 0xE +#define JNLE_COND 0xF +#define JCXZ_COND 0x10 + +#define LOOPNZ_COND 0x0 +#define LOOPZ_COND 0x1 +#define LOOP_COND 0x2 + +#define DISP16_RM 6 +#define DISP32_RM 5 +#define SIB_RM 4 + +typedef unsigned long long IAQWORD; + +typedef signed char IASBYTE; +typedef short IASWORD; +typedef int IASDWORD; +typedef long long IASQWORD; + +typedef unsigned short ADDR2; +typedef unsigned ADDR4; + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char mod:2; + unsigned char reg_op:3; + unsigned char rm:3; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char rm:3; + unsigned char reg_op:3; + unsigned char mod:2; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} ModRM; + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char ss:2; + unsigned char index:3; + unsigned char base:3; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char base:3; + unsigned char index:3; + unsigned char ss:2; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} SIB; + +#define NOLOCK 0 +#define LOCK 1 + +#define NOREP 0 +#define REP 1 +#define REPE 2 +#define REPNE 3 + +typedef struct { +#if BYTE_ORDER == BIG_ENDIAN + unsigned char op0F:1; + unsigned char lock:1; + unsigned char rep:2; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + unsigned char rep:2; + unsigned char lock:1; + unsigned char op0F:1; +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ +} LockRep; /* XXX - rename this */ + +struct ia_instinfo; + +/* read function */ +typedef int (*PIARF)(struct ia_instinfo *, int, IADWORD *, ADDR *, + ADDR *); +/* write function */ +/* execute function */ +/* disassembly function */ +typedef void (*PIADASF)(struct ia_instinfo *, char *); + +typedef struct ia_instinfo { + IADWORD imm32; + IADWORD disp32; + int execFn; + int srcRdFn; + int destRdFn; + int destWrFn; + PIADASF dasFn; + ModRM modrm; /* original ModR/M byte for disassembly */ + BYTE reg; /* reg/opcode field of ModR/M byte or opcode byte */ + BYTE scale; /* scale value of SIB byte (1, 2, 4, or 8) */ + BYTE index; /* index value of SIB byte */ + BYTE base; /* base field of SIB or R/M field of ModR/M (mod 3) */ + BYTE cond_seg; /* Jcc, SETcc, CMOVcc or LOOP condition/seg target */ + BYTE delta; /* IP offset to next instruction */ + LockRep lock_rep; /* lock & rep overrides */ + BYTE segment; /* segment reg ID - including overrides, if any */ + BYTE opSize; /* operand size - including overrides, if any */ + BYTE addrSize; /* address size - including overrides, if any */ + BYTE mode; /* IA16/IA32 mode in effect when instr was decoded */ +} IAinstInfo, *IAinstInfoPtr; + +typedef struct { + BYTE base; /* base register */ + BYTE index; /* index register */ + BYTE defSeg; /* default segment */ + char *fmt; /* disassembly format string */ +} EaInfo, *EaInfoPtr; + +#endif /* _SKI_IA_TYPES_H */ diff --git a/src/iaexec_dec.sed b/src/iaexec_dec.sed new file mode 100755 index 0000000..ca0f1d4 --- /dev/null +++ b/src/iaexec_dec.sed @@ -0,0 +1,11 @@ +/undef MAX/a\ +#undef PAGESIZE +/"sim\.h"/a\ +#include "memory.h"\ +#include "ia_types.h" +/"ia_exec\.h"/a\ +#include "ia_read.h"\ +#include "ia_write.h"\ +#include "ia_decoder.h" +s/ [^ ]*_das/ 0/ +/EaInfoPtr ea/,/^}/d diff --git a/src/iaexec_decoder.c b/src/iaexec_decoder.c new file mode 100644 index 0000000..3cbea51 --- /dev/null +++ b/src/iaexec_decoder.c @@ -0,0 +1,4572 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * IA Decoding Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include /* Just for INT_MIN as DECODE_FAILED? */ +#undef MIN +#undef MAX +#undef PAGESIZE +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "sim.h" +#include "memory.h" +#include "ia_types.h" +#include "ia_exec.h" +#include "ia_read.h" +#include "ia_write.h" +#include "ia_decoder.h" +#include "sign_ext.h" + +extern BYTE iAmode; +Status iAinstFetchDecode(IAinstInfoPtr info); + +#define DECODE_FAILED INT_MIN +#define overrideSize(x) ((x) ^= 6) /* flips between IA16 (2) & IA32 (4) */ + +typedef enum { + RegSrcEaDest, RegSrcNoDest, + EaSrcRegDest, EaSrcNoDest, + NoSrcEaDest, NoSrcRegDest, + LeaSrcRegDest, + LfpSrcRegDest, LfpSrcNoDest, + BoundSrcRegDest +} SrcDestType; + +typedef const struct { + PIAEF execFn; + BYTE opSize; + SrcDestType sdt; +} GroupInfo, *GroupInfoPtr; + +/* decode function */ +typedef int (*PIADF)(ADDR4, struct ia_instinfo *); + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info); +static const PIADF two_byte_opcode[256]; + + +/* Utility Functions */ + +/* Fetch and Assemble a "size"-byte Immediate */ + +static int iAimm(ADDR4 eip, IADWORD *val, BYTE size) +{ + BYTE imm[4]; + + if (!memIAIRd(eip, imm, size)) + return DECODE_FAILED; + + switch (size) { + case 1: + *val = sign_ext32(imm[0], 8); + break; + case 2: + *val = sign_ext32(imm[1]<<8 | imm[0], 16); + break; + case 4: + *val = imm[3]<<24 | imm[2]<<16 | imm[1]<<8 | imm[0]; + break; + } + return size; +} + +/* SIB Decode Function */ + +static int sib_decode(ADDR4 eip, IAinstInfoPtr info, BYTE mod, + PIARF *eaRdFn, PIAWF *eaWrFn, BYTE *defSeg) +{ + SIB sib; + int len = 1; + + if (!memIAIRd(eip, (BYTE *)&sib, 1)) + return DECODE_FAILED; + + info->scale = 1 << sib.ss; + info->index = (sib.index == ESP_REG) ? NO_REG : sib.index; + info->base = sib.base; + + if (sib.base == ESP_REG) + *defSeg = SS_ID; + else if (sib.base == EBP_REG) + if (mod == 0) { /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = NO_REG; + *defSeg = DS_ID; + } else /* EBP */ + *defSeg = SS_ID; + else + *defSeg = DS_ID; + + *eaRdFn = sib_dispIARd; + *eaWrFn = memIAWr; + return len; +} + +/* ModR/M Decode Tables */ + +static EaInfo ea16_info[3][8] = { /* Mod R/M */ + {{ BX_REG, SI_REG, DS_ID, "%s[bx][si]" }, /* 0 0 */ + { BX_REG, DI_REG, DS_ID, "%s[bx][di]" }, /* 0 1 */ + { BP_REG, SI_REG, SS_ID, "%s[bp][si]" }, /* 0 2 */ + { BP_REG, DI_REG, SS_ID, "%s[bp][di]" }, /* 0 3 */ + { SI_REG, NO_REG, DS_ID, "%s[si]" }, /* 0 4 */ + { DI_REG, NO_REG, DS_ID, "%s[di]" }, /* 0 5 */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 6 */ + { BX_REG, NO_REG, DS_ID, "%s[bx]" }}, /* 0 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 1 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 1 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 1 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 1 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 1 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 1 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 1 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }}, /* 1 7 */ + {{ BX_REG, SI_REG, DS_ID, "%s%s[bx][si]" }, /* 2 0 */ + { BX_REG, DI_REG, DS_ID, "%s%s[bx][di]" }, /* 2 1 */ + { BP_REG, SI_REG, SS_ID, "%s%s[bp][si]" }, /* 2 2 */ + { BP_REG, DI_REG, SS_ID, "%s%s[bp][di]" }, /* 2 3 */ + { SI_REG, NO_REG, DS_ID, "%s%s[si]" }, /* 2 4 */ + { DI_REG, NO_REG, DS_ID, "%s%s[di]" }, /* 2 5 */ + { BP_REG, NO_REG, SS_ID, "%s%s[bp]" }, /* 2 6 */ + { BX_REG, NO_REG, DS_ID, "%s%s[bx]" }} /* 2 7 */ +}; + +static EaInfo ea32_info[3][8] = { /* Mod R/M */ + {{ EAX_REG, NO_REG, DS_ID, "%s[eax]" }, /* 0 0 */ + { ECX_REG, NO_REG, DS_ID, "%s[ecx]" }, /* 0 1 */ + { EDX_REG, NO_REG, DS_ID, "%s[edx]" }, /* 0 2 */ + { EBX_REG, NO_REG, DS_ID, "%s[ebx]" }, /* 0 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 0 4 */ /* SIB */ + { NO_REG, NO_REG, DS_ID, "%s[%s]" }, /* 0 5 */ + { ESI_REG, NO_REG, DS_ID, "%s[esi]" }, /* 0 6 */ + { EDI_REG, NO_REG, DS_ID, "%s[edi]" }}, /* 0 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 1 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 1 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 1 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 1 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 1 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 1 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 1 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[edi]" }}, /* 1 7 */ + {{ EAX_REG, NO_REG, DS_ID, "%s%s[eax]" }, /* 2 0 */ + { ECX_REG, NO_REG, DS_ID, "%s%s[ecx]" }, /* 2 1 */ + { EDX_REG, NO_REG, DS_ID, "%s%s[edx]" }, /* 2 2 */ + { EBX_REG, NO_REG, DS_ID, "%s%s[ebx]" }, /* 2 3 */ + { NO_REG, NO_REG, DS_ID, "[--][--]" }, /* 2 4 */ /* SIB */ + { EBP_REG, NO_REG, SS_ID, "%s%s[ebp]" }, /* 2 5 */ + { ESI_REG, NO_REG, DS_ID, "%s%s[esi]" }, /* 2 6 */ + { EDI_REG, NO_REG, DS_ID, "%s%s[eax]" }} /* 2 7 */ +}; + + + +/* ModR/M Decode Function */ + +static int modrm_decode(ADDR4 eip, IAinstInfoPtr info, PIAEF execFn, + PIADASF dasFn, SrcDestType sdt) +{ + PIARF regRdFn, eaRdFn; + PIAWF regWrFn, eaWrFn; + ModRM modrm; + BYTE defSeg; + int len = 1; + + if (!memIAIRd(eip, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + info->modrm = modrm; + info->reg = modrm.reg_op; + switch (info->opSize) { + case 1: + regRdFn = reg8IARd; + regWrFn = reg8IAWr; + break; + case 2: + regRdFn = reg16IARd; + regWrFn = reg16IAWr; + break; + case 4: + regRdFn = reg32IARd; + regWrFn = reg32IAWr; + break; + } + + if (info->addrSize == IA16) { /* 16-bit addressing forms */ + switch (modrm.mod) { + case 0: + if (modrm.rm == DISP16_RM) /* disp16 */ + len += iAimm(eip+1, &info->disp32, 2); + else + info->disp32 = 0; + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm16_dispIARd; + eaWrFn = memIAWr; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 1: + case 2: + len += iAimm(eip+1, &info->disp32, modrm.mod); + info->base = ea16_info[modrm.mod][modrm.rm].base; + info->index = ea16_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm16_dispIARd; + eaWrFn = memIAWr; + defSeg = ea16_info[modrm.mod][modrm.rm].defSeg; + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = base8IARd; + eaWrFn = base8IAWr; + break; + case 2: + eaRdFn = base16IARd; + eaWrFn = base16IAWr; + break; + case 4: + eaRdFn = base32IARd; + eaWrFn = base32IAWr; + break; + } + break; + } + } else { /* 32-bit addressing forms */ + switch (modrm.mod) { + case 0: + info->disp32 = 0; + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + if (modrm.rm == DISP32_RM) /* disp32 */ + len += iAimm(eip+1, &info->disp32, 4); + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm32_dispIARd; + eaWrFn = memIAWr; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + break; + case 1: + case 2: + if (modrm.rm == SIB_RM) + len += sib_decode(++eip, info, modrm.mod, &eaRdFn, &eaWrFn, + &defSeg); + else { + info->base = ea32_info[modrm.mod][modrm.rm].base; + info->index = ea32_info[modrm.mod][modrm.rm].index; + eaRdFn = modrm32_dispIARd; + eaWrFn = memIAWr; + defSeg = ea32_info[modrm.mod][modrm.rm].defSeg; + } + len += iAimm(eip+1, &info->disp32, 3 * modrm.mod - 2); + break; + case 3: + info->base = modrm.rm; + switch (info->opSize) { + case 1: + eaRdFn = base8IARd; + eaWrFn = base8IAWr; + break; + case 2: + eaRdFn = base16IARd; + eaWrFn = base16IAWr; + break; + case 4: + eaRdFn = base32IARd; + eaWrFn = base32IAWr; + break; + } + break; + } + } + + /* fill in info src/dest rd/wr functions based on source/dest type */ + switch (sdt) { + case RegSrcEaDest: + info->srcRdFn = regRdFn; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case RegSrcNoDest: + info->srcRdFn = regRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case EaSrcRegDest: + info->srcRdFn = eaRdFn; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case EaSrcNoDest: + info->srcRdFn = eaRdFn; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case NoSrcEaDest: + info->srcRdFn = 0; + info->destRdFn = eaRdFn; + info->destWrFn = eaWrFn; + break; + case NoSrcRegDest: + info->srcRdFn = 0; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LeaSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that just return the + * effective address */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = lea16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = lea32IARd; + else /* sib_dispIARd */ + info->srcRdFn = leaSibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = load_far_ptr_16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = load_far_ptr_32IARd; + else /* sib_dispIARd */ + info->srcRdFn = load_far_ptr_sibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + case LfpSrcNoDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that use opSize + 2 + * for the size of the memory read */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = load_far_ptr_16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = load_far_ptr_32IARd; + else /* sib_dispIARd */ + info->srcRdFn = load_far_ptr_sibIARd; + info->destRdFn = 0; + info->destWrFn = 0; + break; + case BoundSrcRegDest: + /* change srcRdFn from the standard memory read functions that + * were set up above to special functions that read both bound + * values */ + if (eaRdFn == modrm16_dispIARd) + info->srcRdFn = bound16IARd; + else if (eaRdFn == modrm32_dispIARd) + info->srcRdFn = bound32IARd; + else /* sib_dispIARd */ + info->srcRdFn = boundSibIARd; + info->destRdFn = regRdFn; + info->destWrFn = regWrFn; + break; + } + if (!info->segment) /* no segment override or SIB */ + info->segment = defSeg; + info->execFn = execFn; + info->dasFn = dasFn; + return len; +} + +/* Decode a Reg, Imm Instruction */ + +static int iAregImm(ADDR4 eip, IAinstInfoPtr info, PIAEF execFn, + PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = immIARd; + switch (info->opSize) { + case 1: + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + break; + case 2: + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + break; + case 4: + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +/* Decode a Reg Instruction */ + +static int iAreg(IAinstInfoPtr info, PIAEF execFn, PIADASF dasFn, BYTE reg) +{ + info->srcRdFn = 0; + switch (info->opSize) { + case 1: + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + break; + case 2: + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + break; + case 4: + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + break; + } + info->reg = reg; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Reg, Reg Instruction */ + +static int iAregReg(IAinstInfoPtr info, PIAEF execFn, PIADASF dasFn, + BYTE dest, BYTE src) +{ + switch (info->opSize) { + case 1: + info->srcRdFn = reg8IARd; + info->destRdFn = base8IARd; + info->destWrFn = base8IAWr; + break; + case 2: + info->srcRdFn = reg16IARd; + info->destRdFn = base16IARd; + info->destWrFn = base16IAWr; + break; + case 4: + info->srcRdFn = reg32IARd; + info->destRdFn = base32IARd; + info->destWrFn = base32IAWr; + break; + } + info->base = dest; + info->reg = src; + info->execFn = execFn; + info->dasFn = dasFn; + return 1; +} + +/* Decode a Push Segment Register Instruction */ + +static int iApushSeg(IAinstInfoPtr info, BYTE src) +{ + info->srcRdFn = segRegIARd; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = 0; + return 1; +} + +/* Decode a Push Register Instruction */ + +static int iApushReg(IAinstInfoPtr info, BYTE src) +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else /* IA32 */ + info->srcRdFn = reg32IARd; + info->reg = src; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = 0; + return 1; +} + +/* Decode a Pop Segment Register Instruction */ + +static int iApopSeg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->destRdFn = segRegUpdateIARd; + info->destWrFn = segRegIAWr; + info->cond_seg = dest; + info->execFn = popIAEx; + info->dasFn = 0; + return 1; +} + +/* Decode a Pop Register Instruction */ + +static int iApopReg(IAinstInfoPtr info, BYTE dest) +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { /* IA32 */ + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = dest; + info->execFn = popIAEx; + info->dasFn = 0; + return 1; +} + + +/* One-Byte Opcode Decode Functions */ + +static int add_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 00 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, addIAEx, 0, RegSrcEaDest); +} + +static int add_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 01 */ +{ + return 1 + modrm_decode(eip+1, info, addIAEx, 0, RegSrcEaDest); +} + +static int add_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 02 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, addIAEx, 0, EaSrcRegDest); +} + +static int add_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 03 */ +{ + return 1 + modrm_decode(eip+1, info, addIAEx, 0, EaSrcRegDest); +} + +static int add_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 04 */ +{ + info->opSize = 1; + return iAregImm(eip, info, addIAEx, 0, AL_REG); +} + +static int add_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 05 */ +{ + return iAregImm(eip, info, addIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int push_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 06 */ +{ + return iApushSeg(info, ES_REG); +} + +/* ARGSUSED */ +static int pop_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 07 */ +{ + return iApopSeg(info, ES_REG); +} + +static int or_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 08 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, orIAEx, 0, RegSrcEaDest); +} + +static int or_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 09 */ +{ + return 1 + modrm_decode(eip+1, info, orIAEx, 0, RegSrcEaDest); +} + +static int or_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, orIAEx, 0, EaSrcRegDest); +} + +static int or_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0B */ +{ + return 1 + modrm_decode(eip+1, info, orIAEx, 0, EaSrcRegDest); +} + +static int or_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0C */ +{ + info->opSize = 1; + return iAregImm(eip, info, orIAEx, 0, AL_REG); +} + +static int or_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0D */ +{ + return iAregImm(eip, info, orIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int push_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0E */ +{ + return iApushSeg(info, CS_REG); +} + +static int two_byte_escape(ADDR4 eip, IAinstInfoPtr info) /* 0F */ +{ + BYTE op2; + + if (!memIAIRd(eip+1, &op2, 1)) + return DECODE_FAILED; + + return two_byte_opcode[op2](eip+1, info) + 1; +} + +static int adc_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 10 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, adcIAEx, 0, RegSrcEaDest); +} + +static int adc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 11 */ +{ + return 1 + modrm_decode(eip+1, info, adcIAEx, 0, RegSrcEaDest); +} + +static int adc_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 12 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, adcIAEx, 0, EaSrcRegDest); +} + +static int adc_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 13 */ +{ + return 1 + modrm_decode(eip+1, info, adcIAEx, 0, EaSrcRegDest); +} + +static int adc_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 14 */ +{ + info->opSize = 1; + return iAregImm(eip, info, adcIAEx, 0, AL_REG); +} + +static int adc_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 15 */ +{ + return iAregImm(eip, info, adcIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int push_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 16 */ +{ + return iApushSeg(info, SS_REG); +} + +/* ARGSUSED */ +static int pop_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 17 */ +{ + return iApopSeg(info, SS_REG); +} + +static int sbb_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 18 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, sbbIAEx, 0, RegSrcEaDest); +} + +static int sbb_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 19 */ +{ + return 1 + modrm_decode(eip+1, info, sbbIAEx, 0, RegSrcEaDest); +} + +static int sbb_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, sbbIAEx, 0, EaSrcRegDest); +} + +static int sbb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1B */ +{ + return 1 + modrm_decode(eip+1, info, sbbIAEx, 0, EaSrcRegDest); +} + +static int sbb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 1C */ +{ + info->opSize = 1; + return iAregImm(eip, info, sbbIAEx, 0, AL_REG); +} + +static int sbb_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 1D */ +{ + return iAregImm(eip, info, sbbIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int push_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1E */ +{ + return iApushSeg(info, DS_REG); +} + +/* ARGSUSED */ +static int pop_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 1F */ +{ + return iApopSeg(info, DS_REG); +} + +static int and_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 20 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, andIAEx, 0, RegSrcEaDest); +} + +static int and_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 21 */ +{ + return 1 + modrm_decode(eip+1, info, andIAEx, 0, RegSrcEaDest); +} + +static int and_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 22 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, andIAEx, 0, EaSrcRegDest); +} + +static int and_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 23 */ +{ + return 1 + modrm_decode(eip+1, info, andIAEx, 0, EaSrcRegDest); +} + +static int and_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 24 */ +{ + info->opSize = 1; + return iAregImm(eip, info, andIAEx, 0, AL_REG); +} + +static int and_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 25 */ +{ + return iAregImm(eip, info, andIAEx, 0, EAX_REG); +} + +static int seg_ES_decode(ADDR4 eip, IAinstInfoPtr info) /* 26 */ +{ + info->segment = ES_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int daa_decode(ADDR4 eip, IAinstInfoPtr info) /* 27 */ +{ + info->execFn = daaIAEx; + info->dasFn = 0; + return 1; +} + +static int sub_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 28 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, subIAEx, 0, RegSrcEaDest); +} + +static int sub_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 29 */ +{ + return 1 + modrm_decode(eip+1, info, subIAEx, 0, RegSrcEaDest); +} + +static int sub_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, subIAEx, 0, EaSrcRegDest); +} + +static int sub_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2B */ +{ + return 1 + modrm_decode(eip+1, info, subIAEx, 0, EaSrcRegDest); +} + +static int sub_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 2C */ +{ + info->opSize = 1; + return iAregImm(eip, info, subIAEx, 0, AL_REG); +} + +static int sub_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 2D */ +{ + return iAregImm(eip, info, subIAEx, 0, EAX_REG); +} + +static int seg_CS_decode(ADDR4 eip, IAinstInfoPtr info) /* 2E */ +{ + info->segment = CS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int das_decode(ADDR4 eip, IAinstInfoPtr info) /* 2F */ +{ + info->execFn = dasIAEx; + info->dasFn = 0; + return 1; +} + +static int xor_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 30 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xorIAEx, 0, RegSrcEaDest); +} + +static int xor_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 31 */ +{ + return 1 + modrm_decode(eip+1, info, xorIAEx, 0, RegSrcEaDest); +} + +static int xor_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 32 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xorIAEx, 0, EaSrcRegDest); +} + +static int xor_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 33 */ +{ + return 1 + modrm_decode(eip+1, info, xorIAEx, 0, EaSrcRegDest); +} + +static int xor_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 34 */ +{ + info->opSize = 1; + return iAregImm(eip, info, xorIAEx, 0, AL_REG); +} + +static int xor_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 35 */ +{ + return iAregImm(eip, info, xorIAEx, 0, EAX_REG); +} + +static int seg_SS_decode(ADDR4 eip, IAinstInfoPtr info) /* 36 */ +{ + info->segment = SS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aaa_decode(ADDR4 eip, IAinstInfoPtr info) /* 37 */ +{ + info->execFn = aaaIAEx; + info->dasFn = 0; + return 1; +} + +static int cmp_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 38 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpIAEx, 0, RegSrcEaDest); +} + +static int cmp_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 39 */ +{ + return 1 + modrm_decode(eip+1, info, cmpIAEx, 0, RegSrcEaDest); +} + +static int cmp_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpIAEx, 0, EaSrcRegDest); +} + +static int cmp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3B */ +{ + return 1 + modrm_decode(eip+1, info, cmpIAEx, 0, EaSrcRegDest); +} + +static int cmp_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 3C */ +{ + info->opSize = 1; + return iAregImm(eip, info, cmpIAEx, 0, AL_REG); +} + +static int cmp_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 3D */ +{ + return iAregImm(eip, info, cmpIAEx, 0, EAX_REG); +} + +static int seg_DS_decode(ADDR4 eip, IAinstInfoPtr info) /* 3E */ +{ + info->segment = DS_ID; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int aas_decode(ADDR4 eip, IAinstInfoPtr info) /* 3F */ +{ + info->execFn = aasIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int inc_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 40 */ +{ + return iAreg(info, incIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int inc_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 41 */ +{ + return iAreg(info, incIAEx, 0, ECX_REG); +} + +/* ARGSUSED */ +static int inc_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 42 */ +{ + return iAreg(info, incIAEx, 0, EDX_REG); +} + +/* ARGSUSED */ +static int inc_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 43 */ +{ + return iAreg(info, incIAEx, 0, EBX_REG); +} + +/* ARGSUSED */ +static int inc_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 44 */ +{ + return iAreg(info, incIAEx, 0, ESP_REG); +} + +/* ARGSUSED */ +static int inc_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 45 */ +{ + return iAreg(info, incIAEx, 0, EBP_REG); +} + +/* ARGSUSED */ +static int inc_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 46 */ +{ + return iAreg(info, incIAEx, 0, ESI_REG); +} + +/* ARGSUSED */ +static int inc_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 47 */ +{ + return iAreg(info, incIAEx, 0, EDI_REG); +} + +/* ARGSUSED */ +static int dec_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 48 */ +{ + return iAreg(info, decIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int dec_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 49 */ +{ + return iAreg(info, decIAEx, 0, ECX_REG); +} + +/* ARGSUSED */ +static int dec_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4A */ +{ + return iAreg(info, decIAEx, 0, EDX_REG); +} + +/* ARGSUSED */ +static int dec_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 4B */ +{ + return iAreg(info, decIAEx, 0, EBX_REG); +} + +/* ARGSUSED */ +static int dec_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4C */ +{ + return iAreg(info, decIAEx, 0, ESP_REG); +} + +/* ARGSUSED */ +static int dec_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 4D */ +{ + return iAreg(info, decIAEx, 0, EBP_REG); +} + +/* ARGSUSED */ +static int dec_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4E */ +{ + return iAreg(info, decIAEx, 0, ESI_REG); +} + +/* ARGSUSED */ +static int dec_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 4F */ +{ + return iAreg(info, decIAEx, 0, EDI_REG); +} + +/* ARGSUSED */ +static int push_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 50 */ +{ + return iApushReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int push_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 51 */ +{ + return iApushReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int push_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 52 */ +{ + return iApushReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int push_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 53 */ +{ + return iApushReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int push_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 54 */ +{ + return iApushReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int push_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 55 */ +{ + return iApushReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int push_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 56 */ +{ + return iApushReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int push_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 57 */ +{ + return iApushReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pop_eAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 58 */ +{ + return iApopReg(info, EAX_REG); +} + +/* ARGSUSED */ +static int pop_eCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 59 */ +{ + return iApopReg(info, ECX_REG); +} + +/* ARGSUSED */ +static int pop_eDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5A */ +{ + return iApopReg(info, EDX_REG); +} + +/* ARGSUSED */ +static int pop_eBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 5B */ +{ + return iApopReg(info, EBX_REG); +} + +/* ARGSUSED */ +static int pop_eSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5C */ +{ + return iApopReg(info, ESP_REG); +} + +/* ARGSUSED */ +static int pop_eBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 5D */ +{ + return iApopReg(info, EBP_REG); +} + +/* ARGSUSED */ +static int pop_eSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5E */ +{ + return iApopReg(info, ESI_REG); +} + +/* ARGSUSED */ +static int pop_eDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 5F */ +{ + return iApopReg(info, EDI_REG); +} + +/* ARGSUSED */ +static int pusha_decode(ADDR4 eip, IAinstInfoPtr info) /* 60 */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = pusha_spIARd; + info->destWrFn = pusha_spIAWr; + } else { /* IA32 */ + info->destRdFn = pusha_espIARd; + info->destWrFn = pusha_espIAWr; + } + info->execFn = pushaIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int popa_decode(ADDR4 eip, IAinstInfoPtr info) /* 61 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = popa_spIARd; + else /* IA32 */ + info->srcRdFn = popa_espIARd; + info->execFn = popaIAEx; + info->dasFn = 0; + return 1; +} + +static int bound_GvMa_decode(ADDR4 eip, IAinstInfoPtr info) /* 62 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, boundIAEx, 0, + BoundSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int arpl_EwGw_decode(ADDR4 eip, IAinstInfoPtr info) /* 63 */ +{ + return 1 + modrm_decode(eip+1, info, arplIAEx, 0, + RegSrcEaDest); +} + +static int seg_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 64 */ +{ + info->segment = FS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int seg_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 65 */ +{ + info->segment = GS_ID; + return ia_decode2(eip+1, info) + 1; +} + +static int operand_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 66 */ +{ + overrideSize(info->opSize); + return ia_decode2(eip+1, info) + 1; +} + +static int address_size_decode(ADDR4 eip, IAinstInfoPtr info) /* 67 */ +{ + overrideSize(info->addrSize); + return ia_decode2(eip+1, info) + 1; +} + +static int push_Iv_decode(ADDR4 eip, IAinstInfoPtr info) /* 68 */ +{ + info->srcRdFn = immIARd; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, info->opSize); +} + +static int imul_GvEvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 69 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, imulIAEx, 0, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = immIARd; + len += iAimm(eip+len, &info->imm32, info->opSize); + return len; +} + +static int push_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* 6A */ +{ + info->srcRdFn = immIARd; + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int imul_GvEvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6B */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, imulIAEx, 0, EaSrcRegDest); + info->destRdFn = info->srcRdFn; + info->srcRdFn = immIARd; + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +/* ARGSUSED */ +static int insb_YbDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6C */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_insIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = insIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int insw_YvDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 6D */ +{ + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_insIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = insIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int outsb_DXXb_decode(ADDR4 eip, IAinstInfoPtr info) /* 6E */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_outsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = outsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int outsw_DXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* 6F */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_outsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = outsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int jo_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 70 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jno_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 71 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 72 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnb_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 73 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 74 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 75 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 76 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnbe_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 77 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int js_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 78 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jns_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 79 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnl_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jnle_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* 7F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static GroupInfo group1_info[8] = { /* reg_op */ + { addIAEx, 0, NoSrcEaDest }, /* 0 */ + { orIAEx, 0, NoSrcEaDest }, /* 1 */ + { adcIAEx, 0, NoSrcEaDest }, /* 2 */ + { sbbIAEx, 0, NoSrcEaDest }, /* 3 */ + { andIAEx, 0, NoSrcEaDest }, /* 4 */ + { subIAEx, 0, NoSrcEaDest }, /* 5 */ + { xorIAEx, 0, NoSrcEaDest }, /* 6 */ + { cmpIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group1_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 80 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int group1_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* 81 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + return len; +} + +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ +static int movb_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 82 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int group1_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 83 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group1_info[modrm.reg_op]; + + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int test_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 84 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, testIAEx, 0, + RegSrcEaDest); +} + +static int test_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 85 */ +{ + return 1 + modrm_decode(eip+1, info, testIAEx, 0, + RegSrcEaDest); +} + +static int xchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 86 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xchgIAEx, 0, + RegSrcEaDest); +} + +static int xchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 87 */ +{ + return 1 + modrm_decode(eip+1, info, xchgIAEx, 0, + RegSrcEaDest); +} + +static int mov_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 88 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, movIAEx, 0, RegSrcEaDest); +} + +static int mov_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 89 */ +{ + return 1 + modrm_decode(eip+1, info, movIAEx, 0, RegSrcEaDest); +} + +static int mov_GbEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 8A */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, movIAEx, 0, EaSrcRegDest); +} + +static int mov_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 8B */ +{ + return 1 + modrm_decode(eip+1, info, movIAEx, 0, EaSrcRegDest); +} + +static int mov_EwSw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8C */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if dest is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movIAEx, 0, NoSrcEaDest); + info->srcRdFn = segRegIARd; + return len; +} + +static int lea_GvM_decode(ADDR4 eip, IAinstInfoPtr info) /* 8D */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, leaIAEx, 0, LeaSrcRegDest); + + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_SwEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 8E */ +{ + int len = 1; + + /* XXX - PPro allows 4-byte mov if src is a register */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movIAEx, 0, EaSrcNoDest); + info->destRdFn = segRegUpdateIARd; + info->destWrFn = segRegIAWr; + if (info->reg == CS_REG || info->reg > GS_REG) + info->execFn = reservedIAEx; + info->cond_seg = info->reg; + return len; +} + +static int pop_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* 8F */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, popIAEx, 0, NoSrcEaDest); + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + return len; +} + +/* ARGSUSED */ +static int nop_decode(ADDR4 eip, IAinstInfoPtr info) /* 90 */ +{ + info->execFn = nopIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int xchg_eAXeCX_decode(ADDR4 eip, IAinstInfoPtr info) /* 91 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, ECX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 92 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, EDX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 93 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, EBX_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSP_decode(ADDR4 eip, IAinstInfoPtr info) /* 94 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, ESP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 95 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, EBP_REG); +} + +/* ARGSUSED */ +static int xchg_eAXeSI_decode(ADDR4 eip, IAinstInfoPtr info) /* 96 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, ESI_REG); +} + +static int xchg_eAXeDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 97 */ +{ + return iAregReg(info, xchgIAEx, 0, EAX_REG, EDI_REG); +} + +/* ARGSUSED */ +static int cbw_decode(ADDR4 eip, IAinstInfoPtr info) /* 98 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = reg8IARd; + info->destWrFn = reg16IAWr; + } else { + info->srcRdFn = reg16IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->execFn = cbwIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int cwd_decode(ADDR4 eip, IAinstInfoPtr info) /* 99 */ +{ + if (info->opSize == IA16) { + info->srcRdFn = reg16IARd; + info->destWrFn = base16IAWr; + } else { + info->srcRdFn = reg32IARd; + info->destWrFn = base32IAWr; + } + info->reg = EAX_REG; + info->base = EDX_REG; + info->execFn = cwdIAEx; + info->dasFn = 0; + return 1; +} + +static int call_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* 9A */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->cond_seg = CS_REG; + info->execFn = call_far_absIAEx; + info->dasFn = 0; + return len; +} + +/* ARGSUSED */ +static int wait_decode(ADDR4 eip, IAinstInfoPtr info) /* 9B */ +{ + info->execFn = waitIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int pushf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9C */ +{ + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = pushfIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int popf_Fv_decode(ADDR4 eip, IAinstInfoPtr info) /* 9D */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = popfIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int sahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9E */ +{ + info->execFn = sahfIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int lahf_decode(ADDR4 eip, IAinstInfoPtr info) /* 9F */ +{ + info->execFn = lahfIAEx; + info->dasFn = 0; + return 1; +} + +static int mov_ALOb_decode(ADDR4 eip, IAinstInfoPtr info) /* A0 */ +{ + info->opSize = 1; + info->base = info->index = NO_REG; + info->srcRdFn = modrm16_dispIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = movIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_eAXOv_decode(ADDR4 eip, IAinstInfoPtr info) /* A1 */ +{ + info->base = info->index = NO_REG; + info->srcRdFn = modrm16_dispIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->execFn = movIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_ObAL_decode(ADDR4 eip, IAinstInfoPtr info) /* A2 */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->base = info->index = NO_REG; + info->destRdFn = modrm16_dispIARd; + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = movIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int mov_OveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* A3 */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->base = info->index = NO_REG; + info->destRdFn = modrm16_dispIARd; + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->execFn = movIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->addrSize); +} + +static int movsb_YbXb_decode(ADDR4 eip, IAinstInfoPtr info) /* A4 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = str_siIARd; + info->destRdFn = str_diIARd; + } else { + info->srcRdFn = str_esiIARd; + info->destRdFn = str_ediIARd; + } + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_movsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = movsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int movsw_YvXv_decode(ADDR4 eip, IAinstInfoPtr info) /* A5 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = str_siIARd; + info->destRdFn = str_diIARd; + } else { + info->srcRdFn = str_esiIARd; + info->destRdFn = str_ediIARd; + } + info->destWrFn = memIAWr; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_movsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = movsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int cmpsb_XbYb_decode(ADDR4 eip, IAinstInfoPtr info) /* A6 */ +{ + info->opSize = 1; + if (info->addrSize == IA16) { + info->srcRdFn = str_diIARd; + info->destRdFn = str_siIARd; + } else { + info->srcRdFn = str_ediIARd; + info->destRdFn = str_esiIARd; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_cmpsIAEx; + break; + case REPNE: + info->execFn = repne_cmpsIAEx; + break; + default: + info->execFn = cmpsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int cmpsw_XvYv_decode(ADDR4 eip, IAinstInfoPtr info) /* A7 */ +{ + if (info->addrSize == IA16) { + info->srcRdFn = str_diIARd; + info->destRdFn = str_siIARd; + } else { + info->srcRdFn = str_ediIARd; + info->destRdFn = str_esiIARd; + } + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_cmpsIAEx; + break; + case REPNE: + info->execFn = repne_cmpsIAEx; + break; + default: + info->execFn = cmpsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int test_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* A8 */ +{ + info->opSize = 1; + return iAregImm(eip, info, testIAEx, 0, AL_REG); +} + +static int test_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* A9 */ +{ + return iAregImm(eip, info, testIAEx, 0, EAX_REG); +} + +static int stosb_YbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* AA */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_stosIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = stosIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int stosw_YveAX_decode(ADDR4 eip, IAinstInfoPtr info) /* AB */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + if (info->addrSize == IA16) + info->destRdFn = str_diIARd; + else + info->destRdFn = str_ediIARd; + info->destWrFn = memIAWr; + info->segment = ES_ID; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_stosIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = stosIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int lodsb_ALXb_decode(ADDR4 eip, IAinstInfoPtr info) /* AC */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->destRdFn = reg8IARd; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_lodsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = lodsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int lodsw_eAXXv_decode(ADDR4 eip, IAinstInfoPtr info) /* AD */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_siIARd; + else + info->srcRdFn = str_esiIARd; + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->execFn = rep_lodsIAEx; + break; + case REPNE: + info->execFn = reservedIAEx; + break; + default: + info->execFn = lodsIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int scasb_ALYb_decode(ADDR4 eip, IAinstInfoPtr info) /* AE */ +{ + info->opSize = 1; + if (info->addrSize == IA16) + info->srcRdFn = str_diIARd; + else + info->srcRdFn = str_ediIARd; + info->segment = ES_ID; + info->destRdFn = reg8IARd; + info->reg = AL_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_scasIAEx; + break; + case REPNE: + info->execFn = repne_scasIAEx; + break; + default: + info->execFn = scasIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int scasw_eAXYv_decode(ADDR4 eip, IAinstInfoPtr info) /* AF */ +{ + if (info->addrSize == IA16) + info->srcRdFn = str_diIARd; + else + info->srcRdFn = str_ediIARd; + info->segment = ES_ID; + if (info->opSize == IA16) + info->destRdFn = reg16IARd; + else + info->destRdFn = reg32IARd; + info->reg = EAX_REG; + info->modrm.mod = 0; + switch (info->lock_rep.rep) { + case REP: + info->lock_rep.rep = REPE; + info->execFn = repe_scasIAEx; + break; + case REPNE: + info->execFn = repne_scasIAEx; + break; + default: + info->execFn = scasIAEx; + break; + } + info->dasFn = 0; + return 1; +} + +static int mov_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B0 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, AL_REG); +} + +static int mov_CLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B1 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, CL_REG); +} + +static int mov_DLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B2 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, DL_REG); +} + +static int mov_BLIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B3 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, BL_REG); +} + +static int mov_AHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B4 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, AH_REG); +} + +static int mov_CHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B5 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, CH_REG); +} + +static int mov_DHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B6 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, DH_REG); +} + +static int mov_BHIb_decode(ADDR4 eip, IAinstInfoPtr info) /* B7 */ +{ + info->opSize = 1; + return iAregImm(eip, info, movIAEx, 0, BH_REG); +} + +static int mov_eAXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B8 */ +{ + return iAregImm(eip, info, movIAEx, 0, EAX_REG); +} + +static int mov_eCXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* B9 */ +{ + return iAregImm(eip, info, movIAEx, 0, ECX_REG); +} + +static int mov_eDXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BA */ +{ + return iAregImm(eip, info, movIAEx, 0, EDX_REG); +} + +static int mov_eBXIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BB */ +{ + return iAregImm(eip, info, movIAEx, 0, EBX_REG); +} + +static int mov_eSPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BC */ +{ + return iAregImm(eip, info, movIAEx, 0, ESP_REG); +} + +static int mov_eBPIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BD */ +{ + return iAregImm(eip, info, movIAEx, 0, EBP_REG); +} + +static int mov_eSIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BE */ +{ + return iAregImm(eip, info, movIAEx, 0, ESI_REG); +} + +static int mov_eDIIv_decode(ADDR4 eip, IAinstInfoPtr info) /* BF */ +{ + return iAregImm(eip, info, movIAEx, 0, EDI_REG); +} + +static GroupInfo group2_info[8] = { /* reg_op */ + { rolIAEx, 0, NoSrcEaDest }, /* 0 */ + { rorIAEx, 0, NoSrcEaDest }, /* 1 */ + { rclIAEx, 0, NoSrcEaDest }, /* 2 */ + { rcrIAEx, 0, NoSrcEaDest }, /* 3 */ + { shlIAEx, 0, NoSrcEaDest }, /* 4 */ + { shrIAEx, 0, NoSrcEaDest }, /* 5 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary */ + { sarIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group2_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int group2_EvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int ret_near_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* C2 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = ret_nearIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_near_decode(ADDR4 eip, IAinstInfoPtr info) /* C3 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = ret_nearIAEx; + info->dasFn = 0; + info->imm32 = 0; + return 1; +} + +static int les_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, 0, + LfpSrcRegDest); + info->cond_seg = ES_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lds_GvMp_decode(ADDR4 eip, IAinstInfoPtr info) /* C5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, 0, + LfpSrcRegDest); + info->cond_seg = DS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_EbIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C6 */ +{ + int len = 1; + + info->opSize = 1; + len += modrm_decode(eip+1, info, movIAEx, 0, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int mov_EvIv_decode(ADDR4 eip, IAinstInfoPtr info) /* C7 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, movIAEx, 0, NoSrcEaDest); + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + return len; +} + +static int enter_IwIb_decode(ADDR4 eip, IAinstInfoPtr info) /* C8 */ +{ + int len = 1; + + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + len += iAimm(eip+1, &info->imm32, 2); /* imm16 */ + len += iAimm(eip+len, &info->disp32, 1); /* imm8 */ + info->execFn = enterIAEx; + info->dasFn = 0; + return len; +} + +/* ARGSUSED */ +static int leave_decode(ADDR4 eip, IAinstInfoPtr info) /* C9 */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->execFn = leaveIAEx; + info->dasFn = 0; + return 1; +} + +static int ret_far_Iw_decode(ADDR4 eip, IAinstInfoPtr info) /* CA */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = ret_farIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 2); +} + +/* ARGSUSED */ +static int ret_far_decode(ADDR4 eip, IAinstInfoPtr info) /* CB */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = ret_farIAEx; + info->dasFn = 0; + info->imm32 = 0; + return 1; +} + +/* ARGSUSED */ +static int int3_decode(ADDR4 eip, IAinstInfoPtr info) /* CC */ +{ + info->execFn = intIAEx; + info->dasFn = 0; + info->imm32 = 3; + return 1; +} + +static int int_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* CD */ +{ + info->execFn = intIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* ARGSUSED */ +static int into_decode(ADDR4 eip, IAinstInfoPtr info) /* CE */ +{ + info->execFn = intoIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int iret_decode(ADDR4 eip, IAinstInfoPtr info) /* CF */ +{ + if (StackAddrSize(info->mode) == IA16) + info->srcRdFn = pop_spIARd; + else /* IA32 */ + info->srcRdFn = pop_espIARd; + info->cond_seg = CS_REG; + info->execFn = iretIAEx; + info->dasFn = 0; + return 1; +} + +static int group2_Eb1_decode(ADDR4 eip, IAinstInfoPtr info) /* D0 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + info->imm32 = 1; + info->srcRdFn = immIARd; + return len; +} + +static int group2_Ev1_decode(ADDR4 eip, IAinstInfoPtr info) /* D1 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + info->imm32 = 1; + info->srcRdFn = immIARd; + return len; +} + +static int group2_EbCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D2 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = reg8IARd; + return len; +} + +static int group2_EvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* D3 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group2_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + info->reg = CL_REG; + info->srcRdFn = reg8IARd; + return len; +} + +static int aam_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D4 */ +{ + info->execFn = aamIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +static int aad_Ib_decode(ADDR4 eip, IAinstInfoPtr info) /* D5 */ +{ + info->execFn = aadIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->imm32, 1); +} + +/* salc is an undocumented opcode */ +static int salc_decode(ADDR4 eip, IAinstInfoPtr info) /* D6 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int xlat_decode(ADDR4 eip, IAinstInfoPtr info) /* D7 */ +{ + if (!info->segment) /* no segment override */ + info->segment = DS_ID; + info->srcRdFn = xlatIARd; + info->execFn = xlatIAEx; + info->dasFn = 0; + info->modrm.mod = 0; + return 1; +} + +static int esc_D8_decode(ADDR4 eip, IAinstInfoPtr info) /* D8 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_D9_decode(ADDR4 eip, IAinstInfoPtr info) /* D9 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DA_decode(ADDR4 eip, IAinstInfoPtr info) /* DA */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DB_decode(ADDR4 eip, IAinstInfoPtr info) /* DB */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DC_decode(ADDR4 eip, IAinstInfoPtr info) /* DC */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DD_decode(ADDR4 eip, IAinstInfoPtr info) /* DD */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DE_decode(ADDR4 eip, IAinstInfoPtr info) /* DE */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int esc_DF_decode(ADDR4 eip, IAinstInfoPtr info) /* DF */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int loopn_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E0 */ +{ + info->cond_seg = LOOPNZ_COND; + info->execFn = loopIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loope_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E1 */ +{ + info->cond_seg = LOOPZ_COND; + info->execFn = loopIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int loop_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E2 */ +{ + info->cond_seg = LOOP_COND; + info->execFn = loopIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int jcxz_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* E3 */ +{ + info->cond_seg = JCXZ_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, 1); +} + +static int in_ALIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E4 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = immIARd; + info->destRdFn = 0; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = inIAEx; + info->dasFn = 0; + return len; +} + +static int in_eAXIb_decode(ADDR4 eip, IAinstInfoPtr info) /* E5 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->srcRdFn = immIARd; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + info->reg = EAX_REG; + info->execFn = inIAEx; + info->dasFn = 0; + return len; +} + +static int out_IbAL_decode(ADDR4 eip, IAinstInfoPtr info) /* E6 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->destRdFn = immIARd; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = 0; + return len; +} + +static int out_IbeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* E7 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->imm32, 1); + info->imm32 &= 0xff; /* zero-extend immediate */ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->destRdFn = immIARd; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = 0; + return len; +} + +static int call_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + info->execFn = call_near_relIAEx; + info->dasFn = 0; + return len; +} + +static int jmp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* E9 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = jmp_near_relIAEx; + info->dasFn = 0; + return len; +} + +static int jmp_Ap_decode(ADDR4 eip, IAinstInfoPtr info) /* EA */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); /* offset */ + len += iAimm(eip+len, &info->imm32, 2); /* segment */ + info->cond_seg = CS_REG; + info->execFn = jmp_far_absIAEx; + info->dasFn = 0; + return len; +} + +static int jmp_Jb_decode(ADDR4 eip, IAinstInfoPtr info) /* EB */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, 1); + info->execFn = jmp_near_relIAEx; + info->dasFn = 0; + return len; +} + +/* ARGSUSED */ +static int in_ALDX_decode(ADDR4 eip, IAinstInfoPtr info) /* EC */ +{ + info->opSize = 1; + info->srcRdFn = base16IARd; + info->base = DX_REG; + info->destRdFn = 0; + info->destWrFn = reg8IAWr; + info->reg = AL_REG; + info->execFn = inIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int in_eAXDX_decode(ADDR4 eip, IAinstInfoPtr info) /* ED */ +{ + info->srcRdFn = base16IARd; + info->base = DX_REG; + info->destRdFn = 0; + if (info->opSize == IA16) + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + info->reg = EAX_REG; + info->execFn = inIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int out_DXAL_decode(ADDR4 eip, IAinstInfoPtr info) /* EE */ +{ + info->opSize = 1; + info->srcRdFn = reg8IARd; + info->reg = AL_REG; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int out_DXeAX_decode(ADDR4 eip, IAinstInfoPtr info) /* EF */ +{ + if (info->opSize == IA16) + info->srcRdFn = reg16IARd; + else + info->srcRdFn = reg32IARd; + info->reg = EAX_REG; + info->destRdFn = base16IARd; + info->base = DX_REG; + info->destWrFn = memIAWr; + info->execFn = outIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int lock_decode(ADDR4 eip, IAinstInfoPtr info) /* F0 */ +{ + info->execFn = lockIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int reserved_decode(ADDR4 eip, IAinstInfoPtr info) /* F1 */ +{ + info->execFn = reservedIAEx; + info->dasFn = 0; + return 1; +} + +static int repne_decode(ADDR4 eip, IAinstInfoPtr info) /* F2 */ +{ + info->lock_rep.rep = REPNE; + return ia_decode2(eip+1, info) + 1; +} + +static int rep_decode(ADDR4 eip, IAinstInfoPtr info) /* F3 */ +{ + info->lock_rep.rep = REP; + return ia_decode2(eip+1, info) + 1; +} + +/* ARGSUSED */ +static int hlt_decode(ADDR4 eip, IAinstInfoPtr info) /* F4 */ +{ + info->execFn = hltIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int cmc_decode(ADDR4 eip, IAinstInfoPtr info) /* F5 */ +{ + info->execFn = cmcIAEx; + info->dasFn = 0; + return 1; +} + +static GroupInfo group3_info[8] = { /* reg_op */ + { testIAEx, 0, NoSrcEaDest }, /* 0 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { notIAEx, 0, NoSrcEaDest }, /* 2 */ + { negIAEx, 0, NoSrcEaDest }, /* 3 */ + { mulIAEx, 0, EaSrcNoDest }, /* 4 */ + { imulIAEx, 0, EaSrcNoDest }, /* 5 */ + { divIAEx, 0, EaSrcNoDest }, /* 6 */ + { idivIAEx, 0, EaSrcNoDest } /* 7 */ +}; + +static int group3_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* F6 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + info->opSize = 1; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + break; + case 4: /* mul */ + case 5: /* imul */ + info->destRdFn = reg8IARd; + info->destWrFn = reg16IAWr; + info->reg = AX_REG; + break; + case 6: /* div */ + case 7: /* idiv */ + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + info->reg = AX_REG; + break; + } + return len; +} + +static int group3_Ev_decode(ADDR4 eip, IAinstInfoPtr info) /* F7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group3_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + switch (modrm.reg_op) { + case 0: /* test */ + len += iAimm(eip+len, &info->imm32, info->opSize); + info->srcRdFn = immIARd; + break; + case 4: /* mul */ + case 5: /* imul */ + case 6: /* div */ + case 7: /* idiv */ + if (info->opSize == IA16) { + info->destRdFn = reg16IARd; + info->destWrFn = reg16IAWr; + } else { + info->destRdFn = reg32IARd; + info->destWrFn = reg32IAWr; + } + info->reg = AX_REG; + break; + } + return len; +} + +/* ARGSUSED */ +static int clc_decode(ADDR4 eip, IAinstInfoPtr info) /* F8 */ +{ + info->execFn = clcIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int stc_decode(ADDR4 eip, IAinstInfoPtr info) /* F9 */ +{ + info->execFn = stcIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int cli_decode(ADDR4 eip, IAinstInfoPtr info) /* FA */ +{ + info->execFn = cliIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int sti_decode(ADDR4 eip, IAinstInfoPtr info) /* FB */ +{ + info->execFn = stiIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int cld_decode(ADDR4 eip, IAinstInfoPtr info) /* FC */ +{ + info->execFn = cldIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int std_decode(ADDR4 eip, IAinstInfoPtr info) /* FD */ +{ + info->execFn = stdIAEx; + info->dasFn = 0; + return 1; +} + +static GroupInfo group4_info[8] = { /* reg_op */ + { incIAEx, 1, NoSrcEaDest }, /* 0 */ + { decIAEx, 1, NoSrcEaDest }, /* 1 */ + { reservedIAEx, 0, EaSrcNoDest }, /* 2 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 3 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 4 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest }, /* 6 - opSize & sdt arbitrary */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group4_decode(ADDR4 eip, IAinstInfoPtr info) /* FE */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group4_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + return len; +} + +static GroupInfo group5_info[8] = { /* reg_op */ + { incIAEx, 0, NoSrcEaDest }, /* 0 */ + { decIAEx, 0, NoSrcEaDest }, /* 1 */ + { call_near_indIAEx, 0, EaSrcNoDest }, /* 2 */ + { call_far_indIAEx, 0, LfpSrcNoDest }, /* 3 */ + { jmp_near_indIAEx, 0, EaSrcNoDest }, /* 4 */ + { jmp_far_indIAEx, 0, LfpSrcNoDest }, /* 5 */ + { pushIAEx, 0, EaSrcNoDest }, /* 6 */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +static int group5_decode(ADDR4 eip, IAinstInfoPtr info) /* FF */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group5_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + + /* call_near, call_far, push */ + if (modrm.reg_op == 2 || modrm.reg_op == 3 || modrm.reg_op == 6) { + if (StackAddrSize(info->mode) == IA16) { + info->destRdFn = push_spIARd; + info->destWrFn = push_spIAWr; + } else { /* IA32 */ + info->destRdFn = push_espIARd; + info->destWrFn = push_espIAWr; + } + } + /* call_far, jmp_far */ + if (modrm.reg_op == 3 || modrm.reg_op == 5) + info->cond_seg = CS_REG; + + return len; +} + +/* One-Byte Opcode Table */ + +static const PIADF one_byte_opcode[256] = { + add_EbGb_decode, /* 00 */ + add_EvGv_decode, /* 01 */ + add_GbEb_decode, /* 02 */ + add_GvEv_decode, /* 03 */ + add_ALIb_decode, /* 04 */ + add_eAXIv_decode, /* 05 */ + push_ES_decode, /* 06 */ + pop_ES_decode, /* 07 */ + or_EbGb_decode, /* 08 */ + or_EvGv_decode, /* 09 */ + or_GbEb_decode, /* 0A */ + or_GvEv_decode, /* 0B */ + or_ALIb_decode, /* 0C */ + or_eAXIv_decode, /* 0D */ + push_CS_decode, /* 0E */ + two_byte_escape, /* 0F */ + adc_EbGb_decode, /* 10 */ + adc_EvGv_decode, /* 11 */ + adc_GbEb_decode, /* 12 */ + adc_GvEv_decode, /* 13 */ + adc_ALIb_decode, /* 14 */ + adc_eAXIv_decode, /* 15 */ + push_SS_decode, /* 16 */ + pop_SS_decode, /* 17 */ + sbb_EbGb_decode, /* 18 */ + sbb_EvGv_decode, /* 19 */ + sbb_GbEb_decode, /* 1A */ + sbb_GvEv_decode, /* 1B */ + sbb_ALIb_decode, /* 1C */ + sbb_eAXIv_decode, /* 1D */ + push_DS_decode, /* 1E */ + pop_DS_decode, /* 1F */ + and_EbGb_decode, /* 20 */ + and_EvGv_decode, /* 21 */ + and_GbEb_decode, /* 22 */ + and_GvEv_decode, /* 23 */ + and_ALIb_decode, /* 24 */ + and_eAXIv_decode, /* 25 */ + seg_ES_decode, /* 26 */ + daa_decode, /* 27 */ + sub_EbGb_decode, /* 28 */ + sub_EvGv_decode, /* 29 */ + sub_GbEb_decode, /* 2A */ + sub_GvEv_decode, /* 2B */ + sub_ALIb_decode, /* 2C */ + sub_eAXIv_decode, /* 2D */ + seg_CS_decode, /* 2E */ + das_decode, /* 2F */ + xor_EbGb_decode, /* 30 */ + xor_EvGv_decode, /* 31 */ + xor_GbEb_decode, /* 32 */ + xor_GvEv_decode, /* 33 */ + xor_ALIb_decode, /* 34 */ + xor_eAXIv_decode, /* 35 */ + seg_SS_decode, /* 36 */ + aaa_decode, /* 37 */ + cmp_EbGb_decode, /* 38 */ + cmp_EvGv_decode, /* 39 */ + cmp_GbEb_decode, /* 3A */ + cmp_GvEv_decode, /* 3B */ + cmp_ALIb_decode, /* 3C */ + cmp_eAXIv_decode, /* 3D */ + seg_DS_decode, /* 3E */ + aas_decode, /* 3F */ + inc_eAX_decode, /* 40 */ + inc_eCX_decode, /* 41 */ + inc_eDX_decode, /* 42 */ + inc_eBX_decode, /* 43 */ + inc_eSP_decode, /* 44 */ + inc_eBP_decode, /* 45 */ + inc_eSI_decode, /* 46 */ + inc_eDI_decode, /* 47 */ + dec_eAX_decode, /* 48 */ + dec_eCX_decode, /* 49 */ + dec_eDX_decode, /* 4A */ + dec_eBX_decode, /* 4B */ + dec_eSP_decode, /* 4C */ + dec_eBP_decode, /* 4D */ + dec_eSI_decode, /* 4E */ + dec_eDI_decode, /* 4F */ + push_eAX_decode, /* 50 */ + push_eCX_decode, /* 51 */ + push_eDX_decode, /* 52 */ + push_eBX_decode, /* 53 */ + push_eSP_decode, /* 54 */ + push_eBP_decode, /* 55 */ + push_eSI_decode, /* 56 */ + push_eDI_decode, /* 57 */ + pop_eAX_decode, /* 58 */ + pop_eCX_decode, /* 59 */ + pop_eDX_decode, /* 5A */ + pop_eBX_decode, /* 5B */ + pop_eSP_decode, /* 5C */ + pop_eBP_decode, /* 5D */ + pop_eSI_decode, /* 5E */ + pop_eDI_decode, /* 5F */ + pusha_decode, /* 60 */ + popa_decode, /* 61 */ + bound_GvMa_decode, /* 62 */ + arpl_EwGw_decode, /* 63 */ + seg_FS_decode, /* 64 */ + seg_GS_decode, /* 65 */ + operand_size_decode, /* 66 */ + address_size_decode, /* 67 */ + push_Iv_decode, /* 68 */ + imul_GvEvIv_decode, /* 69 */ + push_Ib_decode, /* 6A */ + imul_GvEvIb_decode, /* 6B */ + insb_YbDX_decode, /* 6C */ + insw_YvDX_decode, /* 6D */ + outsb_DXXb_decode, /* 6E */ + outsw_DXXv_decode, /* 6F */ + jo_Jb_decode, /* 70 */ + jno_Jb_decode, /* 71 */ + jb_Jb_decode, /* 72 */ + jnb_Jb_decode, /* 73 */ + jz_Jb_decode, /* 74 */ + jnz_Jb_decode, /* 75 */ + jbe_Jb_decode, /* 76 */ + jnbe_Jb_decode, /* 77 */ + js_Jb_decode, /* 78 */ + jns_Jb_decode, /* 79 */ + jp_Jb_decode, /* 7A */ + jnp_Jb_decode, /* 7B */ + jl_Jb_decode, /* 7C */ + jnl_Jb_decode, /* 7D */ + jle_Jb_decode, /* 7E */ + jnle_Jb_decode, /* 7F */ + group1_EbIb_decode, /* 80 */ + group1_EvIv_decode, /* 81 */ +/* XXX - why do the Pentium & PPro opcode tables show 82 as Reserved? */ + movb_ALIb_decode, /* 82 */ + group1_EvIb_decode, /* 83 */ + test_EbGb_decode, /* 84 */ + test_EvGv_decode, /* 85 */ + xchg_EbGb_decode, /* 86 */ + xchg_EvGv_decode, /* 87 */ + mov_EbGb_decode, /* 88 */ + mov_EvGv_decode, /* 89 */ + mov_GbEb_decode, /* 8A */ + mov_GvEv_decode, /* 8B */ + mov_EwSw_decode, /* 8C */ + lea_GvM_decode, /* 8D */ + mov_SwEw_decode, /* 8E */ + pop_Ev_decode, /* 8F */ + nop_decode, /* 90 */ + xchg_eAXeCX_decode, /* 91 */ + xchg_eAXeDX_decode, /* 92 */ + xchg_eAXeBX_decode, /* 93 */ + xchg_eAXeSP_decode, /* 94 */ + xchg_eAXeBP_decode, /* 95 */ + xchg_eAXeSI_decode, /* 96 */ + xchg_eAXeDI_decode, /* 97 */ + cbw_decode, /* 98 */ + cwd_decode, /* 99 */ + call_Ap_decode, /* 9A */ + wait_decode, /* 9B */ + pushf_Fv_decode, /* 9C */ + popf_Fv_decode, /* 9D */ + sahf_decode, /* 9E */ + lahf_decode, /* 9F */ + mov_ALOb_decode, /* A0 */ + mov_eAXOv_decode, /* A1 */ + mov_ObAL_decode, /* A2 */ + mov_OveAX_decode, /* A3 */ + movsb_YbXb_decode, /* A4 */ + movsw_YvXv_decode, /* A5 */ + cmpsb_XbYb_decode, /* A6 */ + cmpsw_XvYv_decode, /* A7 */ + test_ALIb_decode, /* A8 */ + test_eAXIv_decode, /* A9 */ + stosb_YbAL_decode, /* AA */ + stosw_YveAX_decode, /* AB */ + lodsb_ALXb_decode, /* AC */ + lodsw_eAXXv_decode, /* AD */ + scasb_ALYb_decode, /* AE */ + scasw_eAXYv_decode, /* AF */ + mov_ALIb_decode, /* B0 */ + mov_CLIb_decode, /* B1 */ + mov_DLIb_decode, /* B2 */ + mov_BLIb_decode, /* B3 */ + mov_AHIb_decode, /* B4 */ + mov_CHIb_decode, /* B5 */ + mov_DHIb_decode, /* B6 */ + mov_BHIb_decode, /* B7 */ + mov_eAXIv_decode, /* B8 */ + mov_eCXIv_decode, /* B9 */ + mov_eDXIv_decode, /* BA */ + mov_eBXIv_decode, /* BB */ + mov_eSPIv_decode, /* BC */ + mov_eBPIv_decode, /* BD */ + mov_eSIIv_decode, /* BE */ + mov_eDIIv_decode, /* BF */ + group2_EbIb_decode, /* C0 */ + group2_EvIb_decode, /* C1 */ + ret_near_Iw_decode, /* C2 */ + ret_near_decode, /* C3 */ + les_GvMp_decode, /* C4 */ + lds_GvMp_decode, /* C5 */ + mov_EbIb_decode, /* C6 */ + mov_EvIv_decode, /* C7 */ + enter_IwIb_decode, /* C8 */ + leave_decode, /* C9 */ + ret_far_Iw_decode, /* CA */ + ret_far_decode, /* CB */ + int3_decode, /* CC */ + int_Ib_decode, /* CD */ + into_decode, /* CE */ + iret_decode, /* CF */ + group2_Eb1_decode, /* D0 */ + group2_Ev1_decode, /* D1 */ + group2_EbCL_decode, /* D2 */ + group2_EvCL_decode, /* D3 */ + aam_Ib_decode, /* D4 */ + aad_Ib_decode, /* D5 */ + salc_decode, /* D6 - undocumented opcode */ + xlat_decode, /* D7 */ + esc_D8_decode, /* D8 */ + esc_D9_decode, /* D9 */ + esc_DA_decode, /* DA */ + esc_DB_decode, /* DB */ + esc_DC_decode, /* DC */ + esc_DD_decode, /* DD */ + esc_DE_decode, /* DE */ + esc_DF_decode, /* DF */ + loopn_Jb_decode, /* E0 */ + loope_Jb_decode, /* E1 */ + loop_Jb_decode, /* E2 */ + jcxz_Jb_decode, /* E3 */ + in_ALIb_decode, /* E4 */ + in_eAXIb_decode, /* E5 */ + out_IbAL_decode, /* E6 */ + out_IbeAX_decode, /* E7 */ + call_Jv_decode, /* E8 */ + jmp_Jv_decode, /* E9 */ + jmp_Ap_decode, /* EA */ + jmp_Jb_decode, /* EB */ + in_ALDX_decode, /* EC */ + in_eAXDX_decode, /* ED */ + out_DXAL_decode, /* EE */ + out_DXeAX_decode, /* EF */ + lock_decode, /* F0 */ + reserved_decode, /* F1 */ + repne_decode, /* F2 */ + rep_decode, /* F3 */ + hlt_decode, /* F4 */ + cmc_decode, /* F5 */ + group3_Eb_decode, /* F6 */ + group3_Ev_decode, /* F7 */ + clc_decode, /* F8 */ + stc_decode, /* F9 */ + cli_decode, /* FA */ + sti_decode, /* FB */ + cld_decode, /* FC */ + std_decode, /* FD */ + group4_decode, /* FE */ + group5_decode /* FF */ +}; + + +static GroupInfo group6_info[8] = { /* reg_op */ + { sldtIAEx, 2, NoSrcEaDest }, /* 0 */ + { strIAEx, 2, NoSrcEaDest }, /* 1 */ + { lldtIAEx, 2, EaSrcNoDest }, /* 2 */ + { ltrIAEx, 2, EaSrcNoDest }, /* 3 */ + { verrIAEx, 2, EaSrcNoDest }, /* 4 */ + { verwIAEx, 2, EaSrcNoDest }, /* 5 */ + { jmpe_indIAEx, 0, EaSrcNoDest }, /* 6 */ + { reservedIAEx, 0, EaSrcNoDest } /* 7 - opSize & sdt arbitrary */ +}; + +/* Two-Byte Opcode Decode Functions */ + +static int group6_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,00 */ +{ + ModRM modrm; + GroupInfoPtr gp; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group6_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + return 1 + modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); +} + +static GroupInfo group7_info[8] = { /* reg_op */ + { sgdtIAEx, 6, NoSrcEaDest }, /* 0 */ + { sidtIAEx, 6, NoSrcEaDest }, /* 1 */ + { lgdtIAEx, 6, EaSrcNoDest }, /* 2 */ + { lidtIAEx, 6, EaSrcNoDest }, /* 3 */ + { smswIAEx, 2, NoSrcEaDest }, /* 4 */ + { reservedIAEx, 0, EaSrcNoDest }, /* 5 - opSize & sdt arbitrary */ + { lmswIAEx, 2, EaSrcNoDest }, /* 6 */ + { invlpgIAEx, 0, EaSrcNoDest } /* 7 */ +}; + +static int group7_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,01 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group7_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + + /* all but smsw & lmsw: only memory address forms allowed */ + if ((modrm.reg_op < 4 || modrm.reg_op == 7) && modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lar_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,02 */ +{ + return 1 + modrm_decode(eip+1, info, larIAEx, 0, EaSrcRegDest); +} + +static int lsl_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,03 */ +{ + return 1 + modrm_decode(eip+1, info, lslIAEx, 0, EaSrcRegDest); +} + +/* reserved */ /* 0F,04-05 */ + +/* ARGSUSED */ +static int clts_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,06 */ +{ + info->execFn = cltsIAEx; + info->dasFn = 0; + return 1; +} + +/* reserved */ /* 0F,07 */ + +/* ARGSUSED */ +static int invd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,08 */ +{ + info->execFn = invdIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int wbinvd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,09 */ +{ + info->execFn = wbinvdIAEx; + info->dasFn = 0; + return 1; +} + +/* reserved */ /* 0F,0A */ + +/* ARGSUSED */ +static int ud2_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,0B */ +{ + info->execFn = ud2IAEx; + info->dasFn = 0; + return 1; +} + +/* reserved */ /* 0F,0C-0F */ + +/* reserved */ /* 0F,10-1F */ + +static int mov_RdCd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,20 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movCRIAEx, 0, NoSrcEaDest); + /* XXX - add CR srcRdFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_RdDd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,21 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movDRIAEx, 0, NoSrcEaDest); + /* XXX - add DR srcRdFn */ + + if (info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_CdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,22 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movCRIAEx, 0, EaSrcNoDest); + /* XXX - add CR destRdFn & destWrFn */ + + /* only CR0, CR2, CR3, CR4 and register address forms allowed */ + if (info->reg > 4 || info->reg == 1 || info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +static int mov_DdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,23 */ +{ + int len = 1; + + info->opSize = 4; + len += modrm_decode(eip+1, info, movDRIAEx, 0, EaSrcNoDest); + /* XXX - add DR destRdFn & destWrFn */ + + if (info->modrm.mod != 3) + info->execFn = reservedIAEx; + + return len; +} + +/* move to/from test registers are now reserved instructions */ +static int mov_RdTd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,24 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, reservedIAEx, 0, + NoSrcEaDest); +} + +/* reserved */ /* 0F,25 */ + +static int mov_TdRd_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,26 */ +{ + info->opSize = 4; + return 1 + modrm_decode(eip+1, info, reservedIAEx, 0, + EaSrcNoDest); +} + +/* reserved */ /* 0F,27-2F */ + +static int wrmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,30 */ +{ + info->execFn = wrmsrIAEx; + info->dasFn = 0; + return 1; +} + +static int rdtsc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,31 */ +{ + info->execFn = rdtscIAEx; + info->dasFn = 0; + return 1; +} + +static int rdmsr_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,32 */ +{ + info->execFn = rdmsrIAEx; + info->dasFn = 0; + return 1; +} + +static int rdpmc_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,33 */ +{ + info->execFn = rdpmcIAEx; + info->dasFn = 0; + return 1; +} + +/* reserved */ /* 0F,34-3F */ + +static int cmovo_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,40 */ +{ + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovno_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,41 */ +{ + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,42 */ +{ + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnb_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,43 */ +{ + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,44 */ +{ + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnz_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,45 */ +{ + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,46 */ +{ + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnbe_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,47 */ +{ + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovs_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,48 */ +{ + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovns_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,49 */ +{ + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4A */ +{ + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnp_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4B */ +{ + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4C */ +{ + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnl_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4D */ +{ + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4E */ +{ + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +static int cmovnle_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,4F */ +{ + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, cmovccIAEx, 0, EaSrcRegDest); +} + +/* reserved */ /* 0F,50-7F */ + +static int jo_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,80 */ +{ + info->cond_seg = JO_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jno_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,81 */ +{ + info->cond_seg = JNO_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,82 */ +{ + info->cond_seg = JB_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnb_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,83 */ +{ + info->cond_seg = JNB_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,84 */ +{ + info->cond_seg = JZ_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnz_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,85 */ +{ + info->cond_seg = JNZ_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,86 */ +{ + info->cond_seg = JBE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnbe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,87 */ +{ + info->cond_seg = JNBE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int js_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,88 */ +{ + info->cond_seg = JS_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jns_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,89 */ +{ + info->cond_seg = JNS_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8A */ +{ + info->cond_seg = JP_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnp_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8B */ +{ + info->cond_seg = JNP_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8C */ +{ + info->cond_seg = JL_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnl_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8D */ +{ + info->cond_seg = JNL_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8E */ +{ + info->cond_seg = JLE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int jnle_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,8F */ +{ + info->cond_seg = JNLE_COND; + info->execFn = jccIAEx; + info->dasFn = 0; + return 1 + iAimm(eip+1, &info->disp32, info->opSize); +} + +static int seto_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,90 */ +{ + info->opSize = 1; + info->cond_seg = JO_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setno_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,91 */ +{ + info->opSize = 1; + info->cond_seg = JNO_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,92 */ +{ + info->opSize = 1; + info->cond_seg = JB_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnb_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,93 */ +{ + info->opSize = 1; + info->cond_seg = JNB_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,94 */ +{ + info->opSize = 1; + info->cond_seg = JZ_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnz_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,95 */ +{ + info->opSize = 1; + info->cond_seg = JNZ_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,96 */ +{ + info->opSize = 1; + info->cond_seg = JBE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnbe_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,97 */ +{ + info->opSize = 1; + info->cond_seg = JNBE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int sets_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,98 */ +{ + info->opSize = 1; + info->cond_seg = JS_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setns_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,99 */ +{ + info->opSize = 1; + info->cond_seg = JNS_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9A */ +{ + info->opSize = 1; + info->cond_seg = JP_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnp_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9B */ +{ + info->opSize = 1; + info->cond_seg = JNP_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9C */ +{ + info->opSize = 1; + info->cond_seg = JL_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnl_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9D */ +{ + info->opSize = 1; + info->cond_seg = JNL_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9E */ +{ + info->opSize = 1; + info->cond_seg = JLE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +static int setnle_Eb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,9F */ +{ + info->opSize = 1; + info->cond_seg = JNLE_COND; + return 1 + modrm_decode(eip+1, info, setccIAEx, 0, NoSrcEaDest); +} + +/* ARGSUSED */ +static int push_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A0 */ +{ + return iApushSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int pop_FS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A1 */ +{ + return iApopSeg(info, FS_REG); +} + +/* ARGSUSED */ +static int cpuid_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A2 */ +{ + info->execFn = cpuidIAEx; + info->dasFn = 0; + return 1; +} + +static int bt_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A3 */ +{ + return 1 + modrm_decode(eip+1, info, btIAEx, 0, RegSrcEaDest); +} + +static int shld_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, shld_immIAEx, 0, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shld_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A5 */ +{ + return 1 + modrm_decode(eip+1, info, shld_CLIAEx, 0, + RegSrcEaDest); +} + +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ +static int cmpxchg_XBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A6 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +static int cmpxchg_IBTS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A7 */ +{ + info->execFn = unimpIAEx; + info->dasFn = 0; + return 1; +} + +/* ARGSUSED */ +static int push_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A8 */ +{ + return iApushSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int pop_GS_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,A9 */ +{ + return iApopSeg(info, GS_REG); +} + +/* ARGSUSED */ +static int rsm_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AA */ +{ + info->execFn = rsmIAEx; + info->dasFn = 0; + return 1; +} + +static int bts_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AB */ +{ + return 1 + modrm_decode(eip+1, info, btsIAEx, 0, RegSrcEaDest); +} + +static int shrd_EvGvIb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AC */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, shrd_immIAEx, 0, + RegSrcEaDest); + len += iAimm(eip+len, &info->imm32, 1); + return len; +} + +static int shrd_EvGvCL_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AD */ +{ + return 1 + modrm_decode(eip+1, info, shrd_CLIAEx, 0, + RegSrcEaDest); +} + +/* reserved */ /* 0F,AE */ + +static int imul_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,AF */ +{ + return 1 + modrm_decode(eip+1, info, imulIAEx, 0, + EaSrcRegDest); +} + +static int cmpxchg_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, cmpxchgIAEx, 0, + RegSrcEaDest); +} + +static int cmpxchg_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B1 */ +{ + return 1 + modrm_decode(eip+1, info, cmpxchgIAEx, 0, + RegSrcEaDest); +} + +static int lss_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B2 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, 0, + LfpSrcRegDest); + info->cond_seg = SS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int btr_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B3 */ +{ + return 1 + modrm_decode(eip+1, info, btrIAEx, 0, RegSrcEaDest); +} + +static int lfs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B4 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, 0, + LfpSrcRegDest); + info->cond_seg = FS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int lgs_Mp_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B5 */ +{ + int len = 1; + + len += modrm_decode(eip+1, info, load_far_ptrIAEx, 0, + LfpSrcRegDest); + info->cond_seg = GS_REG; + /* only memory address forms allowed */ + if (info->modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +static int movzx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B6 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, movzx8IAEx, 0, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + return len; +} + +static int movzx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B7 */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movzx16IAEx, 0, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = reg32IAWr; + return len; +} + +static int jmpe_Jv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,B8 */ +{ + int len = 1; + + len += iAimm(eip+1, &info->disp32, info->opSize); + info->execFn = jmpe_relIAEx; + info->dasFn = 0; + return len; +} + +/* reserved */ /* 0F,B9 */ + +static GroupInfo group8_info[8] = { /* reg_op */ + { reservedIAEx, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 1 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary */ + { reservedIAEx, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary */ + { btIAEx, 0, NoSrcEaDest }, /* 4 */ + { btsIAEx, 0, NoSrcEaDest }, /* 5 */ + { btrIAEx, 0, NoSrcEaDest }, /* 6 */ + { btcIAEx, 0, NoSrcEaDest } /* 7 */ +}; + +static int group8_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BA */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group8_info[modrm.reg_op]; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + len += iAimm(eip+len, &info->imm32, 1); + info->srcRdFn = immIARd; + return len; +} + +static int btc_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BB */ +{ + return 1 + modrm_decode(eip+1, info, btcIAEx, 0, RegSrcEaDest); +} + +static int bsf_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BC */ +{ + return 1 + modrm_decode(eip+1, info, bsfIAEx, 0, + EaSrcRegDest); +} + +static int bsr_GvEv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BD */ +{ + return 1 + modrm_decode(eip+1, info, bsrIAEx, 0, + EaSrcRegDest); +} + +static int movsx_GvEb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BE */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 1 to get correct srcRdFn */ + info->opSize = 1; + len += modrm_decode(eip+1, info, movsx8IAEx, 0, + EaSrcNoDest); + if ((info->opSize = opSize) == IA16) /* restore */ + info->destWrFn = reg16IAWr; + else + info->destWrFn = reg32IAWr; + return len; +} + +static int movsx_GvEw_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,BF */ +{ + int len = 1; + BYTE opSize = info->opSize; /* save */ + + /* force opSize to 2 to get correct srcRdFn */ + info->opSize = 2; + len += modrm_decode(eip+1, info, movsx16IAEx, 0, + EaSrcNoDest); + info->opSize = opSize; /* restore */ + info->destWrFn = reg32IAWr; + return len; +} + +static int xadd_EbGb_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C0 */ +{ + info->opSize = 1; + return 1 + modrm_decode(eip+1, info, xaddIAEx, 0, + RegSrcEaDest); +} + +static int xadd_EvGv_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C1 */ +{ + return 1 + modrm_decode(eip+1, info, xaddIAEx, 0, + RegSrcEaDest); +} + +/* reserved */ /* 0F,C2-C6 */ + +static GroupInfo group9_info[8] = { /* reg_op */ + { reservedIAEx, 0, NoSrcEaDest }, /* 0 - opSize & sdt arbitrary*/ + { cmpxchg8bIAEx, 8, NoSrcEaDest }, /* 1 */ + { reservedIAEx, 0, NoSrcEaDest }, /* 2 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 3 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 4 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 5 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest }, /* 6 - opSize & sdt arbitrary*/ + { reservedIAEx, 0, NoSrcEaDest } /* 7 - opSize & sdt arbitrary*/ +}; + +static int group9_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C7 */ +{ + ModRM modrm; + GroupInfoPtr gp; + int len = 1; + + if (!memIAIRd(eip+1, (BYTE *)&modrm, 1)) + return DECODE_FAILED; + + gp = &group9_info[modrm.reg_op]; + if (gp->opSize) + info->opSize = gp->opSize; + len += modrm_decode(eip+1, info, gp->execFn, 0, gp->sdt); + + /* cmpxchg8b: only memory address forms allowed */ + if (modrm.reg_op == 1 && modrm.mod == 3) + info->execFn = reservedIAEx; + + return len; +} + +/* ARGSUSED */ +static int bswap_EAX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C8 */ +{ + return iAreg(info, bswapIAEx, 0, EAX_REG); +} + +/* ARGSUSED */ +static int bswap_ECX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,C9 */ +{ + return iAreg(info, bswapIAEx, 0, ECX_REG); +} + +/* ARGSUSED */ +static int bswap_EDX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CA */ +{ + return iAreg(info, bswapIAEx, 0, EDX_REG); +} + +/* ARGSUSED */ +static int bswap_EBX_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CB */ +{ + return iAreg(info, bswapIAEx, 0, EBX_REG); +} + +/* ARGSUSED */ +static int bswap_ESP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CC */ +{ + return iAreg(info, bswapIAEx, 0, ESP_REG); +} + +/* ARGSUSED */ +static int bswap_EBP_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CD */ +{ + return iAreg(info, bswapIAEx, 0, EBP_REG); +} + +/* ARGSUSED */ +static int bswap_ESI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CE */ +{ + return iAreg(info, bswapIAEx, 0, ESI_REG); +} + +/* ARGSUSED */ +static int bswap_EDI_decode(ADDR4 eip, IAinstInfoPtr info) /* 0F,CF */ +{ + return iAreg(info, bswapIAEx, 0, EDI_REG); +} + +/* reserved */ /* 0F,D0-FF */ + + +/* Two-Byte Opcode Table */ + +static const PIADF two_byte_opcode[256] = { + group6_decode, /* 0F,00 */ + group7_decode, /* 0F,01 */ + lar_GvEw_decode, /* 0F,02 */ + lsl_GvEw_decode, /* 0F,03 */ + reserved_decode, /* 0F,04 */ + reserved_decode, /* 0F,05 */ + clts_decode, /* 0F,06 */ + reserved_decode, /* 0F,07 */ + invd_decode, /* 0F,08 */ + wbinvd_decode, /* 0F,09 */ + reserved_decode, /* 0F,0A */ + ud2_decode, /* 0F,0B */ + reserved_decode, /* 0F,0C */ + reserved_decode, /* 0F,0D */ + reserved_decode, /* 0F,0E */ + reserved_decode, /* 0F,0F */ + reserved_decode, /* 0F,10 */ + reserved_decode, /* 0F,11 */ + reserved_decode, /* 0F,12 */ + reserved_decode, /* 0F,13 */ + reserved_decode, /* 0F,14 */ + reserved_decode, /* 0F,15 */ + reserved_decode, /* 0F,16 */ + reserved_decode, /* 0F,17 */ + reserved_decode, /* 0F,18 */ + reserved_decode, /* 0F,19 */ + reserved_decode, /* 0F,1A */ + reserved_decode, /* 0F,1B */ + reserved_decode, /* 0F,1C */ + reserved_decode, /* 0F,1D */ + reserved_decode, /* 0F,1E */ + reserved_decode, /* 0F,1F */ + mov_RdCd_decode, /* 0F,20 */ + mov_RdDd_decode, /* 0F,21 */ + mov_CdRd_decode, /* 0F,22 */ + mov_DdRd_decode, /* 0F,23 */ + mov_RdTd_decode, /* 0F,24 */ + reserved_decode, /* 0F,25 */ + mov_TdRd_decode, /* 0F,26 */ + reserved_decode, /* 0F,27 */ + reserved_decode, /* 0F,28 */ + reserved_decode, /* 0F,29 */ + reserved_decode, /* 0F,2A */ + reserved_decode, /* 0F,2B */ + reserved_decode, /* 0F,2C */ + reserved_decode, /* 0F,2D */ + reserved_decode, /* 0F,2E */ + reserved_decode, /* 0F,2F */ + wrmsr_decode, /* 0F,30 */ + rdtsc_decode, /* 0F,31 */ + rdmsr_decode, /* 0F,32 */ + rdpmc_decode, /* 0F,33 */ + reserved_decode, /* 0F,34 */ + reserved_decode, /* 0F,35 */ + reserved_decode, /* 0F,36 */ + reserved_decode, /* 0F,37 */ + reserved_decode, /* 0F,38 */ + reserved_decode, /* 0F,39 */ + reserved_decode, /* 0F,3A */ + reserved_decode, /* 0F,3B */ + reserved_decode, /* 0F,3C */ + reserved_decode, /* 0F,3D */ + reserved_decode, /* 0F,3E */ + reserved_decode, /* 0F,3F */ + cmovo_GvEv_decode, /* 0F,40 */ + cmovno_GvEv_decode, /* 0F,41 */ + cmovb_GvEv_decode, /* 0F,42 */ + cmovnb_GvEv_decode, /* 0F,43 */ + cmovz_GvEv_decode, /* 0F,44 */ + cmovnz_GvEv_decode, /* 0F,45 */ + cmovbe_GvEv_decode, /* 0F,46 */ + cmovnbe_GvEv_decode, /* 0F,47 */ + cmovs_GvEv_decode, /* 0F,48 */ + cmovns_GvEv_decode, /* 0F,49 */ + cmovp_GvEv_decode, /* 0F,4A */ + cmovnp_GvEv_decode, /* 0F,4B */ + cmovl_GvEv_decode, /* 0F,4C */ + cmovnl_GvEv_decode, /* 0F,4D */ + cmovle_GvEv_decode, /* 0F,4E */ + cmovnle_GvEv_decode, /* 0F,4F */ + reserved_decode, /* 0F,50 */ + reserved_decode, /* 0F,51 */ + reserved_decode, /* 0F,52 */ + reserved_decode, /* 0F,53 */ + reserved_decode, /* 0F,54 */ + reserved_decode, /* 0F,55 */ + reserved_decode, /* 0F,56 */ + reserved_decode, /* 0F,57 */ + reserved_decode, /* 0F,58 */ + reserved_decode, /* 0F,59 */ + reserved_decode, /* 0F,5A */ + reserved_decode, /* 0F,5B */ + reserved_decode, /* 0F,5C */ + reserved_decode, /* 0F,5D */ + reserved_decode, /* 0F,5E */ + reserved_decode, /* 0F,5F */ + reserved_decode, /* 0F,60 */ + reserved_decode, /* 0F,61 */ + reserved_decode, /* 0F,62 */ + reserved_decode, /* 0F,63 */ + reserved_decode, /* 0F,64 */ + reserved_decode, /* 0F,65 */ + reserved_decode, /* 0F,66 */ + reserved_decode, /* 0F,67 */ + reserved_decode, /* 0F,68 */ + reserved_decode, /* 0F,69 */ + reserved_decode, /* 0F,6A */ + reserved_decode, /* 0F,6B */ + reserved_decode, /* 0F,6C */ + reserved_decode, /* 0F,6D */ + reserved_decode, /* 0F,6E */ + reserved_decode, /* 0F,6F */ + reserved_decode, /* 0F,70 */ + reserved_decode, /* 0F,71 */ + reserved_decode, /* 0F,72 */ + reserved_decode, /* 0F,73 */ + reserved_decode, /* 0F,74 */ + reserved_decode, /* 0F,75 */ + reserved_decode, /* 0F,76 */ + reserved_decode, /* 0F,77 */ + reserved_decode, /* 0F,78 */ + reserved_decode, /* 0F,79 */ + reserved_decode, /* 0F,7A */ + reserved_decode, /* 0F,7B */ + reserved_decode, /* 0F,7C */ + reserved_decode, /* 0F,7D */ + reserved_decode, /* 0F,7E */ + reserved_decode, /* 0F,7F */ + jo_Jv_decode, /* 0F,80 */ + jno_Jv_decode, /* 0F,81 */ + jb_Jv_decode, /* 0F,82 */ + jnb_Jv_decode, /* 0F,83 */ + jz_Jv_decode, /* 0F,84 */ + jnz_Jv_decode, /* 0F,85 */ + jbe_Jv_decode, /* 0F,86 */ + jnbe_Jv_decode, /* 0F,87 */ + js_Jv_decode, /* 0F,88 */ + jns_Jv_decode, /* 0F,89 */ + jp_Jv_decode, /* 0F,8A */ + jnp_Jv_decode, /* 0F,8B */ + jl_Jv_decode, /* 0F,8C */ + jnl_Jv_decode, /* 0F,8D */ + jle_Jv_decode, /* 0F,8E */ + jnle_Jv_decode, /* 0F,8F */ + seto_Eb_decode, /* 0F,90 */ + setno_Eb_decode, /* 0F,91 */ + setb_Eb_decode, /* 0F,92 */ + setnb_Eb_decode, /* 0F,93 */ + setz_Eb_decode, /* 0F,94 */ + setnz_Eb_decode, /* 0F,95 */ + setbe_Eb_decode, /* 0F,96 */ + setnbe_Eb_decode, /* 0F,97 */ + sets_Eb_decode, /* 0F,98 */ + setns_Eb_decode, /* 0F,99 */ + setp_Eb_decode, /* 0F,9A */ + setnp_Eb_decode, /* 0F,9B */ + setl_Eb_decode, /* 0F,9C */ + setnl_Eb_decode, /* 0F,9D */ + setle_Eb_decode, /* 0F,9E */ + setnle_Eb_decode, /* 0F,9F */ + push_FS_decode, /* 0F,A0 */ + pop_FS_decode, /* 0F,A1 */ + cpuid_decode, /* 0F,A2 */ + bt_EvGv_decode, /* 0F,A3 */ + shld_EvGvIb_decode, /* 0F,A4 */ + shld_EvGvCL_decode, /* 0F,A5 */ +/* XXX - why do the Pentium & PPro opcode tables show A6 & A7 as Reserved? */ + cmpxchg_XBTS_decode, /* 0F,A6 */ + cmpxchg_IBTS_decode, /* 0F,A7 */ + push_GS_decode, /* 0F,A8 */ + pop_GS_decode, /* 0F,A9 */ + rsm_decode, /* 0F,AA */ + bts_EvGv_decode, /* 0F,AB */ + shrd_EvGvIb_decode, /* 0F,AC */ + shrd_EvGvCL_decode, /* 0F,AD */ + reserved_decode, /* 0F,AE */ + imul_GvEv_decode, /* 0F,AF */ + cmpxchg_EbGb_decode, /* 0F,B0 */ + cmpxchg_EvGv_decode, /* 0F,B1 */ + lss_Mp_decode, /* 0F,B2 */ + btr_EvGv_decode, /* 0F,B3 */ + lfs_Mp_decode, /* 0F,B4 */ + lgs_Mp_decode, /* 0F,B5 */ + movzx_GvEb_decode, /* 0F,B6 */ + movzx_GvEw_decode, /* 0F,B7 */ + jmpe_Jv_decode, /* 0F,B8 */ + reserved_decode, /* 0F,B9 */ + group8_decode, /* 0F,BA */ + btc_EvGv_decode, /* 0F,BB */ + bsf_GvEv_decode, /* 0F,BC */ + bsr_GvEv_decode, /* 0F,BD */ + movsx_GvEb_decode, /* 0F,BE */ + movsx_GvEw_decode, /* 0F,BF */ + xadd_EbGb_decode, /* 0F,C0 */ + xadd_EvGv_decode, /* 0F,C1 */ + reserved_decode, /* 0F,C2 */ + reserved_decode, /* 0F,C3 */ + reserved_decode, /* 0F,C4 */ + reserved_decode, /* 0F,C5 */ + reserved_decode, /* 0F,C6 */ + group9_decode, /* 0F,C7 */ + bswap_EAX_decode, /* 0F,C8 */ + bswap_ECX_decode, /* 0F,C9 */ + bswap_EDX_decode, /* 0F,CA */ + bswap_EBX_decode, /* 0F,CB */ + bswap_ESP_decode, /* 0F,CC */ + bswap_EBP_decode, /* 0F,CD */ + bswap_ESI_decode, /* 0F,CE */ + bswap_EDI_decode, /* 0F,CF */ + reserved_decode, /* 0F,D0 */ + reserved_decode, /* 0F,D1 */ + reserved_decode, /* 0F,D2 */ + reserved_decode, /* 0F,D3 */ + reserved_decode, /* 0F,D4 */ + reserved_decode, /* 0F,D5 */ + reserved_decode, /* 0F,D6 */ + reserved_decode, /* 0F,D7 */ + reserved_decode, /* 0F,D8 */ + reserved_decode, /* 0F,D9 */ + reserved_decode, /* 0F,DA */ + reserved_decode, /* 0F,DB */ + reserved_decode, /* 0F,DC */ + reserved_decode, /* 0F,DD */ + reserved_decode, /* 0F,DE */ + reserved_decode, /* 0F,DF */ + reserved_decode, /* 0F,E0 */ + reserved_decode, /* 0F,E1 */ + reserved_decode, /* 0F,E2 */ + reserved_decode, /* 0F,E3 */ + reserved_decode, /* 0F,E4 */ + reserved_decode, /* 0F,E5 */ + reserved_decode, /* 0F,E6 */ + reserved_decode, /* 0F,E7 */ + reserved_decode, /* 0F,E8 */ + reserved_decode, /* 0F,E9 */ + reserved_decode, /* 0F,EA */ + reserved_decode, /* 0F,EB */ + reserved_decode, /* 0F,EC */ + reserved_decode, /* 0F,ED */ + reserved_decode, /* 0F,EE */ + reserved_decode, /* 0F,EF */ + reserved_decode, /* 0F,F0 */ + reserved_decode, /* 0F,F1 */ + reserved_decode, /* 0F,F2 */ + reserved_decode, /* 0F,F3 */ + reserved_decode, /* 0F,F4 */ + reserved_decode, /* 0F,F5 */ + reserved_decode, /* 0F,F6 */ + reserved_decode, /* 0F,F7 */ + reserved_decode, /* 0F,F8 */ + reserved_decode, /* 0F,F9 */ + reserved_decode, /* 0F,FA */ + reserved_decode, /* 0F,FB */ + reserved_decode, /* 0F,FC */ + reserved_decode, /* 0F,FD */ + reserved_decode, /* 0F,FE */ + reserved_decode /* 0F,FF */ +}; + + +/* Main IA Decode Function */ + +BOOL ia_decode(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + int ret; + static LockRep zero = { 0 }; + + info->mode = iAmode; + info->opSize = info->addrSize = OpAddrSize(iAmode); + info->segment = 0; + info->lock_rep = zero; + + if (!memIAIRd(eip, &op, 1) || + (ret = one_byte_opcode[op](eip, info)) <= 0) { + info->execFn = iAinstFetchDecode; /* decode failed */ + return NO; + } + + info->delta = ret; + return YES; +} + +/* Secondary IA Decode Function */ + +static int ia_decode2(ADDR4 eip, IAinstInfoPtr info) +{ + BYTE op; + + if (!memIAIRd(eip, &op, 1)) + return DECODE_FAILED; + + return one_byte_opcode[op](eip, info); +} diff --git a/src/impl.c b/src/impl.c new file mode 100644 index 0000000..5edfd51 --- /dev/null +++ b/src/impl.c @@ -0,0 +1,59 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Implementation-Dependent Routines + * (This file might need to be split into a processor and a platform + * implementation-dependent file.) + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include "std.h" +#include "types.h" +#include "libsrs.h" + +char *getImplStr(void) +{ + return "SDM 2.1"; +} + +/* + * Save/Restore Routines + */ + +BOOL saveProcImpl(FILE *f, unsigned cproc) +{ + fprintf(f, "# No processor implementation-dependent state saved\n"); + return YES; +} + +BOOL saveSysImpl(FILE *f) +{ + fprintf(f, "# No system implementation-dependent state saved\n"); + return YES; +} + +RstStat restoreProcImpl(FILE *f, char *name, unsigned cproc) +{ + return NOT_FOUND; +} + +RstStat restoreSysImpl(FILE *f, char *name) +{ + return NOT_FOUND; +} diff --git a/src/instinfo.h b/src/instinfo.h new file mode 100644 index 0000000..09a022f --- /dev/null +++ b/src/instinfo.h @@ -0,0 +1,90 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Instruction Info Structure Definitions + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_INSTINFO_H +#define _SKI_INSTINFO_H + +#define imm64 info->immed64 +#define imm62 info->immed64 + +#define qpred extrainfo[0] +#define qp info->extrainfo[0] +#define bp info->extrainfo[0] + +#define r1 info->extrainfo[1] +#define f1 info->extrainfo[1] +#define p1 info->extrainfo[1] +#define b1 info->extrainfo[1] + +#define r2 info->extrainfo[2] +#define f2 info->extrainfo[2] +#define b2 info->extrainfo[2] +#define il info->extrainfo[2] + +#define r3 info->extrainfo[3] +#define f3 info->extrainfo[3] +#define ar3 info->extrainfo[3] +#define o info->extrainfo[3] + +#define f4 info->extrainfo[4] +#define p2 info->extrainfo[4] +#define cr3 info->extrainfo[4] +#define r info->extrainfo[4] + +#define imm1 info->immed64 +#define imm2 info->immed64 +#define imm7 info->immed64 +#define imm8 info->immed64 +#define imm9 info->immed64 +#define imm14 info->immed64 +#define imm21 info->immed64 +#define imm22 info->immed64 +#define imm24 info->immed64 +#define imm44 info->immed64 +#define inc3 info->immed64 +#define mask17 info->immed64 +#define fclass9 info->immed64 +#define target25 info->immed64 +#define target64 info->immed64 + +#define tag13 *((int*)&info->extrainfo[4]) + +#define mbtype4 info->extrainfo[5] +#define mhtype8 info->extrainfo[5] +#define len4 info->extrainfo[5] +#define len6 info->extrainfo[5] +#define count2 info->extrainfo[5] +#define count5 info->extrainfo[5] +#define count6 info->extrainfo[5] +#define amask7 info->extrainfo[5] + +#define pos6 info->extrainfo[6] +#define omask7 info->extrainfo[6] + +#define reserved 255 +#define reservedQP 255 +#define _brcst 0 +#define _mix 8 +#define _shuf 9 +#define _alt 0xa +#define _rev 0xb + +#endif /* _SKI_INSTINFO_H */ diff --git a/src/instr.h b/src/instr.h new file mode 100644 index 0000000..541dccb --- /dev/null +++ b/src/instr.h @@ -0,0 +1,36 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Instruction Structure Definition + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_INSTR_H +#define _SKI_INSTR_H + +typedef BOOL (*PdecFn)(DWORD, INSTINFO *); + +typedef struct instr { + PdecFn pdecFn; + PCF combFn; + unsigned int flags; + ICNTS cnt; +} Instr, *InstrPtr; + +extern InstrPtr instrs; + +#endif /* _SKI_INSTR_H */ diff --git a/src/interruption.c b/src/interruption.c new file mode 100644 index 0000000..14bd05c --- /dev/null +++ b/src/interruption.c @@ -0,0 +1,1039 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Interruption Handling + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "tlb.h" +#include "interruption.h" +#include "libtrace.h" +#include "trace.h" + +#if defined __linux__ +extern void signal_queue_info(int signal, ADDR); +#endif /* !defined __linux__ */ + +#define ILLEGAL_OP_CODE 0x0 +#define PRIV_OP_CODE 0x10 +#define PRIV_REG_CODE 0x20 +#define RESERVED_REG_FIELD_CODE 0x30 +#define DISABLED_INST_SET_CODE 0x40 + +#define TPA_CODE 0 +#define FC_CODE 1 +#define PROBE_CODE 2 +#define TAK_CODE 3 +#define LFETCH_CODE 4 +#define PROBE_FAULT_CODE 5 + +#define NAT_REG_CODE 0x10 +#define NAT_PAGE_CODE 0x20 + +#define FP_TRAP_CODE 0x1 +#define LOWER_PRIVILEGE_TRAP_CODE 0x2 +#define TAKEN_BRANCH_TRAP_CODE 0x4 +#define SINGLE_STEP_TRAP_CODE 0x8 +#define UNIMPL_ADDRESS_TRAP_CODE 0x10 + +/* ISR bit fields */ +/* If these bit fields are used by other source files, the most logical place + to put them is state.h */ + +#define ISR_X BitfR(ISR,31,1) +#define ISR_W BitfR(ISR,30,1) +#define ISR_R BitfR(ISR,29,1) +#define ISR_NA BitfR(ISR,28,1) +#define ISR_SP BitfR(ISR,27,1) +#define ISR_RS BitfR(ISR,26,1) +#define ISR_IR BitfR(ISR,25,1) +#define ISR_NI BitfR(ISR,24,1) +#define ISR_EI BitfR(ISR,21,2) +#define ISR_ED BitfR(ISR,20,1) +#define ISR_NACODE BitfR(ISR,60,4) + +/* Interrupt Delivery Modes */ + +#define IDM_INT 0 +#define IDM_PMI 2 +#define IDM_NMI 4 +#define IDM_INIT 5 +#define IDM_EXTINT 7 + +#define EXTINT_IRPT 0x00 +#define NMI_IRPT 0x02 +#define SPURIOUS_IRPT 0x0F + +/*##################### Globals - Imports ##################################*/ + +extern ADDR sigHdlr; +extern void gotoAlarm(void); + +/*##################### Functions ##########################################*/ + +void switchBanks(void); +#if 0 +#define RSE_DEBUG +#endif + +/* Set the PSR on an interruption */ +static REG interruptionPSR(void) +{ + REG ipsr = 0; + + X_PSR_RT(ipsr) = PSR_RT; + X_PSR_UP(ipsr) = PSR_UP; + X_PSR_MFL(ipsr) = PSR_MFL; + X_PSR_MFH(ipsr) = PSR_MFH; + X_PSR_PK(ipsr) = PSR_PK; + X_PSR_IT(ipsr) = PSR_IT; + X_PSR_DT(ipsr) = PSR_DT; + X_PSR_MC(ipsr) = PSR_MC; + X_PSR_BE(ipsr) = DCR_BE; + X_PSR_PP(ipsr) = DCR_PP; + return ipsr; +} + +/* Set the Interruption Registers for Faults */ +/* For ISR, ei and ni are filled in here with the remaining bits passed in */ +/* Note: + if this function were to be merged with setTlbIRs, it must + be taken into consideration that setFaultIRs do NOT consider atype == 0 + as EXECUTE_ACCESS. The callers of setFaultIRs expecting a 0 to be + ignored should use a different value in the new merged routine */ +static void setFaultIRs(REG code, Accesstype atype) +{ + if (traceEnb) + WRT_IRPT_TR(); + total_faults++; + if (PSR_BN) + switchBanks(); + if (PSR_IC) { + IPSR = psr; + X_PSR_RI(IPSR) = SLOT(ip); + IIP = PSR_IS ? ip : ip & ~(REG)0xF; + IFS = 0; + IIPA &= ~0xF; + } + ISR = code; + ISR_EI = SLOT(ip); + ISR_NI = !PSR_IC; + ISR_IR = cfle; + ISR_RS = (atype & RSE_ACCESS) != 0; + ISR_SP = (atype & SPEC_ACCESS) != 0; + if (atype & NA_ACCESS) { + ISR_NA = 1; + switch (atype) { + case TPA_ACCESS: + ISR_NACODE = TPA_CODE; + break; + case FC_ACCESS: + ISR_NACODE = FC_CODE; + break; + case PROBER_ACCESS: + case PROBEW_ACCESS: + ISR_NACODE = PROBE_CODE; + break; + case TAK_ACCESS: + ISR_NACODE = TAK_CODE; + break; + case LFETCH_ACCESS: + ISR_NACODE = LFETCH_CODE; + break; + case PROBERF_ACCESS: + case PROBEWF_ACCESS: + case PROBERW_ACCESS: + ISR_NACODE = PROBE_FAULT_CODE; + break; + default: + break; + } + } + ISR_R = (atype & READ_ACCESS) != 0; + ISR_W = (atype & WRITE_ACCESS) != 0; + psr = interruptionPSR(); + if (traceEnb) + WRT_IRPT_TR(); + abi = unixABI; +} + +/* Set the Interruption Registers for TLB Faults */ +static void setTlbIRs(Accesstype atype) +{ + if (traceEnb) + WRT_IRPT_TR(); + total_faults++; + if (PSR_BN) + switchBanks(); + if (PSR_IC) { + IPSR = psr; + X_PSR_RI(IPSR) = SLOT(ip); + IIP = PSR_IS ? ip : ip & ~(REG)0xF; + IFS = 0; + IIPA &= ~0xF; + } + ISR = 0; + ISR_ED = (atype == EXECUTE_ACCESS || atype & RSE_ACCESS) ? 0 : ITLB_ED; + ISR_EI = SLOT(ip); + ISR_NI = !PSR_IC; + ISR_IR = cfle; + ISR_RS = (atype & RSE_ACCESS) != 0; + ISR_SP = (atype & SPEC_ACCESS) != 0; + if (atype & NA_ACCESS) { + ISR_NA = 1; + switch (atype) { + case TPA_ACCESS: + ISR_NACODE = TPA_CODE; + break; + case FC_ACCESS: + ISR_NACODE = FC_CODE; + break; + case PROBER_ACCESS: + case PROBEW_ACCESS: + ISR_NACODE = PROBE_CODE; + break; + case TAK_ACCESS: + ISR_NACODE = TAK_CODE; + break; + case LFETCH_ACCESS: + ISR_NACODE = LFETCH_CODE; + break; + case PROBERF_ACCESS: + case PROBEWF_ACCESS: + case PROBERW_ACCESS: + ISR_NACODE = PROBE_FAULT_CODE; + break; + default: + break; + } + } + ISR_R = (atype & READ_ACCESS) != 0; + ISR_W = (atype & WRITE_ACCESS) != 0; + ISR_X = atype == EXECUTE_ACCESS; + psr = interruptionPSR(); + if (traceEnb) + WRT_IRPT_TR(); + abi = unixABI; +} + +/* Set the Interruption Registers for Traps */ +/* For ISR, ei, ni & ir are filled in here with the remaining bits passed in */ +static void setTrapIRs(unsigned slot, REG val) +{ + if (traceEnb) + WRT_IRPT_TR(); + if (PSR_BN) + switchBanks(); + if (PSR_IC) { + IPSR = psr; + X_PSR_RI(IPSR) = PSR_IS ? 0 : SLOT(ip); + IIP = PSR_IS ? ip : ip & ~(REG)0xF; + IFS = 0; + IIPA &= ~0xF; + } + ISR = val; + ISR_EI = slot; + ISR_NI = !PSR_IC; + ISR_IR = cfle; + if (PSR_SS) + ISR |= SINGLE_STEP_TRAP_CODE; + psr = interruptionPSR(); + if (traceEnb) + WRT_IRPT_TR(); + abi = unixABI; +} + +/* Set the Interruption Registers for IA-32 Faults */ +/* For ISR, ni is filled in here with the remaining bits passed in */ +static void setIA32FaultIRs(REG val) +{ + if (PSR_BN) + switchBanks(); + if (PSR_IC) { + IPSR = psr; + X_PSR_RI(IPSR) = 0; /* XXX - unspecified in Seamless 2.0 */ + IIPA = IIP = ip; /* both IIPA and IIP point to the fault instr */ + IFS = 0; + } + ISR = val; + ISR_NI = !PSR_IC; + psr = interruptionPSR(); + abi = unixABI; +} + +/* Set the Interruption Registers for IA-32 Traps */ +/* For ISR, ni is filled in here with the remaining bits passed in */ +static void setIA32TrapIRs(REG val, unsigned delta) +{ + if (PSR_BN) + switchBanks(); + if (PSR_IC) { + IPSR = psr; + X_PSR_RI(IPSR) = 0; /* XXX - unspecified in Seamless 2.0 */ + IIPA = ip; + IIP = ip + delta; + IFS = 0; + } + ISR = val; + ISR_NI = !PSR_IC; + psr = interruptionPSR(); + abi = unixABI; +} + +static void nestedFault(void) +{ + if (traceEnb) + WRT_IRPT_TR(); + total_faults++; + if (PSR_BN) + switchBanks(); + psr = interruptionPSR(); + if (traceEnb) + WRT_IRPT_TR(); + abi = unixABI; + ip = IVA + DATA_NESTED_TLB_VECTOR; +} + + +/**********************/ +/* Interrupt Routines */ +/**********************/ + +void externalInterrupt(void) +{ +#ifdef RSE_DEBUG +rseDB("External Interrupt"); +#endif + setFaultIRs(0, 0); + ip = IVA + EXTERNAL_INTERRUPT_VECTOR; +} + + +/******************/ +/* Fault Routines */ +/******************/ + +void alternateInstTlbFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Alt. Inst"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + ALTERNATE_INST_TLB_VECTOR; +} + +void vhptInstFault(void) +{ +#ifdef RSE_DEBUG +rseDB("VHPT Inst"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + VHPT_INST_VECTOR; +} + +void instTlbFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst TLB"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_TLB_VECTOR; +} + +void instPageNotPresentFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Not Present"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_PAGE_NOT_PRESENT_VECTOR; +} + +void instNatPageConsumptionFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst NaT Page"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ISR |= NAT_PAGE_CODE; + ip = IVA + INST_NAT_PAGE_CONSUMPTION_VECTOR; +} + +void instKeyMissFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Key Miss"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_KEY_MISS_VECTOR; +} + +void instKeyPermissionFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Key Perm"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_KEY_PERMISSION_VECTOR; +} + +void instAccessRightsFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Access Rights"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_ACCESS_RIGHTS_VECTOR; +} + +void instAccessBitFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Access Bit"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_ACCESS_BIT_VECTOR; +} + +void instDebugFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Inst Debug"); +#endif + setTlbIRs(EXECUTE_ACCESS); + ip = IVA + INST_DEBUG_VECTOR; +} + +void ia32ExceptionFault(unsigned vector, unsigned error_code) +{ + if (abi) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("IA-32 Exception fault - vector %d\n", vector); +#endif /* !defined __linux__ */ + setIA32FaultIRs(((vector == 1) ? 1ULL << 32 : 0) | + vector << 16 | error_code); + ip = IVA + IA32_EXCEPTION_VECTOR; +} + +void ia32ExceptionTrap(unsigned vector, unsigned trap_code, unsigned delta) +{ + if (abi) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("IA-32 Exception trap - vector %d\n", vector); +#endif /* !defined __linux__ */ + setIA32TrapIRs(vector << 16 | trap_code, delta); + ip = IVA + IA32_EXCEPTION_VECTOR; +} + +void ia32InterruptTrap(unsigned vector, unsigned trap_code, unsigned delta) +{ + if (abi) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("IA-32 Interrupt trap - vector %d\n", vector); +#endif /* !defined __linux__ */ + setIA32TrapIRs(vector << 16 | trap_code, delta); + ip = IVA + IA32_INTERRUPT_VECTOR; +} + +void illegalOpFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Illegal Op"); +#endif + if (unixABI) { +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Illegal operation fault\n"); +#endif /* !defined __linux__ */ + } + setFaultIRs(ILLEGAL_OP_CODE, 0); + ip = IVA + ILLEGAL_OP_VECTOR; +} + +void breakInstFault(int val) +{ + /* eclipse - check for the emulation bridge value */ + if (val == BREAK_EMUL_BRIDGE) { + emul_bridge_signaled = YES; + } + +#ifdef RSE_DEBUG +rseDB("Break Inst"); +#endif + if (unixABI) { +#if defined __linux__ + signal_queue_info(4, ip); + return; +#else /* !defined __linux__ */ + switch (val) { + case 1: + progExit("Break instruction fault (integer divide by zero)\n"); + case 2: + progExit("Break instruction fault (integer overflow)\n"); + case 4: + progExit("Break instruction fault (Nil pointer dereference)\n"); + case 5: + progExit("Break instruction fault (Misaligned data)\n"); + default: + progExit("Break instruction fault\n"); + } +#endif /* !defined __linux__ */ + } + if (PSR_IC) + IIM = val; + setFaultIRs(0, 0); + ip = IVA + BREAK_INST_VECTOR; +} + +void privOpFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Priv Op"); +#endif + if (unixABI) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Privileged operation fault\n"); +#endif /* !defined __linux__ */ + setFaultIRs(PRIV_OP_CODE, atype); + ip = IVA + PRIV_OP_VECTOR; +} + +void disabledFpregFault(int code, Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Disabled FP"); +#endif + code &= PSR_DFH << 1 | PSR_DFL; + setFaultIRs(code, atype); + ip = IVA + DISABLED_FPREG_VECTOR; +} + +void disabledInstSetTransitionFault(void) +{ + setFaultIRs(DISABLED_INST_SET_CODE, 0); + ip = IVA + DISABLED_INST_SET_TRANSITION_VECTOR; +} + +void regNatConsumptionFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Reg NaT"); +#endif + if (unixABI) { +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Register NaT Consumption fault\n"); +#endif /* !defined __linux__ */ + } + setFaultIRs(NAT_REG_CODE, atype); + ip = IVA + REG_NAT_CONSUMPTION_VECTOR; +} + +void reservedRegFieldFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Reserved Reg/Field"); +#endif + if (unixABI) { +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Reserved register/field fault\n"); +#endif /* !defined __linux__ */ + } + setFaultIRs(RESERVED_REG_FIELD_CODE, atype); + ip = IVA + RESERVED_REG_FIELD_VECTOR; +} + +void privRegFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Priv Reg"); +#endif + if (unixABI) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Privileged register fault\n"); +#endif /* !defined __linux__ */ + setFaultIRs(PRIV_REG_CODE, 0); + ip = IVA + PRIV_REG_VECTOR; +} + +void specOpFault(int val, int code) +{ +#ifdef RSE_DEBUG +rseDB("Spec Op"); +#endif + if (PSR_IC) + IIM = val; + setFaultIRs(code, 0); + ip = IVA + SPECULATIVE_OP_VECTOR; +} + +void alternateDataTlbFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Alt. Data"); +#endif + if (atype == TAK_ACCESS) + return; + if (PSR_IC) { + setTlbIRs(atype); + ip = IVA + ALTERNATE_DATA_TLB_VECTOR; + } else + nestedFault(); +} + +void vhptDataFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("VHPT Data"); +#endif + if (atype == TAK_ACCESS) + return; + if (PSR_IC) { + setTlbIRs(atype); + ip = IVA + VHPT_DATA_VECTOR; + } else + nestedFault(); +} + +void dataTlbFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data TLB"); +#endif + if (atype == TAK_ACCESS) + return; + if (PSR_IC) { + setTlbIRs(atype); + ip = IVA + DATA_TLB_VECTOR; + } else + nestedFault(); +} + +void dataPageNotPresentFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Not Present"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_PAGE_NOT_PRESENT_VECTOR; +} + +void dataNatPageConsumptionFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data NaT Page"); +#endif + setTlbIRs(atype); + ISR_ED = NO; /* ISR.ed = 0 for this kind of data TLB faults */ + ISR |= NAT_PAGE_CODE; + ip = IVA + DATA_NAT_PAGE_CONSUMPTION_VECTOR; +} + +void dataKeyMissFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Key Miss"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_KEY_MISS_VECTOR; +} + +void dataKeyPermissionFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Key Perm"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_KEY_PERMISSION_VECTOR; +} + +void dataAccessRightsFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Access Rights"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_ACCESS_RIGHTS_VECTOR; +} + +void dataDirtyBitFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Dirty Bit"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_DIRTY_BIT_VECTOR; +} + +void dataAccessBitFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Access Bit"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_ACCESS_BIT_VECTOR; +} + +void dataDebugFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Data Debug"); +#endif + setTlbIRs(atype); + ip = IVA + DATA_DEBUG_VECTOR; +} + +void unalignedDataFault(Accesstype atype) +{ +#ifdef RSE_DEBUG +rseDB("Unaligned"); +#endif + if (unixABI) { +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("Unaligned Data fault\n"); +#endif /* !defined __linux__ */ + } + setTlbIRs(atype); + ip = IVA + UNALIGNED_DATA_REFERENCE_VECTOR; +} + +void unsupportedDataReferenceFault(void) +{ + setTlbIRs(MEM_SEMA_ACCESS); + ip = IVA + UNSUPPORTED_DATA_REFERENCE_VECTOR; +} + +void fpExceptionFault(int code) +{ +#ifdef RSE_DEBUG +rseDB("FP Fault"); +#endif + if (unixABI) { +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + progExit("FP exception fault\n"); +#endif /* !defined __linux__ */ + } + setFaultIRs(code >> 6, 0); + ip = IVA + FP_EXCEPTION_FAULT_VECTOR; +} + +/* XXX -- should setTrapIRs handle clearing icp, extint, and intrsim? */ + +void fpExceptionTrap(unsigned delta, int code) +{ + unsigned slot = SLOT(ip); + +#ifdef RSE_DEBUG +rseDB("FP Trap"); +#endif + if (unixABI) +#if defined __linux__ + { + signal_queue_info(4, ip); + return; + } +#else /* !defined __linux__ */ + { if (sigHdlr != ~0ULL) { + gotoAlarm(); + ip -= 4; + icp = NULL; + return; + } else + progExit("FP exception trap (SIGFPE)\n"); } +#endif /* !defined __linux__ */ + PSR_IA = PSR_ID = PSR_DA = PSR_DD = PSR_ED = NO; + if (PSR_IC) + IIPA = ip; + ip += delta * 4; + setTrapIRs(slot, code << 7 | FP_TRAP_CODE); + ip = IVA + FP_EXCEPTION_TRAP_VECTOR; +} + +void unimplInstructionAddressTrap(unsigned slot, Status st) +{ + REG isrcode = UNIMPL_ADDRESS_TRAP_CODE; + + if (st != StRFI) + PSR_IA = PSR_ID = PSR_DA = PSR_DD = PSR_ED = NO; + if (st == StTrap) { /* can't be an FP trap if IP fall-through + unimpl check is not done in iCycleSys */ + isrcode |= LOWER_PRIVILEGE_TRAP_CODE; + isrcode |= PSR_TB ? TAKEN_BRANCH_TRAP_CODE : 0; + } + + if (st == StTakenBr && PSR_TB) + isrcode |= TAKEN_BRANCH_TRAP_CODE; + + ip = PSR_IT ? sxtUnimplVA(ip) : zxtUnimplPA(ip); + setTrapIRs(slot, isrcode); + ip = IVA + UNIMPL_INSTRUCTION_ADDRESS_VECTOR; +} + +void lowerPrivilegeTransferTrap(unsigned slot) +{ + PSR_IA = PSR_ID = PSR_DA = PSR_DD = PSR_ED = NO; + if (PSR_TB) + setTrapIRs(slot, LOWER_PRIVILEGE_TRAP_CODE|TAKEN_BRANCH_TRAP_CODE); + else + setTrapIRs(slot, LOWER_PRIVILEGE_TRAP_CODE); + ip = IVA + LOWER_PRIVILEGE_VECTOR; + icp = NULL; +/* XXX -- is this needed? + intrsim = extint = NO; + */ +} + +void takenBranchTrap(unsigned slot) +{ + setTrapIRs(slot, TAKEN_BRANCH_TRAP_CODE); + ip = IVA + TAKEN_BRANCH_VECTOR; + icp = NULL; +/* XXX -- is this needed? + intrsim = extint = NO; + */ +} + +void singleStepTrap(unsigned slot) +{ + setTrapIRs(slot, 0); + ip = IVA + SINGLE_STEP_VECTOR; + icp = NULL; + intrsim = extint = NO; +} + +void virtualizationFault(void) +{ +#ifdef RSE_DEBUG +rseDB("Virtualization"); +#endif + if (unixABI) + progExit("Virtualization fault\n"); + setFaultIRs(0, 0); + ip = IVA + VIRTUALIZATION_VECTOR; +} + + +/*******************************/ +/* External interrupt routines */ +/*******************************/ + +static REG inserv[4] = { 0 }; + +static BOOL higherInserv(unsigned vector) +{ + int i, j; + BOOL found = YES; + unsigned hiInserv; + + if (vector < 16) + vector += 256; /* bias to put in proper priority order */ + + if (BitfX(inserv[0],61,1)) /* NMI */ + hiInserv = NMI_IRPT + 256; + else if (BitfX(inserv[0],63,1)) /* ExtInt */ + hiInserv = EXTINT_IRPT + 256; + else { + found = NO; + for (j = 3; !found && j >= 0; j--) /* vectored irpts */ + for (i = 0; i < 64; i++) + if (BitfX(inserv[j],i,1)) { + hiInserv = j << 6 | (63 - i); + found = YES; + break; + } + } + + return found && hiInserv >= vector; +} + +static BOOL maskedIrpt(unsigned vector) +{ + return TPR_MMI || higherInserv(vector) || + (vector != EXTINT_IRPT && (vector >> 4) <= TPR_MIC); +} + +BOOL irptMsg(ADDR adr) +/* XXX - this function needs to be MP'd. Maybe it should return the number + of the processor receiving the interrupt instead of YES/NO */ +{ + return BitfX(adr,44,16) == BitfX(LID,32,16); +} + +/*-------------------------------------------------------------------------- + * pendInterrupt - This routine sets the proper IRR bit and calls the + * acceptIrpt function to set IVR and perhaps trigger an interrupt. + *--------------------------------------------------------------------------*/ +void pendIrpt(REG irptData) +{ + unsigned vector = VECTOR(irptData), reg, bit; + REG *p = &IRR0; /* assume IRR0-3 are contiguous */ + + if (DM(irptData) == IDM_NMI) + vector = NMI_IRPT; + else if (DM(irptData) == IDM_EXTINT) + vector = EXTINT_IRPT; +#if 0 + fprintf(stderr, "(%llu) Pend interrupt vector %u\n", total_insts, vector); +#endif + + if (vector < 16 && vector != NMI_IRPT && vector != EXTINT_IRPT) + return; /* ignore vectors 1 and 3 - 15 */ + + reg = vector >> 6 & 0x3; + bit = vector & 0x3F; + *(p + reg) |= (REG)1 << bit; + + if (acceptIrpt()) + intrsim = extint = YES; +} + +/*-------------------------------------------------------------------------- + * acceptInterrupt - Determine if the highest priority, pending, unmasked + * external interrupt should cause an interupt. The IVR is also set. + *--------------------------------------------------------------------------*/ +BOOL acceptIrpt(void) +{ + REG *p = &IRR3; /* assume IRR0-3 are contiguous */ + unsigned vector; + int i, j; + BOOL found = NO; + + IVR = SPURIOUS_IRPT; + if (BitfX(IRR0,61,1)) /* NMI */ + IVR = NMI_IRPT; + else if (BitfX(IRR0,63,1) && !maskedIrpt(0)) /* ExtInt */ + IVR = EXTINT_IRPT; + else + for (j = 3; !found && j >= 0; j--, p--) { /* vectored irpts */ + if (!*p) + continue; + for (i = 0; i < 64; i++) + if (BitfX(*p,i,1)) { + vector = j << 6 | (63 - i); + if (!maskedIrpt(vector)) + IVR = vector; + found = YES; + break; + } + } + + return PSR_I && (IVR != SPURIOUS_IRPT); +} + +/*-------------------------------------------------------------------------- + * serviceInterrupt - This routine clears the proper IRR bit, sets the + * proper inserv bit and calls the acceptIrpt function to set IVR. + *--------------------------------------------------------------------------*/ +void serviceIrpt(void) +{ + unsigned reg = IVR >> 6 & 0x3; + unsigned bit = IVR & 0x3f; + REG *p = &IRR0; /* assume IRR0-3 are contiguous */ + + if (IVR >= 16 || IVR == NMI_IRPT || IVR == EXTINT_IRPT) { + *(p + reg) &= ~((REG)1 << bit); + *(inserv + reg) |= (REG)1 << bit; + } + + (void)acceptIrpt(); /* to compute new IVR value */ +} + +/*-------------------------------------------------------------------------- + * completeInterrupt - This routine clears the proper inserv bit and calls + * the acceptIrpt function to set IVR and perhaps trigger an interrupt. + *--------------------------------------------------------------------------*/ +void completeIrpt(void) +{ + int i, j; + BOOL found = NO; + + if (BitfX(inserv[0],61,1)) /* NMI */ + BitfR(inserv[0],61,1) = 0; + else if (BitfX(inserv[0],63,1)) /* ExtInt */ + BitfR(inserv[0],63,1) = 0; + else + for (j = 3; !found && j >= 0; j--) { /* vectored irpts */ + for (i = 0; i < 64; i++) + if (BitfX(inserv[j],i,1)) { + inserv[j] &= ~((REG)1 << (63 - i)); + found = YES; + break; + } + } + + if (acceptIrpt()) + intrsim = extint = YES; +} diff --git a/src/interruption.h b/src/interruption.h new file mode 100644 index 0000000..f0fb01c --- /dev/null +++ b/src/interruption.h @@ -0,0 +1,150 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Interruption Handling Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_INTERRUPTION_H +#define _SKI_INTERRUPTION_H + +/* IA-64 Interruption Vector Offsets */ +#define VHPT_VECTOR 0x0000 +#define PAGE_NOT_PRESENT_VECTOR 0x5000 +#define KEY_PERMISSION_VECTOR 0x5100 +#define GENERAL_EXCEPTION_VECTOR 0x5400 +#define NAT_CONSUMPTION_VECTOR 0x5600 +#define DEBUG_VECTOR 0x5900 + +#define EXTERNAL_INTERRUPT_VECTOR 0x3000 +#define ALTERNATE_INST_TLB_VECTOR 0x0C00 +#define VHPT_INST_VECTOR VHPT_VECTOR +#define INST_TLB_VECTOR 0x0400 +#define INST_PAGE_NOT_PRESENT_VECTOR PAGE_NOT_PRESENT_VECTOR +#define INST_NAT_PAGE_CONSUMPTION_VECTOR NAT_CONSUMPTION_VECTOR +#define INST_KEY_MISS_VECTOR 0x1800 +#define INST_KEY_PERMISSION_VECTOR KEY_PERMISSION_VECTOR +#define INST_ACCESS_RIGHTS_VECTOR 0x5200 +#define INST_ACCESS_BIT_VECTOR 0x2400 +#define INST_DEBUG_VECTOR DEBUG_VECTOR +#define IA32_EXCEPTION_VECTOR 0x6900 +#define ILLEGAL_OP_VECTOR GENERAL_EXCEPTION_VECTOR +#define BREAK_INST_VECTOR 0x2C00 +#define PRIV_OP_VECTOR GENERAL_EXCEPTION_VECTOR +#define DISABLED_FPREG_VECTOR 0x5500 +#define DISABLED_INST_SET_TRANSITION_VECTOR GENERAL_EXCEPTION_VECTOR +#define REG_NAT_CONSUMPTION_VECTOR NAT_CONSUMPTION_VECTOR +#define RESERVED_REG_FIELD_VECTOR GENERAL_EXCEPTION_VECTOR +#define PRIV_REG_VECTOR GENERAL_EXCEPTION_VECTOR +#define SPECULATIVE_OP_VECTOR 0x5700 +#define DATA_NESTED_TLB_VECTOR 0x1400 +#define ALTERNATE_DATA_TLB_VECTOR 0x1000 +#define VHPT_DATA_VECTOR VHPT_VECTOR +#define DATA_TLB_VECTOR 0x0800 +#define DATA_PAGE_NOT_PRESENT_VECTOR PAGE_NOT_PRESENT_VECTOR +#define DATA_NAT_PAGE_CONSUMPTION_VECTOR NAT_CONSUMPTION_VECTOR +#define DATA_KEY_MISS_VECTOR 0x1C00 +#define DATA_KEY_PERMISSION_VECTOR KEY_PERMISSION_VECTOR +#define DATA_ACCESS_RIGHTS_VECTOR 0x5300 +#define DATA_DIRTY_BIT_VECTOR 0x2000 +#define DATA_ACCESS_BIT_VECTOR 0x2800 +#define DATA_DEBUG_VECTOR DEBUG_VECTOR +#define UNALIGNED_DATA_REFERENCE_VECTOR 0x5A00 +#define UNSUPPORTED_DATA_REFERENCE_VECTOR 0x5B00 +#define FP_EXCEPTION_FAULT_VECTOR 0x5C00 +#define FP_EXCEPTION_TRAP_VECTOR 0x5D00 +#define IA32_INTERCEPT_VECTOR 0x6A00 +#define IA32_INTERRUPT_VECTOR 0x6B00 +#define LOWER_PRIVILEGE_VECTOR 0x5E00 +#define UNIMPL_INSTRUCTION_ADDRESS_VECTOR LOWER_PRIVILEGE_VECTOR +#define TAKEN_BRANCH_VECTOR 0x5F00 +#define SINGLE_STEP_VECTOR 0x6000 +#define VIRTUALIZATION_VECTOR 0x6100 + +/* IA-32 Exception Vectors */ +#define IA32_DIVIDE_EXCEPTION 0 +#define IA32_DEBUG_EXCEPTION 1 +#define IA32_BREAK_EXCEPTION 3 +#define IA32_OVERFLOW_EXCEPTION 4 +#define IA32_BOUNDS_EXCEPTION 5 +#define IA32_DEVICE_NOT_AVAILABLE_EXCEPTION 7 +#define IA32_SEGMENT_NOT_PRESENT_EXCEPTION 11 +#define IA32_STACK_EXCEPTION 12 +#define IA32_GENERAL_PROTECTION_EXCEPTION 13 +#define IA32_FLOATING_POINT_EXCEPTION 16 +#define IA32_ALIGNMENT_CHECK_EXCEPTION 17 + +/* IA-32 Intercept Vectors */ +#define IA32_INSTRUCTION_INTERCEPT 0 +#define IA32_GATE_INTERCEPT 1 +#define IA32_SYSTEM_FLAG_INTERCEPT 2 +#define IA32_LOCK_INTERCEPT 4 + +void externalInterrupt(void); +void alternateInstTlbFault(void); +void vhptInstFault(void); +void instTlbFault(void); +void instPageNotPresentFault(void); +void instNatPageConsumptionFault(void); +void instKeyMissFault(void); +void instKeyPermissionFault(void); +void instAccessRightsFault(void); +void instAccessBitFault(void); +void instDebugFault(void); +void ia32ExceptionFault(unsigned vector, unsigned error_code); +void illegalOpFault(void); +void breakInstFault(int val); +void privOpFault(Accesstype atype); +void disabledFpregFault(int code, Accesstype atype); +void disabledInstSetTransitionFault(void); +void regNatConsumptionFault(Accesstype atype); +void reservedRegFieldFault(Accesstype atype); +void privRegFault(void); +void specOpFault(int val, int code); +void alternateDataTlbFault(Accesstype atype); +void vhptDataFault(Accesstype atype); +void dataTlbFault(Accesstype atype); +void dataPageNotPresentFault(Accesstype atype); +void dataNatPageConsumptionFault(Accesstype atype); +void dataKeyMissFault(Accesstype atype); +void dataKeyPermissionFault(Accesstype atype); +void dataAccessRightsFault(Accesstype atype); +void dataDirtyBitFault(Accesstype atype); +void dataAccessBitFault(Accesstype atype); +void dataDebugFault(Accesstype atype); +void unalignedDataFault(Accesstype atype); +void unsupportedDataReferenceFault(void); +void fpExceptionFault(int code); +void fpExceptionTrap(unsigned delta, int code); +void ia32ExceptionTrap(unsigned vector, unsigned trap_code, unsigned delta); +void ia32InterceptTrap(void); +void ia32InterruptTrap(unsigned vector, unsigned trap_code, unsigned delta); +void unimplInstructionAddressTrap(unsigned slot, Status st); +void lowerPrivilegeTransferTrap(unsigned slot); +void takenBranchTrap(unsigned slot); +void singleStepTrap(unsigned slot); +void virtualizationFault(void); + +BOOL irptMsg(ADDR adr); +void pendIrpt(REG irptData); +BOOL acceptIrpt(void); +void serviceIrpt(void); +void completeIrpt(void); + +extern BOOL intrsim, extint; + +#endif /* _SKI_INTERRUPTION_H */ diff --git a/src/libcore.h b/src/libcore.h new file mode 100644 index 0000000..830dd7b --- /dev/null +++ b/src/libcore.h @@ -0,0 +1,521 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Core Header File + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBCORE_H +#define _SKI_LIBCORE_H + +/* This requires std.h and types.h */ + +#ifdef NEW_MP +#define MAX_NGRS 2048 +#define NGRS (GR_STK_BASE + N_STACK_PHYS) +#define NBGRS 16 +#define NPRS 64 +#define NFRS 128 +#define NBRS 8 +#define NARS 128 + +#define NCRS 128 +#define NRRS 8 +#define NPKRS 16 +#define NDBRS 16 +#define NIBRS 16 +#define NPMS 64 +#define NMSRS 4096 +#define NCPUIDS 5 + +#define BGR_BASE 16 +#define GR_STK_BASE 32 +#define N_STACK_PHYS n_stack_phys +#define N_STACK_VIRT 96 +#define GR_ROT_SIZE N_STACK_VIRT +#define PR_ROT_BASE 16 +#define PR_ROT_SIZE (NPRS-PR_ROT_BASE) +#define FR_ROT_BASE 32 +#define FR_ROT_SIZE (NFRS-FR_ROT_BASE) +#endif + +/****************************************/ +/* These functions return machine state */ +/****************************************/ + +#if defined __cplusplus +extern "C" { +#endif /* defined __cplusplus */ + +/* Returns the ip for cproc */ +REG ipGet(int cproc); + +/* Returns the psr for cproc */ +REG psrGet(int cproc); + +/* Returns the virtual GR[i] for cproc */ +REG grGet(int cproc, int i); + +/* Returns the virtual GR[i].nat for cproc */ +REG grNatGet(int cproc, int i); + +/* Returns the physical GR[i] for cproc */ +REG phyGrGet(int cproc, int i); + +/* Returns the physical GR[i].nat for cproc */ +REG phyGrNatGet(int cproc, int i); + +/* Returns the double value of virtual FR[i] for cproc */ +double frGet(int cproc, int i); + +/* Returns the sign bit of virtual FR[i] for cproc */ +REG frSignGet(int cproc, int i); + +/* Returns the exponent field of virtual FR[i] for cproc */ +REG frExpGet(int cproc, int i); + +/* Returns the mantissa field of virtual FR[i] for cproc */ +REG frMantGet(int cproc, int i); + +/* Returns the sign bit of physical FR[i] for cproc */ +REG phyFrSignGet(int cproc, int i); + +/* Returns the exponent field of physical FR[i] for cproc */ +REG phyFrExpGet(int cproc, int i); + +/* Returns the mantissa field of physical FR[i] for cproc */ +REG phyFrMantGet(int cproc, int i); + +/* Returns the virtual PR[i] for cproc */ +REG prGet(int cproc, int i); + +/* Returns the physical PR[i] for cproc */ +BOOL phyPrGet(int cproc, int i); + +/* Returns BR[i] for cproc */ +REG brGet(int cproc, int i); + +/* Returns AR[i] for cproc */ +REG arGet(int cproc, int i); + +/* Returns the CFM for cproc */ +REG cfmGet(int cproc); + +/* Returns the SOF for cproc */ +REG sofGet(int cproc); + +/* Returns the SOL for cproc */ +REG solGet(int cproc); + +/* Returns the SOR for cproc */ +REG sorGet(int cproc); + +/* Returns the RRB.gr for cproc */ +REG rrbgGet(int cproc); + +/* Returns the RRB.fr for cproc */ +REG rrbfGet(int cproc); + +/* Returns the RRB.pr for cproc */ +REG rrbpGet(int cproc); + +/* Returns the BOL for cproc */ +REG bolGet(int cproc); + +/* Returns the number of dirty registers for cproc */ +REG dirtyGet(int cproc); + +/* Returns the number of dirty NaT registers for cproc */ +REG dirtyNatGet(int cproc); + +/* Returns the number of clean registers for cproc */ +REG cleanGet(int cproc); + +/* Returns the number of clean NaT registers for cproc */ +REG cleanNatGet(int cproc); + +/* Returns the number of invalid registers for cproc */ +REG invalidGet(int cproc); + +/* Returns the current frame load enable for cproc */ +BOOL cfleGet(int cproc); + +/* Returns CR[i] for cproc */ +REG crGet(int cproc, int i); + +/* Returns the banked GR[i] for cproc */ +REG bkrGet(int cproc, int i); + +/* Returns the banked GR[i].nat for cproc */ +REG bkrNatGet(int cproc, int i); + +/* Returns RR[i] for cproc */ +REG rrGet(int cproc, int i); + +/* Returns PKR[i] for cproc */ +REG pkrGet(int cproc, int i); + +/* Returns DBR[i] for cproc */ +REG dbrGet(int cproc, int i); + +/* Returns IBR[i] for cproc */ +REG ibrGet(int cproc, int i); + +/* Returns PMC[i] for cproc */ +REG pmcGet(int cproc, int i); + +/* Returns PMD[i] for cproc */ +REG pmdGet(int cproc, int i); + +/* Returns CPUID[i] for cproc */ +REG cpuidGet(int cproc, int i); + +/* Returns the memory contents for cproc in the Meminfo linked list */ +BOOL memGet(Meminfo_p *list); + + +/***************************************/ +/* These functions set machine state */ +/* (the return value indicates whether */ +/* the setting was successful) */ +/***************************************/ + +/* Sets the ip for cproc */ +BOOL ipSet(int cproc, REG val); + +/* Sets the psr for cproc */ +BOOL psrSet(int cproc, REG val); + +/* Sets the virtual GR[i] for cproc */ +BOOL grSet(int cproc, int i, REG val); + +/* Sets the virtual GR[i].nat for cproc */ +BOOL grNatSet(int cproc, int i, BOOL nat); + +/* Sets the physical GR[i] for cproc */ +BOOL phyGrSet(int cproc, int i, REG val); + +/* Sets the physical GR[i].nat for cproc */ +BOOL phyGrNatSet(int cproc, int i, BOOL nat); + +/* Set the value of virtual FR[i] for cproc */ +BOOL frSet(int cproc, int i, double val); + +/* Sets the sign bit of virtual FR[i] for cproc */ +BOOL frSignSet(int cproc, int i, REG val); + +/* Sets the exponent field of virtual FR[i] for cproc */ +BOOL frExpSet(int cproc, int i, WORD exp); + +/* Sets the mantissa field of virtual FR[i] for cproc */ +BOOL frMantSet(int cproc, int i, DWORD mant); + +/* Sets the sign bit of physical FR[i] for cproc */ +BOOL phyFrSignSet(int cproc, int i, BYTE sign); + +/* Sets the exponent field of physical FR[i] for cproc */ +BOOL phyFrExpSet(int cproc, int i, WORD exp); + +/* Sets the mantissa field of physical FR[i] for cproc */ +BOOL phyFrMantSet(int cproc, int i, DWORD mant); + +/* Sets the virtual PR[i] for cproc */ +BOOL prSet(int cproc, int i, BOOL val); + +/* Sets the physical PR[i] for cproc */ +BOOL phyPrSet(int cproc, int i, BOOL val); + +/* Sets BR[i] for cproc */ +BOOL brSet(int cproc, int i, REG val); + +/* Sets AR[i] for cproc */ +BOOL arSet(int cproc, int i, REG val); + +/* Sets the CFM for cproc */ +void cfmSet(int cproc, REG val); + +/* Sets the RRB.gr for cproc */ +BOOL rrbgSet(int cproc, REG val); + +/* Sets the RRB.fr for cproc */ +BOOL rrbfSet(int cproc, REG val); + +/* Sets the RRB.pr for cproc */ +BOOL rrbpSet(int cproc, REG val); + +/* Sets the BOL for cproc */ +void bolSet(int cproc, unsigned val); + +/* Sets the number of dirty registers for cproc */ +void dirtySet(int cproc, int val); + +/* Sets the number of dirty NaT registers for cproc */ +void dirtyNatSet(int cproc, int val); + +/* Sets the number of clean registers for cproc */ +void cleanSet(int cproc, int val); + +/* Sets the number of clean NaT registers for cproc */ +void cleanNatSet(int cproc, int val); + +/* Sets the number of invalid registers for cproc */ +void invalidSet(int cproc, int val); + +/* Sets the current frame load enable for cproc */ +void cfleSet(int cproc, BOOL val); + +/* Sets CR[i] for cproc */ +BOOL crSet(int cproc, int i, REG val); + +/* Sets the banked GR[i] for cproc */ +BOOL bkrSet(int cproc, int i, REG val); + +/* Sets the banked GR[i].nat for cproc */ +BOOL bkrNatSet(int cproc, int i, BOOL val); + +/* Sets RR[i] for cproc */ +BOOL rrSet(int cproc, int i, REG val); + +/* Sets RR[i] for cproc */ +BOOL pkrSet(int cproc, int i, REG val); + +/* Sets DBR[i] for cproc */ +BOOL dbrSet(int cproc, int i, REG val); + +/* Sets IBR[i] for cproc */ +BOOL ibrSet(int cproc, int i, REG val); + +/* Sets PMC[i] for cproc */ +BOOL pmcSet(int cproc, int i, REG val); + +/* Sets PMD[i] for cproc */ +BOOL pmdSet(int cproc, int i, REG val); + +/* Sets 8 bytes of memory for cproc starting at adr */ +void memSet(ADDR adr, REG val); + +/* Sets a page of memory for cproc to all zeroes */ +void memZerosPageSet(ADDR adr); + +/*************************************/ +/* These are miscellaneous functions */ +/*************************************/ + +/* Flush the RSE prior to stack unwinding */ +void unwindFlush(void); + +/* Returns the total number of instructions simulated so far */ +CTR getTotalInsts(void); + +/* Sets the total number of instructions simulated so far */ +void setTotalInsts(CTR val); + +/* Returns the total number of faults simulated so far */ +CTR getTotalFaults(void); + +/* Sets the total number of faults simulated so far */ +void setTotalFaults(CTR val); + +/* Returns the total number of virtual cycles simulated so far */ +CTR getTotalCycles(void); + +/* Sets the total number of virtual cycles simulated so far */ +void setTotalCycles(CTR val); + +/* Returns the maximum SP value */ +REG getMaxSP(void); + +/* Sets the maximum SP value */ +void setMaxSP(REG val); + +#ifndef _SKI_DECODER_H +#ifndef MAX_DAS_LEN +typedef struct { + DWORD left, right; +} Bundle; +#endif +#endif + +/* Splits a bundle into 3 instructions and the template/SB field */ +void bparts(Bundle *bptr, BYTE *templSB, DWORD slot[]); + +/* Replaces an instruction with a BREAK instruction, returning the original */ +void bptReplace(Bundle *bptr, ADDR *adrptr, DWORD *orig); + +/* Restores the original instruction */ +void bptRestore(Bundle *bptr, ADDR adr, DWORD orig); + +/* Replaces an IA instruction with a int 3 instruction */ +void iabptReplace(ADDR adr); + +/* Restores an IA instruction */ +void iabptRestore(ADDR adr); + +/* Replaces an instruction with a new value */ +#ifndef _ENCODER_H +struct encoded_inst; +#endif +BOOL instrReplace(Bundle *bptr, ADDR badr, unsigned slot, + struct encoded_inst *inst); + +/* Replaces a bundle's template with a new value */ +void templReplace(Bundle *bptr, ADDR adr, BYTE _new); + +/* Sets internal state that is derived from other architected state */ +void setDerivedState(BOOL setEIP); + +/* Sets the intrsim flag */ +void setIntrsim(BOOL val); + +/* Returns the lp64 flag for cproc (indicating the executable's data model) */ +BOOL getLp64(int cproc); + +/* Sets the lp64 flag for cproc */ +void setLp64(int cproc, BOOL val); + +/* Sets up a file descriptor mapping from fd1 to fd2 */ +void setFdmap(int fd1, int fd2); + +/* Simulate for up to cnt instructions */ +BOOL stepIt_loop(CTR cnt); +BOOL runIt_loopX(CTR cnt); + +/* Simulate until stopped */ +void runIt_loop(void); + +/* Enable/Disable tracing */ +BOOL setTraceEnb(BOOL enb); + +/* Initialize the virtual cycle counter for tracing */ +void initTraceVcy(void); + +/* Initialize trace flags */ +void initTraceFlags(void); + +/* Generate a trace discontinuity */ +void traceDisc(void); + +/* Sets the virtual cycle counter for tracing (only if tracing enabled) */ +void traceVcyEnb(void); + +/* Currently unused */ +void setUserMode(BOOL user_mode); + +/* Gets the execution message */ +char *getExecMsg(void); + +extern unsigned long page_size; +extern unsigned int log2_page_size; +extern DWORD page_mask; + +#define page_base(addr) ((addr) & page_mask) +#define page_align(addr) (((addr) + ~page_mask) & page_mask) +#define page_offset(addr) ((addr) & ~page_mask) + +/* Prototypes */ + +/* Writes a bundle to memory for cproc */ +BOOL memMIWrt(ADDR adr, DWORD *pval); + +/* Writes up to a page of memory for cproc (data) */ +void memMPWrt(ADDR adr, const BYTE *src, unsigned size); + +/* Writes up to a page of memory for cproc (instruction) */ +void memMPIWrt(ADDR adr, const BYTE *src, unsigned size); + +/* Set/clear the data breakpoint bit corresponding to the address for cproc */ +void memSetDbptBit(ADDR adr); +void memClrDbptBit(ADDR adr); + +/* Reads nbytes of IA memory */ +BOOL memMIAIRd(WORD eip, BYTE *pval, unsigned nbytes); + +/* Writes nbytes of IA memory */ +BOOL memMIAIWrt(ADDR adr, BYTE *pval, unsigned nbytes); + +/* Returns the exited flag */ +REG getExited(void); + +/* Sets the exited flag */ +void setExited(BOOL val); + +/* Returns the heap address for cproc */ +ADDR heapGet(int cproc); + +/* Sets the heap address for cproc */ +void heapSet(int cproc, ADDR val); + +/* Displays the GR map */ +void getGrMapInfo(char buf[]); + +/* Displays the Page Table */ +size_t pageTableDisplaySize(void); +void getPageTableInfo(char buf[]); + +/* Translates the virtual address using the DTLB */ +BOOL dataTranslate(ADDR va, BOOL rd, ADDR *pa); + +/* Translates the virtual address using the ITLB */ +BOOL instTranslate(ADDR va, ADDR *pa); + +/* Displays the ITLB */ +size_t instTlbDisplaySize(void); +void getInstTlbInfo(char hdr[], char buf[]); + +/* Displays the DTLB */ +size_t dataTlbDisplaySize(void); +void getDataTlbInfo(char hdr[], char buf[]); + +/* Initializes basic machine state for cproc */ +void initState(int cproc); + +/* Enables the instruction bucket counting */ +void setIcntEnb(void); + +/* Initializes application-specific state for cproc */ +void initAppState(int cproc); + +/* Sets the ABI to App-mode or Sys-mode */ +void setABI(BOOL val); + +/* Returns a string indicating the implementation */ +char *getImplStr(void); + +/* Returns the next static ip after the specified address */ +ADDR nextIp(ADDR a); + +/* Returns the number of B units in the template for the specified bundle */ +int brCnt(ADDR a); + +/* Returns the type of branch instruction if any at the specified address */ +BRTYPE brType(ADDR a); + +/* Returns the taken and fallthru addresses for an IP-relative branch at the + specified address */ +void brTargets(ADDR a, ADDR *taken, ADDR *fallthru); + +/* Returns whether the branch at the specified address will be taken and + the address of the next dynamic instruction */ +BOOL brTaken(ADDR a, ADDR *next); + +void initSysState(void); + +#if defined __cplusplus +} +#endif /* defined __cplusplus */ + +#endif /* _SKI_LIBCORE_H */ diff --git a/src/libdas.c b/src/libdas.c new file mode 100644 index 0000000..51eb07c --- /dev/null +++ b/src/libdas.c @@ -0,0 +1,1323 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Disassembly Library Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#include "std.h" +#include "bits.h" +#include "types.h" +#include "das_instr.h" +#include +#include +#include "libdas.h" +#include "libsym.h" +#include + +#ifndef R_IA_64_IMM14 +#define R_IA_64_IMM14 R_IA_64_IMM15 +#endif + +#define MAX_DAS_DECIMAL 255 +#define MIN_DAS_DECIMAL -256 + +ADDR dasAddress(); +void symAddrtoDefFunc(ADDR, char[], int, int, int); +/* default disassembly parameters - can be changed by dasInit() */ +static DasOptions dasOpts = DasTemplate | DasTemplateCommas | DasPseudoOps + | DasRegNames; + +static unsigned ins, locs, outs, rots; +static char targetStr[MAX_DAS_LEN], regStr[10]; +static size_t dasWidth = 80 - 21, trailLen = 5, templLen = 5; +static size_t formatLen = 0, commentLen = 0, sepLen = 0, addrLen = 0; + +static const char *dasSep = ",", *dasEqualSep = "="; +static int symLen; + +static const char *arStr[] = { + ".k0", ".k1", ".k2", ".k3", ".k4", ".k5", ".k6", ".k7", + "8", "9", "10", "11", "12", "13", "14", "15", + ".rsc", ".bsp", ".bspstore", ".rnat", "20", ".fcr", "22", "23", + ".eflags", ".csd", ".ssd", ".cflg", ".fsr", ".fir", ".fdr", "31", + ".ccv", "33", "34", "35", ".unat", "37", "38", "39", + ".fpsr", "41", "42", "43", ".itc", "45", "46", "47", + "48", "49", "50", "51", "52", "53", "54", "55", + "56", "57", "58", "59", "60", "61", "62", "63", + ".pfs", ".lc", ".ec", "67", "68", "69", "70", "71", + "72", "73", "74", "75", "76", "77", "78", "79", + "80", "81", "82", "83", "84", "85", "86", "87", + "88", "89", "90", "91", "92", "93", "94", "95", + "96", "97", "98", "99", "100", "101", "102", "103", + "104", "105", "106", "107", "108", "109", "110", "111", + "112", "113", "114", "115", "116", "117", "118", "119", + "120", "121", "122", "123", "124", "125", "126", "127" +}; + +static const char *crStr[] = { + ".dcr", ".itm", ".iva", "3", "4", "5", "6", "7", + ".pta", ".gpta", "10", "11", "12", "13", "14", "15", + ".ipsr", ".isr", "18", ".iip", ".ifa", ".itir", ".iipa", ".ifs", + ".iim", ".iha", "26", "27", "28", "29", "30", "31", + "32", "33", "34", "35", "36", "37", "38", "39", + "40", "41", "42", "43", "44", "45", "46", "47", + "48", "49", "50", "51", "52", "53", "54", "55", + "56", "57", "58", "59", "60", "61", "62", "63", + ".lid", ".ivr", ".tpr", ".eoi", ".irr0", ".irr1", ".irr2", ".irr3", + ".itv", ".pmv", ".cmcv", "75", "76", "77", "78", "79", + ".lrr0", ".lrr1", "82", "83", "84", "85", "86", "87", + "88", "89", "90", "91", "92", "93", "94", "95", + "96", "97", "98", "99", "100", "101", "102", "103", + "104", "105", "106", "107", "108", "109", "110", "111", + "112", "113", "114", "115", "116", "117", "118", "119", + "120", "121", "122", "123", "124", "125", "126", "127" +}; + +static const char *mbtype4Str[] = { + "@brcst", "0x1", "0x2", "0x3", "0x4", "0x5", "0x6", "0x7", + "@mix", "@shuf", "@alt", "@rev", "0xc", "0xd", "0xe", "0xf" +}; + +#define MNEM_LEN 16 + +/* specialized sprintf, equivalent to sprintf(s, "%-*s ", MNEM_LEN, mnem) */ +static int sprint_mnem(char *s, const char *mnem) +{ + int len = strlen(mnem); + + (void)strcpy(s, mnem); + if (len >= MNEM_LEN) + *(s + len) = ' '; + else { + (void)memset(s + len, ' ', MNEM_LEN - len + 1); + len = MNEM_LEN; + } + + *(s + ++len) = '\0'; + return len; +} + +/* specialized sprintf, equivalent to sprintf(s, "%s", str2) */ +static int sprint_s(char *s, const char *str1, const char *str2, + const char *str3) +{ + int len = 0; + + if (str1) { + (void)strcpy(s, str1); + len += strlen(str1); + } + if (str2) { + (void)strcpy(s + len, str2); + len += strlen(str2); + } + if (str3) { + (void)strcpy(s + len, str3); + len += strlen(str3); + } + return len; +} + +#define MAX_DIGITS 10 + +/* specialized sprintf, equivalent to sprintf(s, "%u", num) */ +static int sprint_u(char *s, const char *str1, unsigned int num, + const char *str2) +{ + int len = 0; + + if (str1) { + (void)strcpy(s, str1); + len += strlen(str1); + } + if (num <= 9) { /* single digit */ + *(s + len) = (char)num + '0'; + len++; + } else { /* multiple digits */ + char buf[MAX_DIGITS], *bufp = &buf[MAX_DIGITS]; + unsigned bufLen = 0; + + do { + *(--bufp) = (char)(num % 10) + '0'; + bufLen++; + } while ((num /= 10) != 0); + (void)memcpy(s + len, bufp, bufLen); + len += bufLen; + } + if (str2) { + (void)strcpy(s + len, str2); + len += strlen(str2); + } else + *(s + len) = '\0'; + return len; +} + +static char *grName(char *grstr, unsigned reg) +{ + if (dasOpts & DasRegNames) { + if (reg == 1) + (void)strcpy(grstr, "gp"); + else if (reg == 12) + (void)strcpy(grstr, "sp"); + else if (reg >= 8 && reg <= 11) + (void)sprint_u(grstr, "ret", reg - 8, 0); + else if (reg == 13) + (void)strcpy(grstr, "tp"); + else if ((dasOpts & DasStackedRegNames) == DasStackedRegNames) { + if (reg >= 32 && reg < (32 + ins)) + (void)sprint_u(grstr, "in", reg - 32, 0); + else if (reg >= (32 + ins) && reg < (32 + ins + locs)) + (void)sprint_u(grstr, "loc", reg - (32 + ins), 0); + else if (reg >= (32 + ins + locs) && + reg < (32 + ins + locs + outs)) + (void)sprint_u(grstr, "out", reg - (32 + ins + locs), 0); + else + (void)sprint_u(grstr, "r", reg, 0); + } else + (void)sprint_u(grstr, "r", reg, 0); + } else + (void)sprint_u(grstr, "r", reg, 0); + return grstr; +} + +static char *ipRelStr(char *relstr, ADDR addr, DWORD val) +{ +#if 0 + (void)sprintf(relstr, "0x%llx", addr+val); +#else +#if 0 + if ((long long)val < 0) + (void)sprintf(relstr, ".-0x%llx", -val); + else + (void)sprintf(relstr, ".+0x%llx", val); +#else + symAddrtoDefFunc(addr + val, relstr, 4, YES, -symLen); +#endif +#endif + return relstr; +} + +static void relocPlusMinus(char *relocstr, char *head, char *name, char *mid, + long long addend, char *tail) +{ + if (addend >= MIN_DAS_DECIMAL && addend <= MAX_DAS_DECIMAL) { + int len = symLen; + size_t hLen, mLen, tLen; + + hLen = strlen(head); + mLen = strlen(mid); + tLen = strlen(tail); + + if (addend) { + char addendStr[20], *sepStr; + int aLen; + + if (addend < 0) { + sepStr = " - "; + addend = -addend; + } else + sepStr = " + "; + aLen = sprintf(addendStr, "%lld", addend); + len -= hLen + mLen + 3 + aLen + tLen; + (void)sprintf(relocstr, "%s%.*s%s%s%s%s", head, len, name, + mid, sepStr, addendStr, tail); + } else { /* addend == 0 */ + len -= hLen + (mLen ? mLen : tLen); + (void)sprintf(relocstr, "%s%.*s%s", head, len, name, + mLen ? mid : tail); + } + } else + (void)sprintf(relocstr, "%s%s%s + 0x%llx%s", head, name, mid, + addend, tail); +} + +#define RELOC_TYPE(x) (x & ~7) +#define R_DIR RELOC_TYPE(R_IA_64_IMM14) +#define R_GPREL RELOC_TYPE(R_IA_64_GPREL22) +#define R_LTOFF RELOC_TYPE(R_IA_64_LTOFF22) +#define R_PLTOFF RELOC_TYPE(R_IA_64_PLTOFF22) +#define R_FPTR RELOC_TYPE(R_IA_64_FPTR64I) +#define R_PCREL RELOC_TYPE(R_IA_64_PCREL60B) +#define R_LTOFF_FPTR RELOC_TYPE(R_IA_64_LTOFF_FPTR22) +#define R_SEGREL RELOC_TYPE(R_IA_64_SEGREL32MSB) +#define R_SECREL RELOC_TYPE(R_IA_64_SECREL32MSB) +#define R_REL RELOC_TYPE(R_IA_64_REL32MSB) +#define R_LTV RELOC_TYPE(R_IA_64_LTV32MSB) +#define R_PLT RELOC_TYPE(R_IA_64_IPLTMSB) +#define R_TPREL RELOC_TYPE(R_IA_64_TPREL22) +#define R_LTOFF_TPREL RELOC_TYPE(R_IA_64_LTOFF_TPREL22) + +static char *relocStr(char *relocstr, DasRelocationPtr reloc) +{ + long long addend = reloc->addend; + char *name = reloc->name; + unsigned int type = reloc->type; + + if (type == R_IA_64_LTOFF22X) // map LTOFF22X to LTOFF22 + type = R_IA_64_LTOFF22; + else if (type == R_IA_64_PCREL21BI) // map PCREL21BI to PCREL60B + type = R_IA_64_PCREL60B; + + switch (RELOC_TYPE(type)) { + /* XXX - add remaining reloc types */ + case R_DIR: + relocPlusMinus(relocstr, "", name, "", addend, ""); + break; + case R_GPREL: + relocPlusMinus(relocstr, "@gprel(", name, "", addend, ")"); + break; + case R_LTOFF: + relocPlusMinus(relocstr, "@ltoff(", name, "", addend, ")"); + break; + case R_PLTOFF: + relocPlusMinus(relocstr, "@pltoff(", name, ")", addend, ""); + break; + case R_FPTR: + relocPlusMinus(relocstr, "@fptr(", name, "", addend, ")"); + break; + case R_PCREL: + if (addend) + (void)sprintf(relocstr, "%s + 0x%llx", name, addend); + else if (symLen) { + (void)sprintf(relocstr, "%.*s", symLen, name); + symLen = 0; + } else + (void)sprintf(relocstr, "%s", name); + break; + case R_LTOFF_FPTR: + relocPlusMinus(relocstr, "@ltoff(@fptr(", name, "", addend, "))"); + break; + case R_SEGREL: + relocPlusMinus(relocstr, "@segrel(", name, "", addend, ")"); + break; + case R_SECREL: + relocPlusMinus(relocstr, "@secrel(", name, "", addend, ")"); + break; + case R_LTV: + relocPlusMinus(relocstr, "", name, "", addend, ""); + break; + case R_TPREL: + relocPlusMinus(relocstr, "@tprel(", name, "", addend, ")"); + break; + case R_LTOFF_TPREL: + relocPlusMinus(relocstr, "@ltoff(@tprel(", name, "", addend, "))"); + break; + case R_REL: /* XXX - what should this do? */ +#if 0 + case R_PLT: /* XXX - what should this do? */ +#endif + default: +#if 0 + (void)sprintf(relocstr, "*** unknown reloc 0x%x: %s + 0x%llx ***", + reloc->type, name, addend); +#else + (void)sprintf(relocstr, "*ur 0x%x*", reloc->type); +#endif + break; + } + return relocstr; +} + +typedef BOOL (*PCHKFN)(OperandsPtr); +typedef void (*PADJFN)(OperandsPtr); + +static BOOL qp0(OperandsPtr opnds) +{ + return opnds->qp == 0; +} + +static BOOL f2eq0_F1(OperandsPtr opnds) +{ + return opnds->u.F1.f2.bits == 0; +} + +static BOOL f2eq0_F2(OperandsPtr opnds) +{ + return opnds->u.F2.f2.bits == 0; +} + +static BOOL f2eq0_F9(OperandsPtr opnds) +{ + return opnds->u.F9.f2.bits == 0; +} + +static BOOL f4eq1_F1(OperandsPtr opnds) +{ + return opnds->u.F1.f4.bits == 1; +} + +static BOOL f2eqf3_F9(OperandsPtr opnds) +{ + return opnds->u.F9.f2.bits == opnds->u.F9.f3.bits; +} + +static BOOL f4eq1_f2eq0_F1(OperandsPtr opnds) +{ + return opnds->u.F1.f4.bits == 1 && opnds->u.F1.f2.bits == 0; +} + +static BOOL imm14eq0_A4(OperandsPtr opnds) +{ + return opnds->u.A4.imm14.bits == 0; +} + +static BOOL r3eq0_A5(OperandsPtr opnds) +{ + return opnds->u.A5.r3.bits == 0; +} + +static BOOL tag13eq0_I21(OperandsPtr opnds) +{ + return opnds->u.I21.tag13.bits == 0; +} + +static BOOL posleneq64_I11(OperandsPtr opnds) +{ + return opnds->u.I11.pos6.bits + opnds->u.I11.len6.bits == 64; +} + +static BOOL posleneq64_I12(OperandsPtr opnds) +{ + return opnds->u.I12.pos6.bits + opnds->u.I12.len6.bits == 64; +} + +static BOOL p1eq0_p2ne0(OperandsPtr opnds) +{ + return opnds->u.A6.p1.bits == 0 && opnds->u.A6.p2.bits != 0; +} + +static BOOL mask17_all(OperandsPtr opnds) +{ + return opnds->u.I23.mask17.bits == (-1 << 1); +} + +static void no_f2_F9(OperandsPtr opnds) +{ + opnds->u.F9.f2.bits = opnds->u.F9.f3.bits; + opnds->u.F9.f3.type = EM_OPTYPE_NONE; +} + +static void no_f4_F1(OperandsPtr opnds) +{ + opnds->u.F1.f4.bits = opnds->u.F1.f2.bits; + opnds->u.F1.f2.type = EM_OPTYPE_NONE; +} + +static void no_f2_F1(OperandsPtr opnds) +{ + opnds->u.F1.f2.type = EM_OPTYPE_NONE; +} + +static void no_f4_f2_F1(OperandsPtr opnds) +{ + opnds->u.F2.f4.type = EM_OPTYPE_NONE; + opnds->u.F1.f2.type = EM_OPTYPE_NONE; +} + +static void no_f2_F2(OperandsPtr opnds) +{ + opnds->u.F2.f2.type = EM_OPTYPE_NONE; +} + +static void no_imm14_A4(OperandsPtr opnds) +{ + opnds->u.A4.imm14 = opnds->u.A4.r3; + opnds->u.A4.r3.type = EM_OPTYPE_NONE; +} + +static void no_r3_A5(OperandsPtr opnds) +{ + opnds->u.A5.r3.type = EM_OPTYPE_NONE; +} + +static void no_tag_I21(OperandsPtr opnds) +{ + opnds->u.I21.tag13.type = EM_OPTYPE_NONE; +} + +static void no_len6_I12(OperandsPtr opnds) +{ + opnds->u.I12.len6.type = EM_OPTYPE_NONE; +} + +static void no_len6_I11(OperandsPtr opnds) +{ + opnds->u.I11.len6.type = EM_OPTYPE_NONE; +} + +static void no_mask17(OperandsPtr opnds) +{ + opnds->u.I23.mask17.type = EM_OPTYPE_NONE; +} + +static void imm64_X2(OperandsPtr opnds) +{ + opnds->u.X2.imm64.type = EM_OPTYPE_IMM64; +} + +static void swap_p1p2(OperandsPtr opnds) +{ + unsigned long long tmp; + + tmp = opnds->u.A6.p1.bits; + opnds->u.A6.p1.bits = opnds->u.A6.p2.bits; + opnds->u.A6.p2.bits = tmp; +} + +static void hex_imm(OperandsPtr opnds) +{ + unsigned o; + + for (o = 0; (o < MAX_OPERANDS && opnds->u.op[o].type); o++) + if (OPCLASS(opnds->u.op[o].type) == EM_OPTYPE_IMM) + opnds->u.op[o].type = EM_OPTYPE_HIMM; +} + + +static void hint_imm(OperandsPtr opnds) +{ + opnds->u.I18.imm21.type = EM_OPTYPE_HINT_IMM; +} + +static void alloc_imm(OperandsPtr opnds) +{ + /* record register stack state */ + dasSetFrameSize((unsigned int)opnds->u.M34.i.bits, + (unsigned int)opnds->u.M34.l.bits, + (unsigned int)opnds->u.M34.o.bits, + (unsigned int)opnds->u.M34.r.bits); +} + +void dasSetFrameSize(unsigned int i, unsigned int l, unsigned int o, + unsigned int r) +{ + /* set register stack state */ + ins = i; + locs = l; + outs = o; + rots = r; +} + +static void iDasm(unsigned slot, InstID instID, OperandsPtr opnds, char *buf, + SB stop) +{ + char *mnem, *p; + const char *sep; + unsigned i, o, reg; + unsigned long long bits; + long long sbits; + BOOL first = YES; + ADDR addr; + DasRelocation reloc; + static struct { + InstID instID; + PCHKFN chkFn; + char *mnem; + PADJFN adjFn; + } pseudo[] = { + {EM_INST_NONE, 0, 0, 0}, + {EM_ADDL_R1_IMM22_R3, r3eq0_A5, "mov", no_r3_A5}, + {EM_ADDS_R1_IMM14_R3, imm14eq0_A4, "mov", no_imm14_A4}, + {EM_ALLOC_R1_AR_PFS_I_L_O_R, 0, 0, alloc_imm}, + {EM_ANDCM_R1_IMM8_R3, 0, 0, hex_imm}, + {EM_AND_R1_IMM8_R3, 0, 0, hex_imm}, + {EM_BR_COND_SPTK_FEW_TARGET25, qp0, "br", 0}, + {EM_BR_COND_SPTK_MANY_TARGET25, qp0, "br.many", 0}, + {EM_BR_COND_SPTK_FEW_CLR_TARGET25, qp0, "br.clr", 0}, + {EM_BR_COND_SPTK_MANY_CLR_TARGET25, qp0, "br.many.clr",0}, + {EM_BR_COND_SPTK_FEW_B2, qp0, "br", 0}, + {EM_BR_COND_SPTK_MANY_B2, qp0, "br.many", 0}, + {EM_BR_COND_SPTK_FEW_CLR_B2, qp0, "br.clr", 0}, + {EM_BR_COND_SPTK_MANY_CLR_B2, qp0, "br.many.clr",0}, + {EM_BREAK_B_IMM21, 0, 0, hex_imm}, + {EM_BREAK_F_IMM21, 0, 0, hex_imm}, + {EM_BREAK_I_IMM21, 0, 0, hex_imm}, + {EM_BREAK_M_IMM21, 0, 0, hex_imm}, + {EM_BREAK_X_IMM62, 0, 0, hex_imm}, + {EM_CMP_LT_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.ge", swap_p1p2}, + {EM_CMP_LTU_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.geu", swap_p1p2}, + {EM_CMP_EQ_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.ne", swap_p1p2}, + {EM_CMP_LT_UNC_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.ge.unc", swap_p1p2}, + {EM_CMP_LTU_UNC_P1_P2_R2_R3,p1eq0_p2ne0, "cmp.geu.unc",swap_p1p2}, + {EM_CMP_EQ_UNC_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.ne.unc", swap_p1p2}, + {EM_CMP_EQ_AND_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_EQ_OR_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_EQ_OR_ANDCM_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.ne.and.orcm", + swap_p1p2}, + {EM_CMP_NE_AND_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_NE_OR_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_NE_OR_ANDCM_P1_P2_R2_R3, p1eq0_p2ne0, "cmp.eq.and.orcm", + swap_p1p2}, + {EM_CMP4_LT_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.ge", swap_p1p2}, + {EM_CMP4_LTU_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.geu", swap_p1p2}, + {EM_CMP4_EQ_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.ne", swap_p1p2}, + {EM_CMP4_LT_UNC_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.ge.unc", swap_p1p2}, + {EM_CMP4_LTU_UNC_P1_P2_R2_R3,p1eq0_p2ne0, "cmp4.geu.unc",swap_p1p2}, + {EM_CMP4_EQ_UNC_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.ne.unc", swap_p1p2}, + {EM_CMP4_EQ_AND_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_EQ_OR_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_EQ_OR_ANDCM_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.ne.and.orcm", + swap_p1p2}, + {EM_CMP4_NE_AND_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_NE_OR_P1_P2_R2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_NE_OR_ANDCM_P1_P2_R2_R3, p1eq0_p2ne0, "cmp4.eq.and.orcm", + swap_p1p2}, + {EM_CMP_GT_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_GT_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_GT_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp.le.and.orcm", + swap_p1p2}, + {EM_CMP_LE_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_LE_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_LE_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp.gt.and.orcm", + swap_p1p2}, + {EM_CMP_GE_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_GE_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_GE_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp.lt.and.orcm", + swap_p1p2}, + {EM_CMP_LT_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_LT_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_LT_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp.ge.and.orcm", + swap_p1p2}, + {EM_CMP4_GT_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_GT_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_GT_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp4.le.and.orcm", + swap_p1p2}, + {EM_CMP4_LE_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_LE_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_LE_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp4.gt.and.orcm", + swap_p1p2}, + {EM_CMP4_GE_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_GE_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_GE_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp4.lt.and.orcm", + swap_p1p2}, + {EM_CMP4_LT_AND_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_LT_OR_P1_P2_R0_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_LT_OR_ANDCM_P1_P2_R0_R3,p1eq0_p2ne0, "cmp4.ge.and.orcm", + swap_p1p2}, + {EM_CMP_LT_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.ge", swap_p1p2}, + {EM_CMP_LTU_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.geu", swap_p1p2}, + {EM_CMP_EQ_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.ne", swap_p1p2}, + {EM_CMP_LT_UNC_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.ge.unc", swap_p1p2}, + {EM_CMP_LTU_UNC_P1_P2_IMM8_R3,p1eq0_p2ne0, "cmp.geu.unc",swap_p1p2}, + {EM_CMP_EQ_UNC_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.ne.unc", swap_p1p2}, + {EM_CMP_EQ_AND_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_EQ_OR_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_EQ_OR_ANDCM_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.ne.and.orcm", + swap_p1p2}, + {EM_CMP_NE_AND_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_NE_OR_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP_NE_OR_ANDCM_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp.eq.and.orcm", + swap_p1p2}, + {EM_CMP4_LT_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.ge", swap_p1p2}, + {EM_CMP4_LTU_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.geu", swap_p1p2}, + {EM_CMP4_EQ_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.ne", swap_p1p2}, + {EM_CMP4_LT_UNC_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.ge.unc", swap_p1p2}, + {EM_CMP4_LTU_UNC_P1_P2_IMM8_R3,p1eq0_p2ne0, "cmp4.geu.unc",swap_p1p2}, + {EM_CMP4_EQ_UNC_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.ne.unc", swap_p1p2}, + {EM_CMP4_EQ_AND_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_EQ_OR_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_EQ_OR_ANDCM_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.ne.and.orcm", + swap_p1p2}, + {EM_CMP4_NE_AND_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_NE_OR_P1_P2_IMM8_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_CMP4_NE_OR_ANDCM_P1_P2_IMM8_R3, p1eq0_p2ne0, "cmp4.eq.and.orcm", + swap_p1p2}, + {EM_DEP_Z_R1_R2_POS6_LEN6, posleneq64_I12, "shl", no_len6_I12}, + {EM_EXTR_R1_R3_POS6_LEN6, posleneq64_I11, "shr", no_len6_I11}, + {EM_EXTR_U_R1_R3_POS6_LEN6, posleneq64_I11, "shr.u", no_len6_I11}, + {EM_FCLASS_M_P1_P2_F2_FCLASS9, p1eq0_p2ne0, "fclass.nm", swap_p1p2}, + {EM_FCLASS_M_UNC_P1_P2_F2_FCLASS9, p1eq0_p2ne0, "fclass.nm.unc", + swap_p1p2}, + {EM_FCMP_EQ_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.s0", swap_p1p2}, + {EM_FCMP_EQ_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.s1", swap_p1p2}, + {EM_FCMP_EQ_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.s2", swap_p1p2}, + {EM_FCMP_EQ_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.s3", swap_p1p2}, + {EM_FCMP_LT_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.s0", swap_p1p2}, + {EM_FCMP_LT_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.s1", swap_p1p2}, + {EM_FCMP_LT_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.s2", swap_p1p2}, + {EM_FCMP_LT_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.s3", swap_p1p2}, + {EM_FCMP_LE_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.s0", swap_p1p2}, + {EM_FCMP_LE_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.s1", swap_p1p2}, + {EM_FCMP_LE_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.s2", swap_p1p2}, + {EM_FCMP_LE_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.s3", swap_p1p2}, + {EM_FCMP_UNORD_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.s0", swap_p1p2}, + {EM_FCMP_UNORD_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.s1", swap_p1p2}, + {EM_FCMP_UNORD_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.s2", swap_p1p2}, + {EM_FCMP_UNORD_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.s3", swap_p1p2}, + {EM_FCMP_EQ_UNC_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.unc.s0", + swap_p1p2}, + {EM_FCMP_EQ_UNC_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.unc.s1", + swap_p1p2}, + {EM_FCMP_EQ_UNC_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.unc.s2", + swap_p1p2}, + {EM_FCMP_EQ_UNC_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.neq.unc.s3", + swap_p1p2}, + {EM_FCMP_LT_UNC_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.unc.s0", + swap_p1p2}, + {EM_FCMP_LT_UNC_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.unc.s1", + swap_p1p2}, + {EM_FCMP_LT_UNC_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.unc.s2", + swap_p1p2}, + {EM_FCMP_LT_UNC_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nlt.unc.s3", + swap_p1p2}, + {EM_FCMP_LE_UNC_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.unc.s0", + swap_p1p2}, + {EM_FCMP_LE_UNC_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.unc.s1", + swap_p1p2}, + {EM_FCMP_LE_UNC_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.unc.s2", + swap_p1p2}, + {EM_FCMP_LE_UNC_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.nle.unc.s3", + swap_p1p2}, + {EM_FCMP_UNORD_UNC_S0_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.unc.s0", + swap_p1p2}, + {EM_FCMP_UNORD_UNC_S1_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.unc.s1", + swap_p1p2}, + {EM_FCMP_UNORD_UNC_S2_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.unc.s2", + swap_p1p2}, + {EM_FCMP_UNORD_UNC_S3_P1_P2_F2_F3, p1eq0_p2ne0, "fcmp.ord.unc.s3", + swap_p1p2}, + {EM_FMA_D_S0_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.d.s0", no_f4_f2_F1}, + {EM_FMA_D_S0_F1_F3_F4_F2, f2eq0_F1, "fmpy.d.s0", no_f2_F1}, + {EM_FMA_D_S0_F1_F3_F4_F2, f4eq1_F1, "fadd.d.s0", no_f4_F1}, + {EM_FMA_D_S1_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.d.s1", no_f4_f2_F1}, + {EM_FMA_D_S1_F1_F3_F4_F2, f2eq0_F1, "fmpy.d.s1", no_f2_F1}, + {EM_FMA_D_S1_F1_F3_F4_F2, f4eq1_F1, "fadd.d.s1", no_f4_F1}, + {EM_FMA_D_S2_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.d.s2", no_f4_f2_F1}, + {EM_FMA_D_S2_F1_F3_F4_F2, f2eq0_F1, "fmpy.d.s2", no_f2_F1}, + {EM_FMA_D_S2_F1_F3_F4_F2, f4eq1_F1, "fadd.d.s2", no_f4_F1}, + {EM_FMA_D_S3_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.d.s3", no_f4_f2_F1}, + {EM_FMA_D_S3_F1_F3_F4_F2, f2eq0_F1, "fmpy.d.s3", no_f2_F1}, + {EM_FMA_D_S3_F1_F3_F4_F2, f4eq1_F1, "fadd.d.s3", no_f4_F1}, + {EM_FMA_S0_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s0", no_f4_f2_F1}, + {EM_FMA_S0_F1_F3_F4_F2, f2eq0_F1, "fmpy.s0", no_f2_F1}, + {EM_FMA_S0_F1_F3_F4_F2, f4eq1_F1, "fadd.s0", no_f4_F1}, + {EM_FMA_S1_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s1", no_f4_f2_F1}, + {EM_FMA_S1_F1_F3_F4_F2, f2eq0_F1, "fmpy.s1", no_f2_F1}, + {EM_FMA_S1_F1_F3_F4_F2, f4eq1_F1, "fadd.s1", no_f4_F1}, + {EM_FMA_S2_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s2", no_f4_f2_F1}, + {EM_FMA_S2_F1_F3_F4_F2, f2eq0_F1, "fmpy.s2", no_f2_F1}, + {EM_FMA_S2_F1_F3_F4_F2, f4eq1_F1, "fadd.s2", no_f4_F1}, + {EM_FMA_S3_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s3", no_f4_f2_F1}, + {EM_FMA_S3_F1_F3_F4_F2, f2eq0_F1, "fmpy.s3", no_f2_F1}, + {EM_FMA_S3_F1_F3_F4_F2, f4eq1_F1, "fadd.s3", no_f4_F1}, + {EM_FMA_S_S0_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s.s0", no_f4_f2_F1}, + {EM_FMA_S_S0_F1_F3_F4_F2, f2eq0_F1, "fmpy.s.s0", no_f2_F1}, + {EM_FMA_S_S0_F1_F3_F4_F2, f4eq1_F1, "fadd.s.s0", no_f4_F1}, + {EM_FMA_S_S1_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s.s1", no_f4_f2_F1}, + {EM_FMA_S_S1_F1_F3_F4_F2, f2eq0_F1, "fmpy.s.s1", no_f2_F1}, + {EM_FMA_S_S1_F1_F3_F4_F2, f4eq1_F1, "fadd.s.s1", no_f4_F1}, + {EM_FMA_S_S2_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s.s2", no_f4_f2_F1}, + {EM_FMA_S_S2_F1_F3_F4_F2, f2eq0_F1, "fmpy.s.s2", no_f2_F1}, + {EM_FMA_S_S2_F1_F3_F4_F2, f4eq1_F1, "fadd.s.s2", no_f4_F1}, + {EM_FMA_S_S3_F1_F3_F4_F2, f4eq1_f2eq0_F1, "fnorm.s.s3", no_f4_f2_F1}, + {EM_FMA_S_S3_F1_F3_F4_F2, f2eq0_F1, "fmpy.s.s3", no_f2_F1}, + {EM_FMA_S_S3_F1_F3_F4_F2, f4eq1_F1, "fadd.s.s3", no_f4_F1}, + {EM_FMERGE_NS_F1_F2_F3, f2eqf3_F9, "fneg", no_f2_F9}, + {EM_FMERGE_NS_F1_F2_F3, f2eq0_F9, "fnegabs", no_f2_F9}, + {EM_FMERGE_S_F1_F2_F3, f2eqf3_F9, "mov", no_f2_F9}, + {EM_FMERGE_S_F1_F2_F3, f2eq0_F9, "fabs", no_f2_F9}, + {EM_FMS_D_S0_F1_F3_F4_F2, f4eq1_F1, "fsub.d.s0", no_f4_F1}, + {EM_FMS_D_S1_F1_F3_F4_F2, f4eq1_F1, "fsub.d.s1", no_f4_F1}, + {EM_FMS_D_S2_F1_F3_F4_F2, f4eq1_F1, "fsub.d.s2", no_f4_F1}, + {EM_FMS_D_S3_F1_F3_F4_F2, f4eq1_F1, "fsub.d.s3", no_f4_F1}, + {EM_FMS_S0_F1_F3_F4_F2, f4eq1_F1, "fsub.s0", no_f4_F1}, + {EM_FMS_S1_F1_F3_F4_F2, f4eq1_F1, "fsub.s1", no_f4_F1}, + {EM_FMS_S2_F1_F3_F4_F2, f4eq1_F1, "fsub.s2", no_f4_F1}, + {EM_FMS_S3_F1_F3_F4_F2, f4eq1_F1, "fsub.s3", no_f4_F1}, + {EM_FMS_S_S0_F1_F3_F4_F2, f4eq1_F1, "fsub.s.s0", no_f4_F1}, + {EM_FMS_S_S1_F1_F3_F4_F2, f4eq1_F1, "fsub.s.s1", no_f4_F1}, + {EM_FMS_S_S2_F1_F3_F4_F2, f4eq1_F1, "fsub.s.s2", no_f4_F1}, + {EM_FMS_S_S3_F1_F3_F4_F2, f4eq1_F1, "fsub.s.s3", no_f4_F1}, + {EM_FNMA_D_S0_F1_F3_F4_F2, f2eq0_F1, "fnmpy.d.s0", no_f2_F1}, + {EM_FNMA_D_S1_F1_F3_F4_F2, f2eq0_F1, "fnmpy.d.s1", no_f2_F1}, + {EM_FNMA_D_S2_F1_F3_F4_F2, f2eq0_F1, "fnmpy.d.s2", no_f2_F1}, + {EM_FNMA_D_S3_F1_F3_F4_F2, f2eq0_F1, "fnmpy.d.s3", no_f2_F1}, + {EM_FNMA_S0_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s0", no_f2_F1}, + {EM_FNMA_S1_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s1", no_f2_F1}, + {EM_FNMA_S2_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s2", no_f2_F1}, + {EM_FNMA_S3_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s3", no_f2_F1}, + {EM_FNMA_S_S0_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s.s0", no_f2_F1}, + {EM_FNMA_S_S1_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s.s1", no_f2_F1}, + {EM_FNMA_S_S2_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s.s2", no_f2_F1}, + {EM_FNMA_S_S3_F1_F3_F4_F2, f2eq0_F1, "fnmpy.s.s3", no_f2_F1}, + {EM_FPMA_S0_F1_F3_F4_F2, f2eq0_F1, "fpmpy.s0", no_f2_F1}, + {EM_FPMA_S1_F1_F3_F4_F2, f2eq0_F1, "fpmpy.s1", no_f2_F1}, + {EM_FPMA_S2_F1_F3_F4_F2, f2eq0_F1, "fpmpy.s2", no_f2_F1}, + {EM_FPMA_S3_F1_F3_F4_F2, f2eq0_F1, "fpmpy.s3", no_f2_F1}, + {EM_FPMERGE_NS_F1_F2_F3, f2eqf3_F9, "fpneg", no_f2_F9}, + {EM_FPMERGE_NS_F1_F2_F3, f2eq0_F9, "fpnegabs", no_f2_F9}, + {EM_FPMERGE_S_F1_F2_F3, f2eq0_F9, "fpabs", no_f2_F9}, + {EM_FPNMA_S0_F1_F3_F4_F2, f2eq0_F1, "fpnmpy.s0", no_f2_F1}, + {EM_FPNMA_S1_F1_F3_F4_F2, f2eq0_F1, "fpnmpy.s1", no_f2_F1}, + {EM_FPNMA_S2_F1_F3_F4_F2, f2eq0_F1, "fpnmpy.s2", no_f2_F1}, + {EM_FPNMA_S3_F1_F3_F4_F2, f2eq0_F1, "fpnmpy.s3", no_f2_F1}, + {EM_FSETC_S0_AMASK7_OMASK7, 0, 0, hex_imm}, + {EM_FSETC_S1_AMASK7_OMASK7, 0, 0, hex_imm}, + {EM_FSETC_S2_AMASK7_OMASK7, 0, 0, hex_imm}, + {EM_FSETC_S3_AMASK7_OMASK7, 0, 0, hex_imm}, + {EM_HINT_B_IMM21, 0, 0, hint_imm}, + {EM_HINT_F_IMM21, 0, 0, hint_imm}, + {EM_HINT_I_IMM21, 0, 0, hint_imm}, + {EM_HINT_M_IMM21, 0, 0, hint_imm}, + {EM_HINT_X_IMM62, 0, 0, hint_imm}, + {EM_MOVL_R1_IMM64, 0, 0, imm64_X2}, + {EM_MOV_B1_R2_TAG13, tag13eq0_I21, "mov", no_tag_I21}, + {EM_MOV_PR_R2_MASK17, mask17_all, 0, no_mask17}, + {EM_MUX2_R1_R2_MHTYPE8, 0, 0, hex_imm}, + {EM_NOP_B_IMM21, 0, 0, hex_imm}, + {EM_NOP_F_IMM21, 0, 0, hex_imm}, + {EM_NOP_I_IMM21, 0, 0, hex_imm}, + {EM_NOP_M_IMM21, 0, 0, hex_imm}, + {EM_NOP_X_IMM62, 0, 0, hex_imm}, + {EM_OR_R1_IMM8_R3, 0, 0, hex_imm}, + {EM_TBIT_Z_P1_P2_R3_POS6, p1eq0_p2ne0, "tbit.nz", swap_p1p2}, + {EM_TBIT_Z_UNC_P1_P2_R3_POS6, p1eq0_p2ne0, "tbit.nz.unc",swap_p1p2}, + {EM_TBIT_Z_AND_P1_P2_R3_POS6, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TBIT_NZ_AND_P1_P2_R3_POS6,p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TBIT_Z_OR_P1_P2_R3_POS6, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TBIT_NZ_OR_P1_P2_R3_POS6, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TBIT_Z_OR_ANDCM_P1_P2_R3_POS6, p1eq0_p2ne0, "tbit.nz.and.orcm", + swap_p1p2}, + {EM_TBIT_NZ_OR_ANDCM_P1_P2_R3_POS6, p1eq0_p2ne0, "tbit.z.and.orcm", + swap_p1p2}, + {EM_TNAT_Z_P1_P2_R3, p1eq0_p2ne0, "tnat.nz", swap_p1p2}, + {EM_TNAT_Z_UNC_P1_P2_R3, p1eq0_p2ne0, "tnat.nz.unc",swap_p1p2}, + {EM_TNAT_Z_AND_P1_P2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TNAT_NZ_AND_P1_P2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TNAT_Z_OR_P1_P2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TNAT_NZ_OR_P1_P2_R3, p1eq0_p2ne0, 0, swap_p1p2}, + {EM_TNAT_Z_OR_ANDCM_P1_P2_R3, p1eq0_p2ne0, "tnat.nz.and.orcm", + swap_p1p2}, + {EM_TNAT_NZ_OR_ANDCM_P1_P2_R3, p1eq0_p2ne0, "tnat.z.and.orcm", + swap_p1p2}, + {EM_XMA_HU_F1_F3_F4_F2, f2eq0_F2, "xmpy.hu", no_f2_F2}, + {EM_XMA_H_F1_F3_F4_F2, f2eq0_F2, "xmpy.h", no_f2_F2}, + {EM_XMA_L_F1_F3_F4_F2, f2eq0_F2, "xmpy.l", no_f2_F2}, + {EM_XOR_R1_IMM8_R3, 0, 0, hex_imm}, + {EM_INST_NONE, 0, 0, 0}, + }; + + if (dasOpts & DasNoMnemonicPad) { + p = buf; + if (opnds->qp != 0) + p += sprint_u(p, "(p", opnds->qp, ") "); + } else { + if (opnds->qp == 0) + (void)strcpy(buf, " "); + else if (opnds->qp < 10) /* one digit */ + (void)sprint_u(buf, "(p", opnds->qp, ") "); + else /* two digits */ + (void)sprint_u(buf, "(p", opnds->qp, ") "); + p = &buf[6]; + } + mnem = dasInstrs[instID].mnem; + + /* check for pseudo-ops, if enabled */ + if ((dasOpts & DasPseudoOps) && (i = dasInstrs[instID].pseudo)) + while (instID == pseudo[i].instID) { + if (!pseudo[i].chkFn || pseudo[i].chkFn(opnds)) { + if (pseudo[i].mnem) + mnem = pseudo[i].mnem; + if (pseudo[i].adjFn) + pseudo[i].adjFn(opnds); + break; + } + i++; + } + + if (opnds->u.op[0].type) { /* one or more operands */ + if (dasOpts & DasNoMnemonicPad) + p += sprint_s(p, mnem, " ", 0); + else + p += sprint_mnem(p, mnem); + + for (o = 0; (o < MAX_OPERANDS && opnds->u.op[o].type); o++) { + if (o > 0) { + /* skip second pred if 0 */ + if ((dasOpts & DasPseudoOps) && + opnds->u.op[o - 1].type == EM_OPTYPE_PREG && + opnds->u.op[o].type == EM_OPTYPE_PREG && + opnds->u.op[o].bits == 0) + o++; + if (opnds->u.op[o - 1].role != opnds->u.op[o].role) + sep = dasEqualSep; + else + sep = dasSep; + p += sprint_s(p, sep, 0, 0); + } + bits = opnds->u.op[o].bits; + switch (opnds->u.op[o].type) { + case EM_OPTYPE_IREG: /* integer register */ + case EM_OPTYPE_IREG_R0_3: /* r0-r3 */ + case EM_OPTYPE_IREG_R0: /* r0 */ + case EM_OPTYPE_IREG_NUM: /* ireg number - for chk.a/invala */ + case EM_OPTYPE_IREG_R1_127: /* r1-r127 */ + p += sprint_s(p, grName(regStr, (unsigned)bits), 0, 0); + break; + case EM_OPTYPE_FREG: /* FP register */ + case EM_OPTYPE_FREG_F2_127: /* f2-f127 */ + case EM_OPTYPE_FREG_NUM: /* freg number - for chk.a/invala */ + reg = (unsigned)bits; + if ((dasOpts & DasRegNames) && (reg >= 8 && reg <= 15)) + p += sprint_u(p, "farg", reg - 8, 0); + else + p += sprint_u(p, "f", reg, 0); + break; + case EM_OPTYPE_BR: /* branch register */ + reg = (unsigned)bits; + if ((dasOpts & DasRegNames) && (reg == 0)) + p += sprint_s(p, "rp", 0, 0); + else + p += sprint_u(p, "b", reg, 0); + break; + case EM_OPTYPE_IP: /* instruction pointer */ + p += sprint_s(p, "ip", 0, 0); + break; + case EM_OPTYPE_PREGS_ALL: /* predicate register file */ + p += sprint_s(p, "pr", 0, 0); + break; + case EM_OPTYPE_PREGS_ROT: /* rotating predicates */ + p += sprint_s(p, "pr.rot", 0, 0); + break; + case EM_OPTYPE_PREG: /* predicate register */ + p += sprint_u(p, "p", (unsigned)bits, 0); + break; + case EM_OPTYPE_APP_REG: /* Application register */ + case EM_OPTYPE_APP_REG_GRP_LOW: /* ARs 0-63 */ + case EM_OPTYPE_APP_REG_GRP_HIGH: /* ARs 64-127 */ + case EM_OPTYPE_APP_CCV: /* ar.ccv */ + case EM_OPTYPE_APP_PFS: /* ar.pfs */ + case EM_OPTYPE_APP_CSD: /* ar.csd */ + if (dasOpts & DasRegNames) + p += sprint_s(p, "ar", arStr[(unsigned)bits], 0); + else + p += sprint_u(p, "ar", (unsigned)bits, 0); + break; + case EM_OPTYPE_PSR: /* psr */ + p += sprint_s(p, "psr", 0, 0); + break; + case EM_OPTYPE_PSR_L: /* psr.l */ + p += sprint_s(p, "psr.l", 0, 0); + break; + case EM_OPTYPE_PSR_UM: /* psr.um */ + p += sprint_s(p, "psr.um", 0, 0); + break; + case EM_OPTYPE_CR: /* control register */ + if (dasOpts & DasRegNames) + p += sprint_s(p, "cr", crStr[(unsigned)bits], 0); + else + p += sprint_u(p, "cr", (unsigned)bits, 0); + break; + case EM_OPTYPE_PMC: /* indirect register files */ + p += sprint_s(p, "pmc[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_PMD: + p += sprint_s(p, "pmd[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_PKR: + p += sprint_s(p, "pkr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_RR: + p += sprint_s(p, "rr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_IBR: + p += sprint_s(p, "ibr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_DBR: + p += sprint_s(p, "dbr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_ITR: + p += sprint_s(p, "itr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_DTR: + p += sprint_s(p, "dtr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_MSR: + p += sprint_s(p, "msr[", grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_CPUID: + p += sprint_s(p, "cpuid[", + grName(regStr, (unsigned)bits), "]"); + break; + case EM_OPTYPE_SIMM: /* signed immediate */ + case EM_OPTYPE_SEMAPHORE_INC: /* immediate which encodes the + values -16, -8, -4, -1, 1, 4, + 8, or 16 only - for fetchadd */ + symLen = dasWidth - trailLen - (p - buf) - (stop ? 2 : 0); + if (dasRelocation(dasAddress() | slot, &reloc)) + p += sprint_s(p, relocStr(targetStr, &reloc), 0, 0); + else if ((sbits = (long long)bits) >= MIN_DAS_DECIMAL && + sbits <= MAX_DAS_DECIMAL) + p += sprintf(p, "%lld", sbits); + else + p += sprintf(p, "0x%llx", bits); + break; + case EM_OPTYPE_SSHIFT_REL: /* IP relative signed immediate */ + addr = dasAddress(); + symLen = dasWidth - trailLen - (p - buf) - (stop ? 2 : 0); + if (first && opnds->u.op[o+1].type == EM_OPTYPE_SSHIFT_REL) + symLen = (symLen + 1 - strlen(dasSep)) / 2; + /* check for relocation except for brp "tag" operand */ + if (first && dasRelocation(addr | slot, &reloc)) + p += sprint_s(p, relocStr(targetStr, &reloc), 0, 0); + else +#if 1 + p += sprint_s(p, ipRelStr(targetStr, addr, bits), 0, 0); +#else + p += sprint_s(p, ipRelStr(targetStr, addr|slot, bits), 0, 0); +#endif + first = NO; + break; + case EM_OPTYPE_UIMM: /* unsigned immediate */ + case EM_OPTYPE_UDEC: /* unsigned immediate which was + incremented by 1 */ + case EM_OPTYPE_CCOUNT: /* (31 - count) - for pshl */ + case EM_OPTYPE_CPOS: /* (63 - pos) - for dep */ + case EM_OPTYPE_ONE: /* the number 1 - not encoded */ + case EM_OPTYPE_EIGHT: /* the number 8 - not encoded */ + case EM_OPTYPE_SIXTEEN: /* the number 16 - not encoded */ + case EM_OPTYPE_CMP_UIMM: /* unsigned immediate of cmp ltu */ + case EM_OPTYPE_CMP4_UIMM: /* unsigned immediate of cmp4 ltu */ + case EM_OPTYPE_ALLOC_IOL: /* ins, locals, and outs: can be 0-96 - + for alloc */ + case EM_OPTYPE_ALLOC_ROT: /* rotating: can be 0-96, must + be left-shifted by 3 - for alloc */ + case EM_OPTYPE_COUNT_123: /* immediate which can have the values + 1, 2, or 3 only */ + case EM_OPTYPE_COUNT_PACK: /* immediate which has the values 0, + 7, 15, or 16 only - for pmpyshr */ + if (bits <= MAX_DAS_DECIMAL) + p += sprint_u(p, 0, (unsigned)bits, 0); + else + p += sprintf(p, "0x%llx", bits); + break; + case EM_OPTYPE_MUX1: /* immediate which can have the values + 0, 8, 9, 0xa, or 0xb - for mux1 */ + p += sprint_s(p, mbtype4Str[(unsigned)bits], 0, 0); + break; + case EM_OPTYPE_FCLASS: /* fclass immediate */ + /* XXX - need to handle cases where "@" notation will be + misinterpreted by the assembler so we need to print the + class in hex instead */ + if (bits & 0x100ULL) { + p += sprint_s(p, "@nat", 0, 0); + first = NO; + } + if (bits & 0x080ULL) + p += sprint_s(p, first ? first = NO, "" : "|", "@qnan", 0); + if (bits & 0x040ULL) + p += sprint_s(p, first ? first = NO, "" : "|", "@snan", 0); + if (!((dasOpts & DasPseudoOps) && + ((bits & 0x003ULL) == 0x003ULL) && (bits & 0x03cULL))) { + if (bits & 0x001ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@pos", 0); + if (bits & 0x002ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@neg", 0); + } + if (!((dasOpts & DasPseudoOps) && (bits & 0x003ULL) && + ((bits & 0x03cULL) == 0x03cULL))) { + if (bits & 0x004ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@zero", 0); + if (bits & 0x008ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@unorm", 0); + if (bits & 0x010ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@norm", 0); + if (bits & 0x020ULL) + p += sprint_s(p, first ? first = NO, "" : "|", + "@inf", 0); + } + break; + case EM_OPTYPE_IMM64: /* movl immediate */ + if (dasOpts & DasNoSymMovlImm) + p += sprintf(p, "0x%llx", bits); + else if (dasRelocation(dasAddress() | slot, &reloc)) + p += sprint_s(p, relocStr(targetStr, &reloc), 0, 0); + else { + symLen = dasWidth - trailLen - (p - buf) - + (stop ? 2 : 0); + symAddrtoName(bits, targetStr, 0, YES, -symLen); + p += sprint_s(p, targetStr, 0, 0); + } + break; + case EM_OPTYPE_HINT_IMM: /* hint immediate */ + if (bits == 0) { + p += sprint_s(p, "@pause", 0, 0); + break; + } + /* no break */ + case EM_OPTYPE_SSHIFT_1: /* signed immediate - for mov pr */ + case EM_OPTYPE_SSHIFT_16: /* signed immediate - for mov pr.rot */ + case EM_OPTYPE_HIMM: /* hex immediate */ + p += sprintf(p, "0x%llx", bits); + break; + case EM_OPTYPE_MEM: /* memory address */ + p += sprint_s(p, "[", grName(regStr, (unsigned)bits), "]"); + break; + default: /* unknown optype */ + p += sprint_u(p, "?", opnds->u.op[o].type, "?"); + } + } + } else /* no operands */ + p += sprint_s(p, mnem, 0, 0); + if (stop) + (void)strcpy(p, ";;"); +} + +static char unitName(const Unit unit, DasOptions opts) +{ + char ret; + + switch(unit) { + case I_Unit: + ret = 'I'; + break; + case M_Unit: + ret = 'M'; + break; + case F_Unit: + ret = 'F'; + break; + case B_Unit: + ret = 'B'; + break; + case L_Unit: + ret = 'L'; + break; + case X_Unit: + ret = 'X'; + break; + default: + ret = '?'; + break; + } + + return (opts & DasTemplateLC) ? tolower(ret) : ret; +} + +size_t templName(const TemplateInfoPtr t, DasOptions opts, char name[]) +{ + size_t i = 1; + + name[0] = unitName(t->slot[0].unit, opts); + if ((opts & DasTemplateCommas) && t->slot[0].stop) + name[i++] = ','; + name[i++] = unitName(t->slot[1].unit, opts); + if ((opts & DasTemplateCommas) && t->slot[1].stop) + name[i++] = ','; + name[i++] = unitName(t->slot[2].unit, opts); + if ((opts & DasTemplateCommas) && t->slot[2].stop) + name[i++] = ','; + name[i] = '\0'; + return i; +} + +void hexAddr(ADDR addr, char *str) +{ + sprintf(str, "%08x", (unsigned int)(addr >> 32)); + str[8] = '.'; + sprintf(str+9, "%08x", (unsigned int)(addr & 0xffffffff)); +} + +void dasBundleSBT(Bundle *bndl, char *i0Str, char *i1Str, char *i2Str, + SB sb[SLOTS_PER_BUNDLE], char *tStr) +{ + TemplateInfoPtr t; + DecodedInstr instr[SLOTS_PER_BUNDLE]; + char *formatName, tName[7]; + SB semi = (dasOpts & DasSepStopLines) ? SB_Cont : SB_Stop; + ADDR addr; + size_t iLen, tLen; + t = bundle_decode(bndl, instr, 1); + if (addrLen) { + addr = dasAddress(); + hexAddr(addr, i0Str); + i0Str[17] = ' '; + } + iDasm(0, instr[0].instID, &instr[0].opnds, i0Str+addrLen, + semi & t->slot[0].stop); + if (templLen || formatLen) { + iLen = strlen(i0Str); + (void)memset(i0Str+iLen, (int)' ', dasWidth-iLen); + } + if (commentLen) /* add comment chars to i0Str */ + (void)memset(i0Str+dasWidth-templLen-sepLen-formatLen-commentLen, + '/', 2); + if (templLen) { /* add template info to i0Str */ + tLen = templName(t, dasOpts, tName); + (void)memcpy(i0Str+dasWidth-templLen-sepLen-formatLen, tName, tLen); + } + if (formatLen) { /* add format number to i0Str */ + formatName = instFormatName(instr[0].instID); + (void)strcpy(i0Str+dasWidth-formatLen, formatName); + } else /* terminate i0Str */ + *(i0Str+dasWidth) = '\0'; + if (t->slot[1].unit == L_Unit && (instr[2].opnds.flags & EM_FLAG_TWO_SLOT)) + i1Str[0] = '\0'; + else { + if (addrLen) + (void)memset(i1Str, (int)' ', addrLen); + iDasm(1, instr[1].instID, &instr[1].opnds, i1Str+addrLen, + semi & t->slot[1].stop); + if (formatLen) { /* add format number to i1Str */ + iLen = strlen(i1Str); + formatName = instFormatName(instr[1].instID); + (void)memset(i1Str+iLen, (int)' ', dasWidth-formatLen-iLen); + if (commentLen) + (void)memset(i1Str+dasWidth-templLen-sepLen-formatLen-commentLen, + (int)'/', 2); + (void)strcpy(i1Str+dasWidth-formatLen, formatName); + } + } + if (addrLen) + (void)memset(i2Str, (int)' ', addrLen); + iDasm(2, instr[2].instID, &instr[2].opnds, i2Str+addrLen, + semi & t->slot[2].stop); + if (formatLen) { /* add format number to i2Str */ + iLen = strlen(i2Str); + formatName = instFormatName(instr[2].instID); + (void)memset(i2Str+iLen, (int)' ', dasWidth-formatLen-iLen); + if (commentLen) + (void)memset(i2Str+dasWidth-templLen-sepLen-formatLen-commentLen, + '/', 2); + (void)strcpy(i2Str+dasWidth-formatLen, formatName); + } + if (sb) { + sb[0] = t->slot[0].stop; + sb[1] = t->slot[1].stop; + sb[2] = t->slot[2].stop; + } + if (tStr) + templName(t, DasTemplateLC, tStr); +} + +char *hexBundle(Bundle *bndl, char *str) +{ + BundleParts parts; + + parts = bundle_parts(bndl); + (void)sprintf(str, "%x %d %011llx %011llx %011llx", + parts.templSB >> 1, parts.templSB & 1, + parts.slot[0], parts.slot[1], parts.slot[2]); + return str; +} + +void dasInit(DasOptions opts, int width) +{ + dasOpts = opts; + dasWidth = width; + if (opts & DasSpaceOperands) { + dasSep = ", "; + dasEqualSep = " = "; + } else { + dasSep = ","; + dasEqualSep = "="; + } + addrLen = (dasOpts & DasHexAddresses) ? 18 : 0; + commentLen = ((dasOpts & DasTemplateComment) == DasTemplateComment || + (dasOpts & DasFormatComment) == DasFormatComment) ? 3 : 0; + templLen = (dasOpts & DasTemplate) ? + ((dasOpts & DasTemplateCommas) ? 5 : 3) : 0; + formatLen = (dasOpts & DasFormatNumbers) ? 5 : 0; + sepLen = (formatLen && templLen) ? 1 : 0; + trailLen = commentLen + templLen + sepLen + formatLen; +} + +char *dasInst(Unit unit, const unsigned long long instBits, + const unsigned long long extraInstBits, char *iStr) +{ + InstID instID; + Operands opnds; + + if (unit == L_Unit || unit == X_Unit) { + instID = instr_decode(L_Unit, extraInstBits, &opnds); + instID = instr_decode(X_Unit, instBits, &opnds); + } else { + if (unit == A_Unit) /* real unit is M or I - arbitrarily pick I */ + unit = I_Unit; + instID = instr_decode(unit, instBits, &opnds); + if (opnds.flags & EM_FLAG_TWO_SLOT) + instID = EM_ILLEGALOP; + } + + /* XXX - what slot should be passed here? */ + iDasm(0, instID, &opnds, iStr, SB_Cont); + return iStr; +} + +char *dasEncodedInst(EncodedInstPtr inst, char *iStr) +{ + InstID instID; + Operands opnds; + Unit unit = inst->unit; + + if (unit == L_Unit || unit == X_Unit) { + instID = instr_decode(L_Unit, inst->extra_bits, &opnds); + instID = instr_decode(X_Unit, inst->bits, &opnds); + } else { + if (unit == A_Unit) /* real unit is M or I - arbitrarily pick I */ + unit = I_Unit; + instID = instr_decode(unit, inst->bits, &opnds); + if (opnds.flags & EM_FLAG_TWO_SLOT) + instID = EM_ILLEGALOP; + } + + iDasm(inst->slot, instID, &opnds, iStr, inst->stop); + return iStr; +} + +unsigned int bundleTargets(Bundle *bndl, unsigned long long tgtAdr[]) +{ + unsigned int s, num = 0; + unsigned long long addr; + short tgtOp, tagOp; + TemplateInfoPtr t; + DecodedInstr instr[SLOTS_PER_BUNDLE]; + DasRelocation reloc; + + t = bundle_decode(bndl, instr, 0); + for (s = 0; s < SLOTS_PER_BUNDLE; s++) { + tgtOp = dasInstrs[instr[s].instID].tgtOp; + tagOp = dasInstrs[instr[s].instID].tagOp; + if (tgtOp != OPINDEX_NONE || tagOp != OPINDEX_NONE) { + /* XXX - should there be an operand_decode() to avoid re-decoding + the instruction? */ + (void)instr_decode(t->slot[s].unit, instr[s].instrBits, + &instr[s].opnds); + addr = dasAddress(); + if (tgtOp != OPINDEX_NONE && !dasRelocation(addr | s, &reloc)) + tgtAdr[num++] = addr + instr[s].opnds.u.op[tgtOp].bits; + if (tagOp != OPINDEX_NONE && + !(instr[s].instID == EM_MOV_B1_R2_TAG13 && + instr[s].opnds.u.op[tagOp].bits == 0)) + tgtAdr[num++] = addr + instr[s].opnds.u.op[tagOp].bits; + } + } + return num; +} diff --git a/src/libdas.h b/src/libdas.h new file mode 100644 index 0000000..3d87dd7 --- /dev/null +++ b/src/libdas.h @@ -0,0 +1,120 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Disassembly Library Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBDAS_H +#define _SKI_LIBDAS_H + +/* + * The user of this library must provide three functions: + * dasAddress + * symAddrtoName + * dasRelocation + * + * The prototype for dasAddress is: + * unsigned long long dasAddress(void) + * + * Its purpose is to return the current disassembly address for use by + * instructions which have an ip-relative source (target25 or tag13) + * + * The prototype for symAddrtoName is: + * void symAddrtoName(unsigned long long adr, char sname[], + * int rmdr, int add0x, int width) + * + * Its purpose is to fill in sname with a string of the form "sym+hexoffset" + * where the value of the symbol "sym" plus the "hexoffset" is equal to the + * passed address. The rmdr argument specifies how "far" the address can be + * from the closest symbol and must be >= 0, the add0x argument specifies + * whether to add a leading 0x to the hexoffset, and the width argument + * specifies the desired width of the generated string (a negative value + * means that the result should not be padded but should be truncated to + * -width characters). The symbol chosen should be the symbol whose value + * is the greatest value less than or equal to adr that satisfies: + * symbol <= adr < symbol + (1 << rmdr*4) + * (so rmdr represents the number of hex digits used in "sym+0x0010"). + * + * It is called for instructions which have an ip-relative source as + * symAddrtoName(adr, name, 4, 1, -40) + * + * and by the movl instruction as + * symAddrtoName(adr, name, 0, 1, -40) + * which says to use only an exact match for the 64-bit immediate. + * + * The prototype for dasRelocation is: + * unsigned int dasRelocation(unsigned long long addr, + * DasRelocationPtr reloc) + * + * Its purpose is to fill in the name, type, and addend fields in the + * DasRelocation structure pointed to by reloc for any relocation + * corresponding to the instruction at addr (with the instruction's slot + * number in the two low-order bits of addr). A non-zero return value + * indicates that there is such a relocation and that the fields in reloc + * are valid. + */ + +#ifndef _SKI_DECODER_H +typedef struct bundle { + unsigned long long left, right; +} Bundle; +#endif +#define MAX_DAS_LEN 512 + +typedef enum { + DasNoOpts, /* no options */ + DasTemplate = 0x1, /* include template type in i0Str */ + DasTemplateComment = 0x3, /* include template type as comment */ + DasSepStopLines = 0x4, /* put ";;" (stops) on separate lines */ + DasPseudoOps = 0x8, /* check for pseudo-ops */ + DasSpaceOperands = 0x10, /* space-separate operands */ + DasRegNames = 0x20, /* use register names (gp, sp, rp, ar., etc) */ + DasFormatNumbers = 0x40, /* include format numbers */ + DasFormatComment = 0xC0, /* include format number as comment */ + DasTemplateCommas = 0x100, /* include commas in template types */ + DasHexAddresses = 0x200, /* include hex addresses */ + DasStackedRegNames = 0x420, /* use register names (in, loc, out, rot) */ + DasTemplateLC = 0x800, /* lower case template type */ + DasNoSymMovlImm = 0x1000, /* movl immediates not symbolic */ + DasNoMnemonicPad = 0x2000 /* mnemonic not padded to 16 spaces */ +} DasOptions; + +typedef struct { + char *name; + unsigned int type; + long long addend; +} DasRelocation, *DasRelocationPtr; + +#define dasBundle(bndl, i0Str, i1Str, i2Str) \ + dasBundleSBT(bndl, i0Str, i1Str, i2Str, 0, 0) +#define dasBundleSB(bndl, i0Str, i1Str, i2Str, sb) \ + dasBundleSBT(bndl, i0Str, i1Str, i2Str, sb, 0) + +void dasInit(DasOptions opts, int width); +void dasBundleSBT(Bundle *bndl, char *i0Str, char *i1Str, char *i2Str, + SB sb[SLOTS_PER_BUNDLE], char *tStr); +char *hexBundle(Bundle *bndl, char *str); +char *dasInst(Unit unit, unsigned long long instBits, + unsigned long long extraInstBits, char *iStr); +char *dasEncodedInst(struct encoded_inst *inst, char *iStr); +unsigned int bundleTargets(Bundle *bndl, unsigned long long tgtAdr[]); +unsigned int dasRelocation(unsigned long long addr, DasRelocationPtr reloc); +void dasSetFrameSize(unsigned int ins, unsigned int locs, unsigned int outs, + unsigned int rots); + +#endif /* _SKI_LIBDAS_H */ diff --git a/src/libsrs.c b/src/libsrs.c new file mode 100644 index 0000000..21844b7 --- /dev/null +++ b/src/libsrs.c @@ -0,0 +1,1115 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Save/Restore Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#include "std.h" +#include "types.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "libsrs.h" +#include "libcore.h" +#include "libui.h" + +#if 0 +#include "libsym.h" +#endif + +#define MAJVER 1 +#define MINVER 1 +#define NDWPERLN 4 + +#define MAXPROCS 1 + +typedef BOOL (*PPSF)(FILE *f, int procno); +typedef RstStat (*PPRF)(FILE *f, int procno); + +typedef struct { + const char *varnam; + PPSF psvefn; + PPRF prstfn; +} PSveRstRec; + +/*##################### Globals - Exports ##################################*/ + + +/*##################### Globals - Imports ##################################*/ + +void symGetInit(void); /* point to the top of symbol table */ +BOOL symGet(char **symnam, ADDR *adr); +void symSet(char *symnam, ADDR adr); + +/*##################### Local Variables ##################################*/ + +static void saveHdrInfo(FILE *f); +static BOOL saveProcState(FILE *f); +static BOOL saveSysState(FILE *f); +static BOOL saveSymbols(FILE *f); + +static BOOL ipSave(FILE *f, int procno); +static BOOL psrSave(FILE *f, int procno); +static BOOL grSave(FILE *f, int procno); +static BOOL grnatSave(FILE *f, int procno); +static BOOL frSave(FILE *f, int procno); +static BOOL prSave(FILE *f, int procno); +static BOOL brSave(FILE *f, int procno); +static BOOL arSave(FILE *f, int procno); +static BOOL cfmSave(FILE *f, int procno); +static BOOL bolSave(FILE *f, int procno); +static BOOL rseSave(FILE *f, int procno); +static BOOL crSave(FILE *f, int procno); +static BOOL bkrSave(FILE *f, int procno); +static BOOL bkrnatSave(FILE *f, int procno); +static BOOL rrSave(FILE *f, int procno); +static BOOL pkrSave(FILE *f, int procno); +static BOOL dbrSave(FILE *f, int procno); +static BOOL ibrSave(FILE *f, int procno); +static BOOL pmcSave(FILE *f, int procno); +static BOOL pmdSave(FILE *f, int procno); +static BOOL dtrSave(FILE *f, int procno); +static BOOL itrSave(FILE *f, int procno); + +static BOOL memSave(FILE *f); + +static BOOL restoreHdrInfo(FILE *f); +static RstStat restoreProcState(FILE *f); +static RstStat restoreSysState(FILE *f); +static RstStat restoreSymbols(FILE *f); +static RstStat otherSimState(FILE *f); + +static RstStat ipRestore(FILE *f, int procno); +static RstStat psrRestore(FILE *f, int procno); +static RstStat grRestore(FILE *f, int procno); +static RstStat grnatRestore(FILE *f, int procno); +static RstStat frRestore(FILE *f, int procno); +static RstStat prRestore(FILE *f, int procno); +static RstStat brRestore(FILE *f, int procno); +static RstStat arRestore(FILE *f, int procno); +static RstStat cfmRestore(FILE *f, int procno); +static RstStat bolRestore(FILE *f, int procno); +static RstStat rseRestore(FILE *f, int procno); +static RstStat crRestore(FILE *f, int procno); +static RstStat bkrRestore(FILE *f, int procno); +static RstStat bkrnatRestore(FILE *f, int procno); +static RstStat rrRestore(FILE *f, int procno); +static RstStat pkrRestore(FILE *f, int procno); +static RstStat dbrRestore(FILE *f, int procno); +static RstStat ibrRestore(FILE *f, int procno); +static RstStat pmcRestore(FILE *f, int procno); +static RstStat pmdRestore(FILE *f, int procno); +static RstStat dtrRestore(FILE *f, int procno); +static RstStat itrRestore(FILE *f, int procno); + +static RstStat memRestore(FILE *f); + +static PSveRstRec psversttbl[] = { + { "ip", ipSave, ipRestore }, + { "psr", psrSave, psrRestore }, + { "gr", grSave, grRestore }, + { "grnat", grnatSave, grnatRestore }, + { "fr", frSave, frRestore }, + { "pr", prSave, prRestore }, + { "br", brSave, brRestore }, + { "ar", arSave, arRestore }, + { "cfm", cfmSave, cfmRestore }, + { "bol", bolSave, bolRestore }, + { "rse", rseSave, rseRestore }, + { "cr", crSave, crRestore }, + { "bkr", bkrSave, bkrRestore }, + { "bkrnat", bkrnatSave, bkrnatRestore }, + { "rr", rrSave, rrRestore }, + { "pkr", pkrSave, pkrRestore }, + { "dbr", dbrSave, dbrRestore }, + { "ibr", ibrSave, ibrRestore }, + { "pmc", pmcSave, pmcRestore }, + { "pmd", pmdSave, pmdRestore }, + { "dtr", dtrSave, dtrRestore }, + { "itr", itrSave, itrRestore }, + { NULL, NULL, NULL } +}; + +static const char *simprefix[] = { + "ski_", "snow_", NULL +}; + +static char errmsg[BUFSIZ] = ""; + +static unsigned lineno; +static REG dwval; +static WORD wval; +static char strval[80], token[80]; + +static void freeMemlist(Meminfo_p list); +static int nextToken(FILE *f, char *token); + +/*##################### Functions and Subroutines ##########################*/ + +/* + * Save Routines + */ + +BOOL srs_saveState(char *fname) +{ + FILE *f; + BOOL status; + + if (!(f = fopen(fname, "w"))) { + sprintf(errmsg, "Could not open save file '%s'", fname); + return NO; + } + saveHdrInfo(f); + + status = saveProcState(f) && saveSysState(f) && saveSymbols(f) + && saveSimState(f); + + (void)fclose(f); + return status; +} + +static void saveHdrInfo(FILE *f) +{ + time_t tinsec = time(0); + + (void)fprintf(f, "# Simulator state saved by %s\n", getSimID()); + (void)fprintf(f, "# on %s\n", ctime(&tinsec)); + (void)fprintf(f, "file_ver %d.%d\n", MAJVER, MINVER); +} + +static BOOL saveProcState(FILE *f) +{ + int procno; + BOOL status = YES; + PSveRstRec *p; + + fprintf(f, "nprocs %d\n", MAXPROCS); + for (procno = 0; procno < MAXPROCS; procno++) { + fprintf(f, "proc %d\n", procno); + for (p = psversttbl; p->psvefn; p++) + if (!p->psvefn(f, procno)) { + status = NO; + break; + } + if (status) + if (!saveProcImpl(f, procno)) { + status = NO; + break; + } + } + return status; +} + +static BOOL saveSysState(FILE *f) +{ + BOOL status = YES; + + if (!memSave(f)) status = NO; + else if (!saveSysImpl(f)) status = NO; + + return status; +} + +static BOOL saveSymbols(FILE *f) +{ + char *sym; + ADDR adr; + + symGetInit(); + while (symGet(&sym, &adr)) + fprintf(f, "sym %llx %s\n", adr, sym); + return YES; +} + +static BOOL ipSave(FILE *f, int proc) +{ + fprintf(f, "ip %llx\n", ipGet(proc)); + return YES; +} + +static BOOL psrSave(FILE *f, int proc) +{ + fprintf(f, "psr %llx\n", psrGet(proc)); + return YES; +} + +static BOOL grSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "gr"); + for (i = 0; i < NGRS; i++) { + fprintf(f, " %llx", phyGrGet(proc, i)); + if (i % 8 == 7 || i == (NGRS - 1)) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL grnatSave(FILE *f, int proc) +{ + REG nats = 0ULL; + int i, regs = 0; + + fprintf(f, "grnat"); + for (i = 0; i < NGRS; i++) { + nats = nats << 1 | phyGrNatGet(proc, i); + if ((i % 64) == 63 || i == (NGRS - 1)) { + fprintf(f, " %llx", nats); + nats = 0ULL; + regs++; + if (!(regs % 8) || i == (NGRS - 1)) + fprintf(f, "\n"); + } + } + return YES; +} + +static BOOL frSave(FILE *f, int proc) +{ + int i; + BYTE sign; + WORD exp; + DWORD mant; + + fprintf(f, "fr"); + for (i = 0; i < NFRS; i++) { + sign = phyFrSignGet(proc, i); + exp = phyFrExpGet(proc, i); + mant = phyFrMantGet(proc, i); + fprintf(f, " %x %x %llx", sign, exp, mant); + if (i % 4 == 3) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL prSave(FILE *f, int proc) +{ + REG preds = 0ULL; + int i; + + fprintf(f, "pr"); + for (i = 0; i < NPRS; i++) + preds = preds << 1 | phyPrGet(proc, i); + fprintf(f, " %llx\n", preds); + return YES; +} + +static BOOL brSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "br"); + for (i = 0; i < NBRS; i++) + fprintf(f, " %llx", brGet(proc, i)); + fprintf(f, "\n"); + return YES; +} + +static BOOL arSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "ar"); + for (i = 0; i < NARS; i++) { + fprintf(f, " %llx", arGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL cfmSave(FILE *f, int proc) +{ + fprintf(f, "cfm %llx\n", cfmGet(proc)); + return YES; +} + +static BOOL bolSave(FILE *f, int proc) +{ + fprintf(f, "bol %llu\n", bolGet(proc)); + return YES; +} + +static BOOL rseSave(FILE *f, int proc) +{ + (void)fprintf(f, "rse %d %d %d %d %d %d\n", + (int)dirtyGet(proc), (int)cleanGet(proc), + (int)invalidGet(proc), + (int)dirtyNatGet(proc), (int)cleanNatGet(proc), + cfleGet(proc)); + return YES; +} + +static BOOL crSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "cr"); + for (i = 0; i < NCRS; i++) { + fprintf(f, " %llx", crGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL bkrSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "bkr"); + for (i = 0; i < NBGRS; i++) { + fprintf(f, " %llx", bkrGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL bkrnatSave(FILE *f, int proc) +{ + HWORD nats = 0; + int i; + + fprintf(f, "bkrnat"); + for (i = 0; i < NBGRS; i++) + nats = nats << 1 | bkrNatGet(proc, i); + fprintf(f, " %hx\n", nats); + return YES; +} + +static BOOL rrSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "rr"); + for (i = 0; i < NRRS; i++) { + fprintf(f, " %llx", rrGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL pkrSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "pkr %d", NPKRS); + for (i = 0; i < NPKRS; i++) { + fprintf(f, " %llx", pkrGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL dbrSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "dbr %d", NDBRS); + for (i = 0; i < NDBRS; i++) { + fprintf(f, " %llx", dbrGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL ibrSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "ibr %d", NIBRS); + for (i = 0; i < NIBRS; i++) { + fprintf(f, " %llx", ibrGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL pmcSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "pmc %d", NPMS); + for (i = 0; i < NPMS; i++) { + fprintf(f, " %llx", pmcGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL pmdSave(FILE *f, int proc) +{ + int i; + + fprintf(f, "pmd %d", NPMS); + for (i = 0; i < NPMS; i++) { + fprintf(f, " %llx", pmdGet(proc, i)); + if (i % 8 == 7) + fprintf(f, "\n"); + } + return YES; +} + +static BOOL dtrSave(FILE *f, int proc) +{ + fprintf(f, "# DTR not saved\n"); + return YES; +} + +static BOOL itrSave(FILE *f, int proc) +{ + fprintf(f, "# ITR not saved\n"); + return YES; +} + +static BOOL memSave(FILE *f) +{ + Meminfo_p p, start; + int ndws, i; + BOOL allZeros, zeroPage; + DWORD *dwsve, *dwp; + + if (!memGet(&start)) { + sprintf(errmsg, "malloc failed in memGet"); + return NO; + } + for (p = start; p; p = p->next) { + ndws = (p->numpgs * 4096) >> 3; + dwsve = p->mdata; + zeroPage = YES; + for (i = 0; i < ndws/NDWPERLN; i++) { + allZeros = YES; + for (dwp = dwsve; dwp < dwsve + NDWPERLN; dwp++) + if (*dwp) { + allZeros = NO; + zeroPage = NO; + break; + } + if (!allZeros) { + fprintf(f, "mem %llx %d", p->startadr + i*8*NDWPERLN, + NDWPERLN); + for (dwp = dwsve; dwp < dwsve + NDWPERLN; dwp++) + fprintf(f, " %llx", *dwp); + fprintf(f, "\n"); + } + dwsve += NDWPERLN; + } + if (zeroPage) + fprintf(f, "mem %llx 0\n", p->startadr); + } + freeMemlist(start); + return YES; +} + + +/* + * Restore Routines + */ + +BOOL srs_restoreState(char *fname) +{ + FILE *f; + BOOL status = YES; + RstStat rstat; + + if (!(f = fopen(fname, "r"))) { + sprintf(errmsg, "Could not open restore file '%s'", fname); + return NO; + } + + lineno = 1; + if (!restoreHdrInfo(f)) { + (void)fclose(f); + return NO; + } + + while (status) { + if (nextToken(f, token) == EOF) + break; + + if ((rstat = restoreProcState(f)) == ERROR) { + status = NO; + break; + } else if (rstat == FOUND) + continue; + + if ((rstat = restoreSysState(f)) == ERROR) { + status = NO; + break; + } else if (rstat == FOUND) + continue; + + if ((rstat = restoreSymbols(f)) == ERROR) { + status = NO; + break; + } else if (rstat == FOUND) + continue; + + if ((rstat = restoreSimState(f, token)) == ERROR) { + status = NO; + break; + } else if (rstat == FOUND) + continue; + + if ((rstat = otherSimState(f)) == ERROR) { + status = NO; + break; + } else if (rstat == FOUND) + continue; + + sprintf(errmsg, "Unrecognized restore file tag in line %d: %s", + lineno, token); + status = NO; + } + + (void)fclose(f); + return status; +} + +static BOOL restoreHdrInfo(FILE *f) +{ + int maj, min; + + if (!srs_nextRstVal(f, "%s", strval)) + return NO; + if (strcmp("file_ver", strval)) { + sprintf(errmsg, "Missing file version number"); + return NO; + } + if (!srs_nextRstVal(f, "%d.%d", &maj, &min)) + return NO; + if (maj != MAJVER) { + sprintf(errmsg, "Incompatible file version number: expected %d.x," + " found %d.%d", MAJVER, maj, min); + return NO; + } + return YES; +} + +static RstStat restoreProcState(FILE *f) +{ + static int maxproc = 0, procno = -1; + PSveRstRec *p; + + if (!strcmp("nprocs", token)) { + if (!srs_nextRstVal(f, "%d", &maxproc)) + return ERROR; + if (maxproc > MAXPROCS) { + sprintf(errmsg, "Illegal nproc: must be <= %d (found %d)", + MAXPROCS, maxproc); + return ERROR; + } else + return FOUND; + } else if (!strcmp("proc", token)) { + if (!srs_nextRstVal(f, "%d", &procno)) + return ERROR; + if (procno > maxproc) { + sprintf(errmsg, "Illegal proc #: must be < %d (found %d)", + maxproc, procno); + return ERROR; + } else + return FOUND; + } else { + for (p = psversttbl; p->prstfn; p++) { + if (!strcmp(p->varnam, token)) + return p->prstfn(f, procno); + } + return restoreProcImpl(f, token, procno); + } +} + +static RstStat restoreSysState(FILE *f) +{ + if (!strcmp("mem", token)) + return memRestore(f); + else + return restoreSysImpl(f, token); +} + +static RstStat restoreSymbols(FILE *f) +{ + ADDR adr; + + if (!(strcmp("sym", token))) { + if (!srs_nextRstVal(f, "%llx", &adr)) + return ERROR; + if (!srs_nextRstVal(f, "%s", strval)) + return ERROR; + symSet(strval, adr); + return FOUND; + } else + return NOT_FOUND; +} + +static RstStat otherSimState(FILE *f) +{ + const char **p = &simprefix[0]; + + for (; *p; p++) { + int count, i; + + if (strlen(token) <= strlen(*p) || strncmp(*p, token, strlen(*p))) + continue; + if (!srs_nextRstVal(f, "%d", &count)) + return ERROR; + for (i = 0; i < count; i++) /* ignore 'count' values */ + if (!srs_nextRstVal(f, "%s", strval)) + return ERROR; + return FOUND; + } + return NOT_FOUND; +} + +static RstStat ipRestore(FILE *f, int procno) +{ + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + return ipSet(procno, dwval) ? FOUND : ERROR; +} + +static RstStat psrRestore(FILE *f, int procno) +{ + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + return psrSet(procno, dwval) ? FOUND : ERROR; +} + +static RstStat grRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NGRS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + if (!phyGrSet(procno, i, dwval)) { + sprintf(errmsg, "Can't restore nonzero value to GR0"); + return ERROR; + } + } + return FOUND; +} + +static RstStat grnatRestore(FILE *f, int procno) +{ + int i, j, regs = (NGRS - 1)/64 + 1; + + for (i = 0; i < regs; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + for (j = 63; j >= 0; j--) { + if (!phyGrNatSet(procno, (i * 64 + j), dwval & 0x1)) { + sprintf(errmsg, "Can't restore nonzero NaT value to GR0"); + return ERROR; + } + dwval >>= 1; + } + } + return FOUND; +} + +static RstStat frRestore(FILE *f, int procno) +{ + WORD sign, exp; + DWORD mant; + int i; + + for (i = 0; i < NFRS ; i++) { + if (!srs_nextRstVal(f, "%x", &sign) || + !srs_nextRstVal(f, "%x", &exp) || + !srs_nextRstVal(f, "%llx", &mant)) + return ERROR; + if (!phyFrSignSet(procno, i, sign) || + !phyFrExpSet(procno, i, exp) || + !phyFrMantSet(procno, i, mant)) { + sprintf(errmsg, "Illegal value assigned to Fr%d in line %d", + i, lineno); + return ERROR; + } + } + return FOUND; +} + +static RstStat prRestore(FILE *f, int procno) +{ + REG preds; + int i; + + if (!srs_nextRstVal(f, "%llx", &preds)) + return ERROR; + for (i = NPRS-1; i >= 0; i--) { + if (!phyPrSet(procno, i, preds & 0x1)) { + sprintf(errmsg, "Illegal value assigned to Pr%d in line %d", + i, lineno); + return ERROR; + } + preds >>= 1; + } + return FOUND; +} + +static RstStat brRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NBRS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + brSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat arRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NARS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + if (!arSet(procno, i, dwval)) { + sprintf(errmsg, "Illegal value restored to ar%d in line %d", + i, lineno); + return ERROR; + } + } + return FOUND; +} + +static RstStat cfmRestore(FILE *f, int procno) +{ + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + cfmSet(procno, dwval); + return FOUND; +} + +static RstStat bolRestore(FILE *f, int procno) +{ + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + bolSet(procno, wval); + return FOUND; +} + +static RstStat rseRestore(FILE *f, int procno) +{ + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + dirtySet(procno, wval); + + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + cleanSet(procno, wval); + + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + invalidSet(procno, wval); + + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + dirtyNatSet(procno, wval); + + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + cleanNatSet(procno, wval); + + if (!srs_nextRstVal(f, "%d", &wval)) + return ERROR; + cfleSet(procno, wval); + + return FOUND; +} + +static RstStat crRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NCRS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + if (!crSet(procno, i, dwval)) { + sprintf(errmsg, "Illegal value restored to cr%d in line %d", + i, lineno); + return ERROR; + } + } + return FOUND; +} + +static RstStat bkrRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NBGRS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + bkrSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat bkrnatRestore(FILE *f, int procno) +{ + REG nats; + int i; + + if (!srs_nextRstVal(f, "%llx", &nats)) + return ERROR; + for (i = NBGRS-1; i >= 0; i--) { + bkrNatSet(procno, i, nats & 0x1); + nats >>= 1; + } + return FOUND; +} + +static RstStat rrRestore(FILE *f, int procno) +{ + int i; + + for (i = 0; i < NRRS; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + rrSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat pkrRestore(FILE *f, int procno) +{ + int regsz, i; + + if (!srs_nextRstVal(f, "%d", ®sz)) + return ERROR; + if (regsz > NPKRS) { + sprintf(errmsg, "Illegal number of PKRs: must be <= %d (found %d)", + NPKRS, regsz); + return ERROR; + } + for (i = 0; i < regsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + pkrSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat dbrRestore(FILE *f, int procno) +{ + int regsz, i; + + if (!srs_nextRstVal(f, "%d", ®sz)) + return ERROR; + if (regsz > NDBRS) { + sprintf(errmsg, "Illegal number of DBRs: must be <= %d (found %d)", + NDBRS, regsz); + return ERROR; + } + for (i = 0; i < regsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + dbrSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat ibrRestore(FILE *f, int procno) +{ + int regsz, i; + + if (!srs_nextRstVal(f, "%d", ®sz)) + return ERROR; + if (regsz > NIBRS) { + sprintf(errmsg, "Illegal number of IBRs: must be <= %d (found %d)", + NIBRS, regsz); + return ERROR; + } + for (i = 0; i < regsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + ibrSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat pmcRestore(FILE *f, int procno) +{ + int regsz, i; + + if (!srs_nextRstVal(f, "%d", ®sz)) + return ERROR; + if (regsz > NPMS) { + sprintf(errmsg, "Illegal number of PMCs: must be <= %d (found %d)", + NPMS, regsz); + return ERROR; + } + for (i = 0; i < regsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + pmcSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat pmdRestore(FILE *f, int procno) +{ + int regsz, i; + + if (!srs_nextRstVal(f, "%d", ®sz)) + return ERROR; + if (regsz > NPMS) { + sprintf(errmsg, "Illegal number of PMDs: must be <= %d (found %d)", + NPMS, regsz); + return ERROR; + } + for (i = 0; i < regsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + pmdSet(procno, i, dwval); + } + return FOUND; +} + +static RstStat dtrRestore(FILE *f, int procno) +{ + return NOT_FOUND; +} + +static RstStat itrRestore(FILE *f, int procno) +{ + return NOT_FOUND; +} + +static RstStat memRestore(FILE *f) +{ + REG adr; + int bufsz, i; + + if (!srs_nextRstVal(f, "%llx", &adr) || !srs_nextRstVal(f, "%d", &bufsz)) + return ERROR; + if (!bufsz) { /* allocate an empty page */ + if (adr & 0xFFFULL) + return ERROR; + memZerosPageSet(adr); + return FOUND; + } + if (adr & 0x7ULL) + return ERROR; + for (i = 0; i < bufsz; i++) { + if (!srs_nextRstVal(f, "%llx", &dwval)) + return ERROR; + memSet(adr + i*8, dwval); + } + return FOUND; +} + + +/* + * Auxiliary Routines + */ + +static void freeMemlist(Meminfo_p list) +{ + Meminfo_p p; + + while (list) { + p = list; + list = p->next; + free(p); + } +} + +BOOL srs_nextRstVal(FILE *f, const char *format, ...) +{ + va_list ap; + char tok[80]; + int ntstat; + BOOL retstat = YES; + + if ((ntstat = nextToken(f, tok)) == EOF) { + sprintf(errmsg, "Unexpected end of file"); + return NO; + } + va_start(ap, format); + if (!ntstat || !vsscanf(tok, format, ap)) { + sprintf(errmsg, "Unexpected token '%s' in line %d", tok, lineno); + retstat = NO; + } + va_end(ap); + return retstat; +} + +static int nextToken(FILE *f, char *tok) +{ + char *cmt, tmp[80], line[160]; + int status; + + do { + do { + if (fscanf(f, "%[ \t]", tmp) == EOF || + (status = fscanf(f, "%1[\n]", tmp)) == EOF) + return EOF; + if (status > 0) { + lineno++; + sprintf(errmsg, "line %d", lineno); + } + } while (status); + + if ((status = fscanf(f, "%s", tmp)) == EOF) + return EOF; + + if ((cmt = strchr(tmp, '#'))) { /* remove comments */ + lineno++; + sprintf(errmsg, "line %d", lineno); + *cmt = '\0'; + if (!fgets(line, sizeof line, f)) + return EOF; + } + } while (!*tmp); + + (void)strcpy(tok, tmp); + return status; +} + +char *srs_errmsgGet(void) +{ + return errmsg; +} + +void srs_errmsgSet(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + (void)vsprintf(errmsg, fmt, ap); + va_end(ap); +} diff --git a/src/libsrs.h b/src/libsrs.h new file mode 100644 index 0000000..bd02b74 --- /dev/null +++ b/src/libsrs.h @@ -0,0 +1,60 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Save/Restore Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBSRS_H +#define _SKI_LIBSRS_H + +typedef enum { ERROR, FOUND, NOT_FOUND } RstStat; + +/* + * Routines to invoke the Save/Restore functionality + */ + +BOOL srs_saveState(char *fname); +BOOL srs_restoreState(char *fname); + + +/* Utility functions */ + +BOOL srs_nextRstVal(FILE *f, const char *format, ...); +char *srs_errmsgGet(void); +void srs_errmsgSet(const char *fmt, ...); + + +/* + * Simulator- and implementation-dependent routines called by the + * Save/Restore functionality + */ + +/* Functions for saving state */ + +BOOL saveProcImpl(FILE *f, unsigned cproc); +BOOL saveSysImpl(FILE *f); +BOOL saveSimState(FILE *f); + + +/* Functions for restoring state */ + +RstStat restoreProcImpl(FILE *f, char *name, unsigned cproc); +RstStat restoreSysImpl(FILE *f, char *name); +RstStat restoreSimState(FILE *f, char *name); + +#endif /* _SKI_LIBSRS_H */ diff --git a/src/libsym.c b/src/libsym.c new file mode 100644 index 0000000..e069dc9 --- /dev/null +++ b/src/libsym.c @@ -0,0 +1,623 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Symbol Table Library Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/* The symbol table allows lookups based upon either the symbol's name or + its address. The name lookup uses a hash table and collision chains. + The address lookup uses a Skip List. The following description is from + Pugh's example C Skip List implementation, with comments related to our + symbol table use in square brackets [like this]. + + Skip Lists are a probabilistic alternative to balanced trees, as + described in the June 1990 issue of CACM and were invented by William + Pugh in 1987. + + A couple of comments about this implementation: + The routine randomLevel has been hard-coded to generate random + levels using p=0.25. It can be easily changed [but don't]. + + The insertion routine has been implemented so as to use the dirty + hack described in the CACM paper: if a random level is generated that + is more than the current maximum level, the current maximum level + plus one is used instead. + + Levels start at zero and go up to MaxLevel, which is equal to + (MaxNumberOfLevels-1). + + The compile flag allowDuplicates determines whether or not duplicates + are allowed. If defined, duplicates are allowed and act in a FIFO + manner. If not defined, an insertion of a value already in the file + updates the previously existing binding. [This flag has been + removed. The symbol table always allows duplicates.] + + BitsInRandom is defined to be the number of bits returned by a call + to random(). For most all machines with 32-bit integers, this is 31 + bits as currently set. [correct for HP-UX random(); could switch to + drand48() and change to 48] + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include "std.h" +#include "types.h" +#include "libsym.h" + +#define SYMHTSIZ 64 /* hash table entries in symbol table */ + /* (must be a power of 2!) */ +#define BitsInRandom 31 +#define MaxNumberOfLevels 16 +#define MaxLevel (MaxNumberOfLevels-1) +#define newNodeOfLevel(l) malloc(sizeof (Node)+(l)*sizeof (NodePtr)) + +/*##################### Datatypes ##########################################*/ + +typedef ADDR keyType; +typedef Symbol valueType; +typedef struct nodeStructure *NodePtr; + +/* symbol structure */ +typedef struct nodeStructure { + Symbol sym; /* symbol information */ + NodePtr nextname; /* next symbol linked in name hash table */ + NodePtr prevval; /* prev link for value ordered linked list */ + NodePtr nextval[1]; /* variable sized array of next link pointers + for value ordered linked list */ +} Node; + +typedef struct symTableStructure { + int level; /* Maximum level of the list + (1 less than the number of levels in the list) */ + NodePtr header; /* pointer to header */ + NodePtr nextSymPtr; /* used to step through list in symNextSym() */ + NodePtr symht[SYMHTSIZ]; /* symbol hash table */ +#ifdef DEBUG + unsigned int count[MaxNumberOfLevels]; +#endif /* DEBUG */ +} SymTable; + +/*##################### Local Variables ####################################*/ + +#ifdef OLD_WAY +static NodePtr symht[SYMHTSIZ] = {NULL}; /* symbol hash table */ +static NodePtr symlist = NULL; /* value ordered linked list */ +static NodePtr recentSym = NULL; /* most recent symbol looked up by addr */ +static NodePtr nextSymPtr; +#endif /* OLD_WAY */ +static NodePtr NIL; /* ptr to the "NIL" node */ +long randomBits; /* stash of random bits */ +static unsigned randomsLeft; /* pairs of bits left in randomBits */ +SymTablePtr defaultSymTable; /* the default symbol table */ +#ifdef DEBUG +static unsigned insCount = 0, insLoops = 0, symCount = 0, symLoops = 0, + cmpCount = 0, cmpLoops = 0; +#endif /* DEBUG */ + +/*##################### Functions and Subroutines ##########################*/ + +#define panic(s) (void)fputs(s, stderr), exit(EXIT_FAILURE) + +/*--------------------------------------------------------------------------- + * randomLevel - Returns a random level in the range 0..MaxLevel. + *---------------------------------------------------------------------------*/ +static int randomLevel(void) +{ + register int level = 0; + register int b; + + do { + b = randomBits & 3; + if (!b) level++; + randomBits >>= 2; + if (--randomsLeft == 0) { + randomBits = random(); + randomsLeft = BitsInRandom / 2; + } + } while (!b); + + return level > MaxLevel ? MaxLevel : level; +} + +#ifdef DEBUG +void symStats(void) +{ + unsigned i; + + /* XXX - update this for skip list stats */ + fprintf(stderr, "insCount = %u\n" + "insLoops = %u\n" + "insLoops/Count = %3.1f\n" + "symCount = %u\n" + "symLoops = %u\n" + "symLoops/Count = %3.1f\n" + "cmpCount = %u\n" + "cmpLoops = %u\n" + "cmpLoops/Count = %3.1f\n", + insCount, insLoops, + (float)insLoops / (float)insCount, + symCount, symLoops, + (float)symLoops / (float)symCount, + cmpCount, cmpLoops, + (float)cmpLoops / (float)cmpCount); + for (i = 0; i < MaxNumberOfLevels; i++) + fprintf(stderr, "count[%u] = %u (%3.1f%%)\n", i, + defaultSymTable->count[i], + (float)defaultSymTable->count[i] / insCount * 100.0); +} +#endif /* DEBUG */ + +/*--------------------------------------------------------------------------- + * symInit - Initialize the symbol table library. Create the default + * symbol table. + *---------------------------------------------------------------------------*/ +void symInit(void) +{ + NIL = newNodeOfLevel(0); + NIL->sym.addr = 0xffffffffffffffffULL; /* XXX - will this work? */ +#ifdef DEBUG + srandom(1); + atexit(symStats); +#else /* !DEBUG */ + srandom((unsigned)time(0)); +#endif /* DEBUG */ + randomBits = random(); + randomsLeft = BitsInRandom/2; + defaultSymTable = symNewTable(); +} + +/*--------------------------------------------------------------------------- + * symNewTable - Create a new symbol table and return a pointer to it. + * Returns NULL if the new table couldn't be created. + *---------------------------------------------------------------------------*/ +SymTablePtr symNewTable(void) +{ + SymTablePtr t; + int i; + + if (!(t = malloc(sizeof *t))) + return NULL; + t->level = 0; + /* XXX - doesn't this allocate one too many pointers? */ + t->header = newNodeOfLevel(MaxNumberOfLevels); + for (i = 0; i < MaxNumberOfLevels; i++) { + t->header->nextval[i] = NIL; +#ifdef DEBUG + t->count[i] = 0; +#endif /* DEBUG */ + } + t->nextSymPtr = 0; + for (i = 0; i < SYMHTSIZ; i++) + t->symht[i] = 0; + return t; +} + +/*--------------------------------------------------------------------------- + * symHash - Hash into the symbol hash table t and return the + * address of the hash table entry corresponding to the passed string. + *---------------------------------------------------------------------------*/ +static NodePtr *symHash(SymTablePtr t, const char *s) +{ + int i; + + for (i = 0; *s; i += (int)*s++) + ; + return &t->symht[i & (SYMHTSIZ-1)]; +} + +/*--------------------------------------------------------------------------- + * nodeNameSearch - Find and return a pointer to the node with the + * passed name, or NULL if not found. + *---------------------------------------------------------------------------*/ +static NodePtr nodeNameSearch(SymTablePtr t, const char *sname) +{ + NodePtr s; + + for (s = *symHash(t, sname); s && strcmp(sname, s->sym.name); + s = s->nextname) + ; + return s; +} + +/*--------------------------------------------------------------------------- + * nodeAddrSearch - Find and return a pointer to the node with the largest + * address less than or equal to the passed address and for which the cmpFn + * (if not 0) returns nonzero, or NULL if there are none. + *---------------------------------------------------------------------------*/ +static NodePtr nodeAddrSearch(SymTablePtr t, ADDR adr, + PSCF cmpFn, const void *cmpArg) +{ + int k; + NodePtr p, q; + +#ifdef DEBUG + symCount++; +#endif /* DEBUG */ + /* XXX - this search code sems to hang when searching for ~0; I hope + * we never have a symbol whose value is ~0. + */ + if (adr == ~0ULL) + return NULL; + p = t->header; + k = t->level; + do { + while ((q = p->nextval[k]) && q->sym.addr <= adr) { + p = q; +#ifdef DEBUG + symLoops++; +#endif /* DEBUG */ + } + } while (--k >= 0); + if (p == t->header) + return NULL; + if (cmpFn) { /* search prevval list using cmpFn() */ +#ifdef DEBUG + cmpCount++; +#endif /* DEBUG */ + while (p != t->header && !cmpFn(&p->sym, cmpArg)) { + p = p->prevval; +#ifdef DEBUG + cmpLoops++; +#endif /* DEBUG */ + } + } + return p != t->header ? p : NULL; +} + +/*--------------------------------------------------------------------------- + * nodeAddrSearchGT - Find and return a pointer to the symbol with the + * smallest address greater than the passed address and for which the cmpFn + * (if not 0) returns nonzero, or NULL if there are none. + *---------------------------------------------------------------------------*/ +static NodePtr nodeAddrSearchGT(SymTablePtr t, ADDR adr, + PSCF cmpFn, const void *cmpArg) +{ + NodePtr s; + + /* XXX - change this to use the skip list like nodeAddrSearch() */ + if (!cmpFn) { + for (s = t->header->nextval[0]; s != NIL; s = s->nextval[0]) + if (s->sym.addr > adr) + break; + } else { /* have cmpFn */ + for (s = t->header->nextval[0]; s != NIL; s = s->nextval[0]) + if (s->sym.addr > adr && cmpFn(&s->sym, cmpArg)) + break; + } + return s != NIL ? s : 0; +} + +/*--------------------------------------------------------------------------- + * symAddrSearch - Find and return a pointer to the symbol with the address + * equal to the passed address and for which the cmpFn (if not 0) returns + * nonzero, or NULL if there are none. + *---------------------------------------------------------------------------*/ +SymbolPtr symAddrSearch(SymTablePtr t, unsigned long long addr, PSCF cmpFn, + const void *cmpArg) +{ + NodePtr p = nodeAddrSearch(t, addr, cmpFn, cmpArg); + + return p && p->sym.addr == addr ? &p->sym : NULL; +} + +/*--------------------------------------------------------------------------- + * symAddrtoAddrX - Find and return the address of the symbol with the + * largest address less than or equal to (dist < 0) or greater than (dist + * >= 0) the passed address and within "dist" of that address (unless dist + * is 0, which means allow any distance), or the input adr if there are + * none. The cmpFn and cmpArg are used to restrict the set of eligible + * symbols. + *---------------------------------------------------------------------------*/ +ADDR symAddrtoAddrX(SymTablePtr t, ADDR adr, int dist, + PSCF cmpFn, const void *cmpArg) +{ + NodePtr p; + + if (dist < 0) { + p = nodeAddrSearch(t, adr, cmpFn, cmpArg); + adr = p && (int)(adr - p->sym.addr) <= -dist ? p->sym.addr : adr; + } else { + p = nodeAddrSearchGT(t, adr, cmpFn, cmpArg); + adr = p && (dist == 0 || (int)(p->sym.addr - adr) <= dist) ? + p->sym.addr : adr; + } + + return adr; +} + + +/*--------------------------------------------------------------------------- + * symInsertX - Insert the passed symbol name into the symbol table t + * (AND into the address ordered skip list) with the specified virtual + * address as its value. If the name is already in the symbol table, + * it is added again. + *---------------------------------------------------------------------------*/ +SymbolPtr symInsertX(SymTablePtr t, const char *name, ADDR addr, void *extra) +{ + NodePtr *h, p, q; + NodePtr update[MaxNumberOfLevels]; + int k; + +#ifdef DEBUG + insCount++; +#endif /* DEBUG */ + p = t->header; + k = t->level; + do { + while (q = p->nextval[k], q->sym.addr <= addr) { + p = q; +#ifdef DEBUG + insLoops++; +#endif /* DEBUG */ + } + update[k] = p; + } while (--k >= 0); + + k = randomLevel(); + if (k > t->level) { + k = ++t->level; + update[k] = t->header; + }; +#ifdef DEBUG + t->count[k]++; +#endif /* DEBUG */ + if (!(q = newNodeOfLevel(k)) || + !(q->sym.name = strdup(name))) + panic("Out of memory\n"); + /* set the new node's value */ + q->sym.addr = addr; + q->sym.extra = extra; + /* link node into skip list */ + do { + p = update[k]; + q->nextval[k] = p->nextval[k]; + p->nextval[k] = q; + } while (--k >= 0); + /* link node into hash chain */ + h = symHash(t, name); + q->nextname = *h; + *h = q; + /* link node into prevval list */ + if (q->nextval[0] != NIL) + q->nextval[0]->prevval = q; + q->prevval = p; + return &q->sym; +} + +void symName(SymbolPtr s, unsigned long long addr, char sname[], + int rmdr, int add0x, int width) +{ + BOOL exact = NO; + + if (width < 0) { + exact = YES; + width = -width; + } + if (s) { + ADDR distance = addr - s->addr; + + if (!distance) { + if (!width) + (void)strcpy(sname, s->name); + else if (strlen(s->name) <= width) + if (exact) + (void)strcpy(sname, s->name); + else + (void)sprintf(sname, "%-*s", width, s->name); + else + (void)sprintf(sname, "%.*s*", width-1, s->name); + return; + } + + if (rmdr && distance < (1ULL<<4*rmdr)) { + if (width) { + int symlen = width - (rmdr + 1 + (add0x ? 2 : 0)); + + if (strlen(s->name) <= symlen) + if (exact) + (void)sprintf(sname, "%s+%s%0*llx", s->name, + add0x ? "0x" : "", rmdr, distance); + else + (void)sprintf(sname, "%s+%s%0*llx%*s", s->name, + add0x ? "0x" : "", rmdr, distance, + (int)(symlen - strlen(s->name)), ""); + else + (void)sprintf(sname, "%.*s*+%s%0*llx", + symlen-1, s->name, + add0x ? "0x" : "", rmdr, distance); + } else + (void)sprintf(sname, "%s+%s%0*llx", s->name, + add0x ? "0x" : "", rmdr, distance); + return; + } + } + (void)sprintf(sname, "%s%016llx", add0x ? "0x" : "", addr); +} + +/*--------------------------------------------------------------------------- + * symAddrtoNameX - Find the name of the symbol with the greatest value + * less than or equal to the passed virtual address and within 16**rmdr + * bytes. If cmpFn is not 0, it is called with the Symbol ptr and the + * cmpArg. A return of 0 indicates the symbol should not be considered; a + * nonzero return indicates it is a candidate symbol. If such a symbol + * exists, fill in sname with its name using width to either pad or + * truncate. If such a symbol does not exist, fill in sname with the hex + * representation of adr. rmdr must be >= 0; add0x indicates whether to + * add a leading 0x width must be 0 or its absolute value must be >= 16 (18 + * if add0x is YES). width < 0 means that the resultant string should not + * be padded. + *---------------------------------------------------------------------------*/ +void symAddrtoNameX(SymTablePtr t, ADDR adr, char sname[], int rmdr, + int add0x, int width, PSCF cmpFn, const void *cmpArg) +{ + NodePtr p = nodeAddrSearch(t, adr, cmpFn, cmpArg); + SymbolPtr s = p ? &p->sym : NULL; + + symName(s, adr, sname, rmdr, add0x, width); +} + +/*--------------------------------------------------------------------------- + * Compatibility stub. Calls symAddrtoNameX() with 0 for cmpFn and cmpArg, + * and defaultSymTable as the symbol table. + *---------------------------------------------------------------------------*/ +void symAddrtoName(ADDR adr, char sname[], int rmdr, int add0x, int width) +{ + symAddrtoNameX(defaultSymTable, adr, sname, rmdr, add0x, width, 0, 0); +} + +/*--------------------------------------------------------------------------- + * symNametoAddrX - Find the symbol with the passed name in symbol table t. + * If found, place its value (addr) into paddr and return YES; otherwise, + * return NO. + *---------------------------------------------------------------------------*/ +BOOL symNametoAddrX(SymTablePtr t, const char *sname, ADDR *paddr) +{ + NodePtr np; + + if ((np = nodeNameSearch(t, sname))) { + *paddr = np->sym.addr; + return YES; + } + return NO; +} + + +/*--------------------------------------------------------------------------- + * symNameLookupX - Find the symbol with the passed name in symbol table t. + * If found, place its value into the passed variables and return YES; + * otherwise, return NO. Same as symNametoAddr() except that extra is + * returned. + *---------------------------------------------------------------------------*/ +BOOL symNameLookupX(SymTablePtr t, const char *sname, ADDR *paddr, + void **extra) +{ + NodePtr np; + + if ((np = nodeNameSearch(t, sname))) { + *paddr = np->sym.addr; + *extra = np->sym.extra; + return YES; + } + return NO; +} + + +/*--------------------------------------------------------------------------- + * symNextSymInitX - Initialize the nextSymPtr pointer to the top of the + * symbol table t. + *---------------------------------------------------------------------------*/ +void symNextSymInitX(SymTablePtr t) +{ + t->nextSymPtr = t->header->nextval[0]; +} + + +/*--------------------------------------------------------------------------- + * symNextSymX - If there is a next symbol in symbol table t, return YES + * and the current symbol parameters, and move the current symbol pointer + * to the next symbol; otherwise, return NO. + *---------------------------------------------------------------------------*/ +BOOL symNextSymX(SymTablePtr t, SymbolPtr sym) +{ + if (t->nextSymPtr == NIL) + return NO; + sym->addr = t->nextSymPtr->sym.addr; + sym->name = t->nextSymPtr->sym.name; + sym->extra = t->nextSymPtr->sym.extra; + t->nextSymPtr = t->nextSymPtr->nextval[0]; + return YES; +} + +/*--------------------------------------------------------------------------- + * symDeleteAddrX - Delete the symbols in the range saddr..eaddr. + *---------------------------------------------------------------------------*/ +void symDeleteAddrX(SymTablePtr t, unsigned long long saddr, + unsigned long long eaddr) +{ + register int k, m; + NodePtr update[MaxNumberOfLevels]; + NodePtr p, q, r; + + /* skip nodes < saddr */ + p = t->header; + k = m = t->level; + do { + while (q = p->nextval[k], q->sym.addr < saddr) + p = q; + update[k] = p; + } while (--k >= 0); + + if (q->sym.addr > eaddr) /* no nodes in range */ + return; + + for ( ; q->sym.addr <= eaddr; q = r) { + NodePtr *h, s; + + /* update nextval pointers */ + for (k = 0; k <= m && (r = update[k])->nextval[k] == q; k++) + r->nextval[k] = q->nextval[k]; + /* unlink from name list */ + h = symHash(t, q->sym.name); + for (r = 0, s = *h; q != s; r = s, s = s->nextname) + ; + if (r) + r->nextname = s->nextname; + else + *h = s->nextname; + r = q->nextval[0]; + free(q); + } + + /* unlink nodes from prevval list */ + if (r != NIL) + r->prevval = p; + /* update the table's level */ + while (t->header->nextval[m] == NIL && m > 0) + m--; + t->level = m; +} + +/*--------------------------------------------------------------------------- + * symFreeTable - Delete the symbol table t and free the space used by it. + *---------------------------------------------------------------------------*/ +void symFreeTable(SymTablePtr t) +{ + register NodePtr p, q; + + p = t->header; + do { + q = p->nextval[0]; + free(p); + p = q; + } while (p != NIL); + free(t); +} + +/*--------------------------------------------------------------------------- + * symlDelete - Compatibility stub. Existing code expects to be able to + * reuse the default symbol table immediatedly after deleting it! + *---------------------------------------------------------------------------*/ +void symlDelete(void) +{ + symFreeTable(defaultSymTable); + defaultSymTable = symNewTable(); +} diff --git a/src/libsym.h b/src/libsym.h new file mode 100644 index 0000000..91fbffe --- /dev/null +++ b/src/libsym.h @@ -0,0 +1,72 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Symbol Table Library Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBSYM_H +#define _SKI_LIBSYM_H + +typedef struct { + char *name; /* symbol name */ + void *extra; /* pointer to extra symbol info */ + unsigned long long addr; /* value (address) associated with symbol */ +} Symbol, *SymbolPtr; + +typedef struct symTableStructure *SymTablePtr; +typedef int (*PSCF)(const SymbolPtr sym, const void *cmpArg); + +extern SymTablePtr defaultSymTable; + +/* function prototypes */ +SymbolPtr symAddrSearch(SymTablePtr t, unsigned long long addr, PSCF cmpFn, + const void *cmpArg); +#define symAddrtoAddr(addr, dist, cmpFn, cmpArg) \ + symAddrtoAddrX(defaultSymTable, addr, dist, cmpFn, cmpArg) +unsigned long long symAddrtoAddrX(SymTablePtr t, unsigned long long addr, + int dist, PSCF cmpFn, const void *cmpArg); +#define symInsert(name, addr, extra) ((void)symInsertX(defaultSymTable, name, addr, extra)) +SymbolPtr symInsertX(SymTablePtr t, const char *name, unsigned long long addr, + void *extra); +#define symNametoAddr(name, paddr) symNametoAddrX(defaultSymTable, name, paddr) +BOOL symNametoAddrX(SymTablePtr t, const char *name, unsigned long long *paddr); +#define symNameLookup(name, paddr, extra) \ + symNameLookupX(defaultSymTable, name, paddr, extra) +BOOL symNameLookupX(SymTablePtr t, const char *name, unsigned long long *paddr, + void **extra); +void symAddrtoName(unsigned long long addr, char sname[], int rmdr, int add0x, + int width); +void symName(SymbolPtr s, unsigned long long addr, char sname[], + int rmdr, int add0x, int width); +void symAddrtoNameX(SymTablePtr t, unsigned long long addr, char sname[], + int rmdr, int add0x, int width, PSCF cmpFn, + const void *cmpArg); +#define symNextSymInit() symNextSymInitX(defaultSymTable) +void symNextSymInitX(SymTablePtr t); +#define symNextSym(sym) symNextSymX(defaultSymTable, sym) +BOOL symNextSymX(SymTablePtr t, SymbolPtr sym); +#define symDeleteAddr(saddr, eaddr) \ + symDeleteAddrX(defaultSymTable, saddr, eaddr) +void symDeleteAddrX(SymTablePtr t, unsigned long long saddr, + unsigned long long eaddr); +void symlDelete(void); +void symFreeTable(SymTablePtr t); +void symInit(void); +SymTablePtr symNewTable(void); + +#endif /* _SKI_LIBSYM_H */ diff --git a/src/libtrace.c b/src/libtrace.c new file mode 100644 index 0000000..7d57b93 --- /dev/null +++ b/src/libtrace.c @@ -0,0 +1,291 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Trace Library Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#include +#if defined __linux__ +# include +#endif /* !defined __linux__ */ +#include +#include +#include +#include +#include /* for MIN */ +#include "std.h" /* remove if get rid of BOOL dependence */ +#include "libtrace.h" +#include "package.h" +#include "types.h" +#include "state.h" +#include "exportui.h" +#include "coreui.h" + +#define HEADER_VERSION 0x10001 +#define TRACE_VERSION 0x10000 + /* Change version numbers because header and trace records changed? + for at least branch prediction. Why are these defines here and + not in libtrace.h? */ + +#define MAXTRCBUF (BUFSIZ * 100) + + +extern FILE *tracef; + +/*##################### Local Variables ####################################*/ + +/* Trace Output */ +static unsigned short out_treclen[MAXTREC]; +static unsigned char out_trcbuf[MAXTRCBUF]; +static unsigned char *outbufp = out_trcbuf; + + +/*##################### Functions and Subroutines ##########################*/ + +/*************************/ +/* Trace Output Routines */ +/*************************/ + +/*------------------------------------------------------------------------- + * trace$OutputFile$Initialize - Open the trace output file, and write the trace + * header structure to it. Some of the fields in the header structure are + * uninitialized. They will be subsequently filled up by the record + * conversion tool. + *------------------------------------------------------------------------*/ +BOOL traceOutInit(char *trfile, char *mode, double virtcycle, char *toolname) +{ + Trace_Header trhdr; + char infobuf[BUFSIZ]; +#ifndef __ia64 + char buf[100]; + struct hostent *hostinfo; + struct in_addr hostaddr; +#endif + char *p = infobuf, *pbuf; + struct timeval t; + struct timezone tz; + unsigned i; + + if (!(tracef = fopen(trfile, mode))) { + cmdErr("Could not open trace output file %s\n", trfile); + return NO; + } + + trhdr.header_version.version = HEADER_VERSION >> 16; + trhdr.header_version.revision = (HEADER_VERSION & 0xFFFF); + trhdr.trace_version.version = TRACE_VERSION >> 16; + trhdr.trace_version.revision = (TRACE_VERSION & 0xFFFF); + + trhdr.trace_rec_offset = 0; + /* Final value is initialized when the rest of the header information + has been initialized, and again by the conversion tool */ + + trhdr.number_trace_rec = 0; + /* Zero to allow piping output. Final value is initialized when file + is closed (do I need another function for this?), and again by the + conversion tool */ + + trhdr.virtual_cycle = virtcycle; + trhdr.compression_ptr = 0; /* No compression */ + + trhdr.valid_header_fields = 0; + /* Final value are initialized by the conversion tool */ + + trhdr.valid_record_fields = IREGION_VALID | SLOTS_VALID | + VCYCLE_INCR_VALID | IOFFSET_VALID | + BUNDLE_VALID | DOFFSET_0_VALID | + DOFFSET_1_VALID | DOFFSET_2_VALID; + + trhdr.valid_record_flags = DISCONTINUITY_VALID; + /* Since the first release is to run on application mode, there is + no need to support CONTEXT_SWITCH_VALID or INTERRUPT_VALID */ + + trhdr.valid_slot_flags = BR_TAKEN_VALID | QPRED_VALID | DREGION_VALID; + trhdr.doffset_usage = DOFFSET_MEMORY | DOFFSET_PFS | + DOFFSET_BRPRED | DOFFSET_ARTGT; + trhdr.res_0_mbz = 0; + + trhdr.Elf64_Ehdr_e_machine = 0; + trhdr.Elf64_Ehdr_e_flags = 0; + /* These two fields are initialized by the conversion tool */ + + if (!gettimeofday(&t, &tz)) + trhdr.sim_time = t.tv_sec; + else + trhdr.sim_time = 0; /* Set to Jan. 1, 1970 */ + +#ifndef __ia64 + if (!gethostname(buf, sizeof buf)) + if ((hostinfo = gethostbyname(buf))) { + hostaddr.s_addr = *((unsigned long *)(hostinfo->h_addr_list[0])); + if ((pbuf = inet_ntoa(hostaddr))) { + trhdr.ip_ptr = sizeof(Trace_Header) + (p - infobuf); + p += sprintf(p, "%s", pbuf) + 1; + } else + trhdr.ip_ptr = 0; /* No IP address */ + } else + trhdr.ip_ptr = 0; /* No IP address */ + else +#endif + trhdr.ip_ptr = 0; /* No IP address */ + + if ((pbuf = getlogin())) { + trhdr.user_ptr = sizeof (Trace_Header) + (p - infobuf); + p += sprintf(p, "%s", pbuf) + 1; + } else + trhdr.user_ptr = 0; /* No user name */ + + if (toolname && strlen(toolname)) { + trhdr.tool_name_ptr = sizeof (Trace_Header) + (p - infobuf); + p += sprintf(p, "%s", toolname) + 1; + } else + trhdr.tool_name_ptr = 0; /* No tool name */ + + trhdr.uarch_ptr = 0; + trhdr.workload_ptr = 0; + trhdr.trace_name_ptr = 0; + trhdr.comments_ptr = 0; + /* These four fields are initialized by the conversion tool */ + + trhdr.trace_rec_offset = sizeof (Trace_Header) + (p - infobuf); + /* We now know where the first trace record will be stored */ + + out_treclen[CANONICAL_TREC] = 0; + /* Not directly generated by the library, but by the conversion tool */ + +#if 0 + out_treclen[STALL_LATENCY_TREC] = 0; + out_treclen[STALL_TREC] = 0; + /* Not directly generated by the library, but by a different + implementation-dependent mechanism */ +#else + out_treclen[STALL_LATENCY_TREC] = sizeof (Stall_Latency_Trec); + out_treclen[STALL_TREC] = sizeof (Stall_Trec); +#endif + + out_treclen[CAPSULE_TREC] = sizeof (Capsule_Trec); + + out_treclen[CONTEXT_SWITCH_TREC] = 0; + out_treclen[INTERRUPTION_TREC] = sizeof (Interruption_Trec); + /* Since the first release is to run on application mode, these two + trace records are not generated */ + + out_treclen[DISCONTINUITY_TREC] = sizeof (Discontinuity_Trec); + out_treclen[VIRT_CYCLE_TREC] = sizeof (Virt_Cycle_Trec); + out_treclen[IOFFSET_TREC] = sizeof (Ioffset_Trec); + out_treclen[BUNDLE_TREC] = sizeof (Bundle_Trec); + out_treclen[BRANCH_TREC] = sizeof (Branch_Trec); + out_treclen[DOFFSET_TREC] = sizeof (Doffset_Trec); + out_treclen[PREV_PFS_TREC] = sizeof (Prev_Pfs_Trec); + out_treclen[BRPRED_TREC] = sizeof (Br_Pred_Trec); + out_treclen[ARTGT_TREC] = sizeof (Ar_Tgt_Trec); + out_treclen[END_OF_TRACE_TREC] = sizeof (End_of_Trace_Trec); + + /* XXX - use memcpy */ + for (i = 0; i < MAXTREC; i++) + trhdr.record_lengths[i] = out_treclen[i]; + + if (!fwrite(&trhdr, sizeof trhdr, 1, tracef)) { + cmdErr("Could not write trace header to file %s\n", trfile); + (void)fclose(tracef); + tracef = NULL; + return NO; + } + + if (p > infobuf && fwrite(infobuf, 1, (unsigned)(p - infobuf), tracef) + < (unsigned)(p - infobuf)) { + cmdErr("Could not write information block to file %s\n", trfile); + (void)fclose(tracef); + tracef = NULL; + return NO; + } + return YES; +} + +/*------------------------------------------------------------------------- + * traceBuffer$Flush - Flush the trace buffer to the output file. Reset + * the trace buffer. + *------------------------------------------------------------------------*/ +int traceFlush(FILE *fp) +{ + unsigned cursz = outbufp - out_trcbuf; + int status = 0; + + if (fwrite(out_trcbuf, 1, cursz, fp) < cursz || fflush(fp)) + status = -1; + outbufp = out_trcbuf; + return status; +} + +/*------------------------------------------------------------------------- + * trace$OutputFile$Close - Close trace output file. + *------------------------------------------------------------------------*/ +int traceOutClose(void) +{ + static End_of_Trace_Trec eot_trec = { END_OF_TRACE_TREC }; + + if (!tracef) + return 0; + /* TBD: update the header's trace record count */ + if (!traceWrite(tracef, &eot_trec) && !traceFlush(tracef)) + return fclose(tracef); + else { + (void)fclose(tracef); + return EOF; + } +} + +/*------------------------------------------------------------------------- + * traceRecord$Write - Send a trace record to the trace output file. The + * library buffers several trace records before actually writing out the + * trace records. + *------------------------------------------------------------------------*/ +int traceWrite(FILE *fp, void *trcrec) +{ + unsigned trclen = out_treclen[*(unsigned char *)trcrec]; + unsigned cursz = outbufp - out_trcbuf; + int status = 0; +#if 1 + unsigned i; + char *p = (char *)trcrec; +#endif + + if ((cursz + trclen) > MAXTRCBUF) { + if (fwrite(out_trcbuf, 1, cursz, fp) < cursz) + status = -1; + outbufp = out_trcbuf; + } +#if 1 +/* Which implementation has better performance? */ + for (i = 0; i < trclen; i++) + *outbufp++ = *p++; +#else + (void)memcpy(outbufp, trcrec, trclen); + outbufp += trclen; +#endif + + return status; +} + diff --git a/src/libtrace.h b/src/libtrace.h new file mode 100644 index 0000000..a3f9af4 --- /dev/null +++ b/src/libtrace.h @@ -0,0 +1,449 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Trace Library Header + * + * Trace format version number: 1.0. + * Trace header version number: 1.1. + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBTRACE_H +#define _SKI_LIBTRACE_H + +/* XXX - should this library have any dependence on types such as BOOL + and ADDR? */ +/* XXX - Add documentation/comments to describe how atomic records get + converted into canonical records */ + +/************************************************************************** + * File header constants + **************************************************************************/ + +/* Defines for valid_header_fields, these are bit masks */ +#define E_MACHINE_VALID 0x1 /* Elf64_Ehdr.e_machine is valid */ +#define E_FLAGS_VALID 0x2 /* Elf64_Ehdr.e_flags is valid */ + +#define MAXTREC 256 /* Record sizes table length */ + +/************************************************************************** + * Record types + **************************************************************************/ + +typedef enum { /* Must be 8-bit constants */ + CANONICAL_TREC = 0x20, + STALL_LATENCY_TREC = 0x21, + STALL_TREC = 0x22, + + CAPSULE_TREC = 0x80, + CONTEXT_SWITCH_TREC = 0x81, + INTERRUPTION_TREC = 0x82, + DISCONTINUITY_TREC = 0x83, + VIRT_CYCLE_TREC = 0x84, + IOFFSET_TREC = 0x85, + BUNDLE_TREC = 0x86, + BRANCH_TREC = 0x87, + DOFFSET_TREC = 0x88, + REGION_CHNG_TREC = 0x89, + PREV_PFS_TREC = 0x8a, + BRPRED_TREC = 0x8b, + ARTGT_TREC = 0x8c, + + END_OF_TRACE_TREC = 0xf0 +} Record_Type; + + +/************************************************************************** + * Canonical record constants + **************************************************************************/ + +/* Defines for valid_record_fields, these are bit masks */ +#define IREGION_VALID 0x1 /* iregion valid */ +#define SLOTS_VALID 0x2 /* slot[0-2] valid */ +#define VCYCLE_INCR_VALID 0x4 /* virtual_cycle_incr valid */ +#define IOFFSET_VALID 0x8 /* ioffset valid */ +#define BUNDLE_VALID 0x10 /* bundle[0-3] valid */ +#define DOFFSET_0_VALID 0x20 /* doffset[0] valid */ +#define DOFFSET_1_VALID 0x40 /* doffset[1] valid */ +#define DOFFSET_2_VALID 0x80 /* doffset[2] valid */ + +/* Defines for valid_record_flags, these are bit masks */ +#define CONTEXT_SWITCH_VALID 0x4 /* The context switch flag is valid */ +#define DISCONTINUITY_VALID 0x2 /* The discontinuity flag is valid */ +#define INTERRUPT_VALID 0x1 /* The interrupt flag is valid */ + +/* Defines for valid_slot_flags, these are bit masks */ +#define BR_TAKEN_VALID 0x2000000 /* br_taken is valid */ +#define QPRED_VALID 0x1000000 /* qpred is valid */ +#define DREGION_VALID 0x0000001 /* dregion is valid */ + +/* Defines for doffset_usage */ +#define DOFFSET_MEMORY (1<<0) /* doffset & dregion for memory op + addresses */ +#define DOFFSET_PFS (1<<1) /* return branches (and rfi?) save the + Previous Function State (AR[64]) + in the doffset field */ +#define DOFFSET_BRPRED (1<<2) /* mov-to-br and brp save the branch + register in the doffset field */ +#define DOFFSET_ARTGT (1<<3) /* mov-to-ar save the target value + in the doffset field */ + + +/************************************************************************** + * Atomic record constants + **************************************************************************/ + +/* Doffset_Trec enums */ + +typedef enum { /* Must be 8-bit constants */ + DOFF_TRC_READ = 0, + DOFF_TRC_WRITE = 1, + DOFF_TRC_SEMAPHORE = 2, + DOFF_TRC_LFETCH = 3, + DOFF_TRC_RSEREAD = 4, + DOFF_TRC_RSEWRITE = 5, + DOFF_TRC_FLUSH = 6, + DOFF_TRC_TY_UNKNOWN = 0xff +} Doff_Trc_Type; + +typedef enum { /* Must be 8-bit constants */ + DOFF_TRC_1_BYTE = 1, + DOFF_TRC_2_BYTES = 2, + DOFF_TRC_4_BYTES = 4, + DOFF_TRC_8_BYTES = 8, + DOFF_TRC_10_BYTES = 10, + DOFF_TRC_16_BYTES = 16, + DOFF_TRC_SZ_UNKNOWN = 0xff +} Doff_Trc_Size; + +/* Branch_Trec enums and constants */ + +typedef enum { /* Must be 8-bit constants */ + BR_TRC_TYPE_UNKNOWN = 0xff +} Br_Trc_Type; + +typedef enum { /* Must be 8-bit constants */ + BR_TRC_HINT_UNKNOWN = 0xff +} Br_Trc_Hint; + +#define BR_TRC_BREG_UNKNOWN 0x7f /* Must be a 7-bit constant */ + +/************************************************************************** + * Auxiliary structs + **************************************************************************/ + +typedef struct { + unsigned short version; /* major version number */ + unsigned short revision; /* minor revision number */ +} Version_Type; + +/************************************************************************** + * Trace file header + **************************************************************************/ + +typedef struct { + Version_Type header_version; /* version of this header */ + Version_Type trace_version; /* version of the trace records */ + unsigned trace_rec_offset; /* pointer to 1st trace record */ + unsigned number_trace_rec; /* trace records in package */ + + double virtual_cycle; /* virtual cycle of 1st trace rec */ + unsigned compression_ptr; /* pointer to compression struct */ + + + unsigned valid_header_fields; /* which header fields are valid */ + unsigned valid_record_fields; /* which record fields are valid */ + unsigned valid_record_flags; /* which record flags are valid */ + unsigned valid_slot_flags; /* which slot flags are valid */ + unsigned doffset_usage; /* how the doffset field is used */ + + unsigned short res_0_mbz; /* reserved, should be zero */ + + unsigned short Elf64_Ehdr_e_machine; /* identifies the target architecture*/ + unsigned Elf64_Ehdr_e_flags; /* processor specific flag */ + + unsigned sim_time; /* gettimeofday time trace was made */ + unsigned ip_ptr; /* pointer to host machine's ip address */ + unsigned user_ptr; /* pointer to user name */ + unsigned tool_name_ptr; /* pointer to name of tool & revision level*/ + unsigned uarch_ptr; /* pointer to assumed implementation */ + unsigned workload_ptr; /* pointer to name of workload description */ + unsigned trace_name_ptr; /* pointer to trace name */ + unsigned comments_ptr; /* pointer to comments about trace */ + + unsigned short record_lengths[MAXTREC]; /* length of each record type */ +} Trace_Header; + +/************************************************************************** + * Trace records + **************************************************************************/ + +/* Slot struct for canonical record */ +typedef struct { /* status bits about the instruction */ + unsigned res1_mbz : 5; /* reserved, must be zero */ + unsigned not_valid : 1; /* this is not a valid instruction */ + unsigned br_taken : 1; /* this instruction is a taken branch */ + unsigned pred : 1; /* qualifying pred of the instruction */ + unsigned dregion : 24; /* region bits for data reference */ +} Trace_Slot; + +/* Canonical record */ +typedef struct { + Record_Type record_type : 8; /* CANONICAL_TREC */ + unsigned virtual_cycle_incr : 24; /* virt cycles since last record */ + + unsigned processor : 8; /* processor number */ + unsigned iregion : 24; /* region bits of instruction address */ + + unsigned long long ioffset; /* region offset bits of instruction + address */ + + unsigned bundle[4]; /* instruction bundle */ + + unsigned res2_mbz : 29; /* reserved, must be zero */ + unsigned context_switch : 1; /* 1 if this is the first instruction + of a new context */ + unsigned discontinuity : 1; /* 1 if this is the first instruction + after a discontinuity in trace */ + unsigned interrupt : 1; /* 1 if instruction is the first + executed after an interrupt */ + + Trace_Slot slot[3]; /* information on each instruction in + bundle, in sequential order */ + + unsigned long long doffset[3]; /* region offset address bits for + data reference */ +} Canonical_Trec; + +/* Snow-specific records */ + +typedef struct { + Record_Type record_type : 8; /* STALL_TREC */ + unsigned res0_mbz : 24; /* reserved, must be 0 */ + unsigned stall_vec[3]; /* stall vector for each slot */ +} Stall_Trec; + +typedef struct { + Record_Type record_type : 8; /* STALL_LATENCY_TREC */ + unsigned stall_event : 5; /* bit position (big endian) of + associated stall */ + unsigned slot : 3; /* which slot */ + unsigned res0_mbz : 4; /* unused, must be 0 */ + unsigned latency : 12; /* the cycle latency */ +} Stall_Latency_Trec; + + +/* Atomic records */ + +typedef struct { + Record_Type record_type : 8; /* CAPSULE_TREC */ + unsigned char proc; + unsigned char br_taken : 1; + unsigned char pred : 1; + unsigned char rv : 6; + unsigned char slot; +} Capsule_Trec; + +typedef struct { + Record_Type record_type : 8; /* CONTEXT_SWITCH_TREC */ + unsigned char rv[3]; +} Context_Switch_Trec; + +typedef struct { + Record_Type record_type : 8; /* INTERRUPTION_TREC */ + unsigned char rv[3]; + unsigned long long psr_; + unsigned long long ipsr_; + unsigned long long isr_; + unsigned long long iip_; + unsigned long long iipa_; +} Interruption_Trec; + +typedef struct { + Record_Type record_type : 8; /* DISCONTINUITY_TREC */ + unsigned char rv[3]; +} Discontinuity_Trec; + +typedef struct { /* If not present, assume an increment of 1 */ + Record_Type record_type : 8; /* VIRT_CYCLE_TREC */ + unsigned char rv[3]; + unsigned int cycle_incr; +} Virt_Cycle_Trec; + +typedef struct { /* Generated only if ioffset is not sequential*/ + Record_Type record_type : 8; /* IOFFSET_TREC */ + unsigned char rv[7]; + unsigned long long ioffset; +} Ioffset_Trec; + +typedef struct { + Record_Type record_type : 8; /* BUNDLE_TREC */ + unsigned char rv[3]; + unsigned int bundle[4]; +} Bundle_Trec; + +typedef struct { + Record_Type record_type : 8; /* BRANCH_TREC */ + Br_Trc_Type br_type : 8; + Br_Trc_Hint br_hint : 8; + unsigned char br_reg : 7; + unsigned char taken : 1; + unsigned char rv[4]; + unsigned long long target_addr; +} Branch_Trec; + +typedef struct { + Record_Type record_type : 8; /* DOFFSET_TREC */ + Doff_Trc_Type type : 8; + Doff_Trc_Size size : 8; + unsigned char rv[5]; + unsigned long long doffset; +} Doffset_Trec; + +typedef struct { /* Generated only if region changes */ + Record_Type record_type : 8; /* REGION_CHNG_TREC */ + unsigned char reg_no; + unsigned char rv[6]; + unsigned long long region_id; +} Region_Chng_Trec; + +typedef struct { + Record_Type record_type : 8; /* PREV_PFS_TREC */ + unsigned char rv[7]; + unsigned long long prev_pfs; +} Prev_Pfs_Trec; + +typedef struct { + Record_Type record_type : 8; /* BRPRED_TREC */ + unsigned char rv[7]; + unsigned long long br_pred; +} Br_Pred_Trec; + +typedef struct { + Record_Type record_type : 8; /* ARTGT_TREC */ + unsigned char rv[7]; + unsigned long long ar_tgt; +} Ar_Tgt_Trec; + +/* End of Trace record */ + +typedef struct { + Record_Type record_type : 8; /* END_OF_TRACE_TREC */ + unsigned char rv[3]; +} End_of_Trace_Trec; + + +/************************************************************************** + * External functions + **************************************************************************/ + +BOOL traceOutInit(char *trfile, char *mode, double virtcycle, char *toolname); +/* + This function opens the trace output file, and writes the trace header + structure to it. Some of the fields in the header structure are + uninitialized. They will be subsequently filled up by the record + conversion tool. + + trfile Trace output file. + mode Create ("w") vs. append to ("a") trace file. + virtcycle Initial virtual cycle. The fractional part represents + MP-ordering. + toolname Generating tool name and version. + (retval) Success/Failure + */ + + +int traceInInit(FILE *trcf, char errmsg[], unsigned long long *firstip); +/* + This function reads the trace input file and performs header and trace + version number consistency. The trace file can be prefixed with a + package header which if present and valid is skipped. The routine + passes the initial ip to the caller. + + trcf Trace input file pointer. + errmsg Buffer for any error message. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + + +int traceOutClose(void); +/* + This function closes the trace output file. The function also does + whatever action is necessary before closing the file (e.g., writing + the End_of_Trace trace record, and writing the trace record type). + + (retval) Status indication: 0 (pass) or -1 (fail). + */ + + +int traceWrite(FILE *fp, void *trcrec); +/* + This function conceptually sends a trace record to the trace output file + (actually the record is buffered before writing several records out). + The trace file format is the same as the the trace records defined in + this header. + + fp Trace file pointer. + trcrec Pointer to the trace record to be written. The pointer points + to the record type. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + +int traceRead(unsigned trcfno, unsigned char *trec); +/* + This function returns the trace record at the current location in the + trace input buffer. The file pointer is not advanced (see traceAdvance()). + + fp Trace input file pointer. + trec Pointer to a buffer where the trace record is read. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + + +int traceAdvance(unsigned trcfno); +/* + This function advances the trace input file pointer to the next trace + record. + + fp Trace input file pointer. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + + +int traceLookAhead(FILE *fp, unsigned char *trec); +/* + This function reads the trace record following the one at the current + position. The file pointer is not advanced. + + fp Trace input file pointer. + trec Pointer to a buffer where the trace record is read. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + + +int traceBacktrack(unsigned trcfno, int n); +/* + This function backtracks the trace input file pointer by a given number + of trace records. + + n Number of trace records to backtrack. + (retval) Status indication: 0 (pass) or -1 (fail). + */ + +int traceFlush(FILE *fp); + +#endif /* _SKI_LIBTRACE_H */ diff --git a/src/libui.h b/src/libui.h new file mode 100644 index 0000000..10f83c1 --- /dev/null +++ b/src/libui.h @@ -0,0 +1,31 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator User Interface Header File + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LIBUI_H +#define _SKI_LIBUI_H + +#include /* for ssize_t */ + +ssize_t sysWrite(int fd, void *buf, size_t len); +BOOL elfSymLoad(const char *file_name); +char *getSimID(void); + +#endif /* _SKI_LIBUI_H */ diff --git a/src/linux/dwarf-linux.c b/src/linux/dwarf-linux.c new file mode 100644 index 0000000..1941a1f --- /dev/null +++ b/src/linux/dwarf-linux.c @@ -0,0 +1,571 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "ski.h" +#define NPROC 1 +#include "program.h" +#include "libsym.h" +#include "libsrs.h" +#include "libcore.h" +#include "exportui.h" +#include "coreui.h" + +#include +#include +#include +#include + +char *src_root; /* hold the prefix for all filenames */ + +#define FNAME_LEN 54 +#define EMPTY_FILENAME "???" +#define NOT_A_LINE 0xffffffff + +#if defined HAVE_DWARF_SUPPORT + +#include "bfd.h" + +#include + +#undef DEBUG_DWARF /* define this for debug printf into a file */ + +extern PrgwMode prgwm; + +ADDR text_base, unwind_base; + + +struct line_info + { + bfd_vma address; + bfd_vma limit; + const char *filename; + const char *function; + unsigned int line; /* first line number */ + unsigned int num_lines; /* number of lines to display */ + int valid; /* is this info valid? */ + }; + +static int bfd_init_done; +static int found; /* used when iterating over sections */ + +static asymbol **syms; /* our local symbol table */ +static int src_root_len; /* how long is the prefix ? */ +static bfd *cur_bfd; /* holds the BFD state for a given executable */ +static struct line_info cache; + +#ifdef DEBUG_DWARF +static FILE *dump_fd; +#endif + +/* + * Bail out with an error message. We cannot really use cmdwPrint() + * because it may not be initialized before we get an error + */ +void +fatal_error (char *msg) +{ + fprintf (stderr, "simulator-dwarf: %s", msg); + exit (1); +} + +/* + * This function is called automatically by the BDF library + * when looking for a match + * + * The last "opaque" argument contains the address we're looking for + */ +void +find_in_section (bfd * bfd, asection * sect, PTR obj) +{ + struct line_info *info = obj; + unsigned int last_line = 0, line; + struct line_info first; + bfd_vma vma, offset, i; + const char *filename; + const char *function; + bfd_size_type size; + + /* + * We want to stop at the first match, not the last one, if any + */ + if (info->valid) + return; + + /* + * we're looking at loadable code only + */ + if ((bfd_get_section_flags (bfd, sect) & (SEC_CODE | SEC_ALLOC)) == 0) + return; + + /* + * check if address belongs to this section + */ + vma = bfd_get_section_vma (bfd, sect); + size = bfd_section_size (bfd, sect); + + offset = info->address - vma; + if (offset >= size) + return; + + /* Check each instruction in the bundle and determine the first and + last source line. If the same bundle contains source code from + multiple files or functions, we're in trouble and return the info + for the first file/function only. */ + first.valid = 0; + for (i = 0; i <= 8; i += 4, offset += 4) + { + found = bfd_find_nearest_line (bfd, sect, syms, offset, + &filename, &function, &line); +#ifdef DEBUG_DWARF + fprintf (dump_fd, + "%llx -> sect=%s found=%d filename=%s function=%s line=%d\n", + vma + offset, sect->name, found, filename ? filename : "", + function ? function : "", line); +#endif + if (found) + { + if (!first.valid) + { + /* stash away line info for textually first instruction: */ + first.valid = 1; + first.address = info->address; + first.filename = filename; + first.function = function; + first.line = line; + first.num_lines = 1; + first.limit = sect->_cooked_size; + last_line = line; + } + if (line > last_line + && filename == first.filename && function == first.function) + last_line = line; + } + } + + if (!first.valid) + return; + + /* + * Determine the line number of the next instruction in the code. + * If that instruction comes from the same file and function, then + * we use it to determine how many lines to display. + */ + while (offset < first.limit) + { + offset += 4; + if ((offset & 0xf) > 8) + offset += 16 - (offset & 0xf); /* switch to next bundle */ + found = bfd_find_nearest_line (bfd, sect, syms, offset, + &filename, &function, &line); + + if (!found || filename != first.filename || function != first.function) + break; + + if (line != last_line) + { + if (line > last_line) + { +#ifdef DEBUG_DWARF + fprintf (dump_fd, "line range = %u..%u\n", first.line, line - 1); +#endif + first.num_lines = line - first.line; + } + break; + } + } + *info = first; +} + +/* + * Extremely dumb/simple line_load routine. We don't cache anything and rely + * on fgets() to figure out the \n + */ +char * +read_source_lines (struct line_info *info, unsigned *count) +{ + static char *line = NULL; + static size_t line_size = 0; + static char *src_lines = 0; + static size_t size = 0; + unsigned int line_num = 0; + const char *filename; + ssize_t line_len = 0; + size_t off; + FILE *fp; + int i; + + if (!info->filename) + return ""; + +#ifdef DEBUG_DWARF + fprintf (dump_fd, "displaying %s:%u-%u\n", + info->filename, info->line, info->line + info->num_lines - 1); +#endif + + filename = info->filename; + if (src_root_len > 0) + { + size_t filename_len = strlen (info->filename); + char *buf; + + /* append filename to prefix and use full path as filename: */ + + buf = alloca (src_root_len + filename_len + 1); + if (!buf) + fatal_error ("Out of memory"); + + memcpy (buf, src_root, src_root_len); + memcpy (buf + src_root_len, info->filename, filename_len + 1); + filename = buf; + } + fp = fopen (filename, "r"); + if (fp == NULL) + return ""; + + while (line_num < info->line + && (line_len = getline (&line, &line_size, fp)) >= 0) + ++line_num; + + if (line_num != info->line) + { + /* + * Oops, can't find it! The file may have changed in between: + * please don't do that! + */ + cmdwPrint ("WARNING: Can't find line %d in %s\n", line, filename); + return ""; + } + + off = 0; + for (i = 0; i < info->num_lines; ++i) + { + if (*count >= 3) + { + strcpy (line, "...\n"); + line_len = 4; + i = info->num_lines; + } + if (off + line_len + 4 > size) + { + /* increase size of src_lines */ + size += 1024; + src_lines = realloc (src_lines, size); + if (!src_lines) + fatal_error ("Out of memory"); + } + sprintf (src_lines + off, "%03u ", line_num + i); + memcpy (src_lines + off + 4, line, line_len + 1); + off += line_len + 4; + ++*count; + line_len = getline (&line, &line_size, fp); + if (line_len < 0) + break; + } + fclose (fp); + return src_lines; +} + +static int +get_source_info (ADDR addr, struct line_info *info) +{ + if (cur_bfd == NULL) + return -1; + + if (cache.valid && (cache.address >> 4) == (addr >> 4)) + { + *info = cache; + return 0; + } + + memset (info, 0, sizeof (*info)); + info->address = addr; + bfd_map_over_sections (cur_bfd, find_in_section, info); + + if (info->valid) + { + cache = *info; + return 0; + } + return -1; +} + +/* + * This routine returns the source lines that correspond to the bundle + * of instructions at address OFS. The source lines are returned in a + * single string, separated by a newline character. This function is + * NOT reentrant as the source line string is stored in a single + * buffer. + * + * Possibilities to improve: + * - The search algorithms are linear. The performance of these + * algorithms can be improved by making them binary searches. + * + * - The line table is always accessed from the DWARF data structures. + * The performance can be improved by caching the line table. + */ +char * +getSrcLines (ADDR ofs, unsigned *count) +{ + static struct line_info prev; + struct line_info info, disp; + int ret; + + *count = 0; + + if (prgwm == ASM) + return ""; + + cmdwSetStatus ("Reading debug info..."); + ret = get_source_info (ofs, &info); + cmdwSetStatus (""); + + if (ret < 0) + return ""; + + disp = info; + if (prev.valid && ofs > prev.address) + { + /* + * It's okay to check for filenames as pointers because the + * variable point to the same data structure in BFD if it's the + * same file. Otherwise we'd have to use strcmp. + */ + if (info.filename == prev.filename) + { + if (info.line + info.num_lines <= prev.line + prev.num_lines) + return ""; + + /* compute the new lines of source code: */ + disp.line = MAX (prev.line + prev.num_lines, info.line); + disp.num_lines = info.line + info.num_lines - disp.line; + } + } + prev = info; + return read_source_lines (&disp, count); +} + +/* + * Get the filename for the top level bar of the display + * + * must match whatever is in cur.c prgwUpdateCur() for buf + * looks like it cannot really be different from 80 + * that's not so much related to the size of the screen + * even though cur.c:prgwUpdateCur() has been adjusted to fit + * the minimal screen size allowed. + */ +char * +getSrcName (ADDR ofs) +{ + static char fname[FNAME_LEN]; + struct line_info info; + int l, offs; + + if (get_source_info (ofs, &info) < 0 || !info.filename) + { + strcpy (fname, EMPTY_FILENAME); + return fname; + } + + /* + * In case the name is too long to fit, we cut the least significant + * part of it (ie closer from the root) + */ + l = src_root_len + strlen (info.filename); + if (l > FNAME_LEN - 1) + { + offs = l - (FNAME_LEN - 1 - 3); + l = FNAME_LEN - 1 - 3; + strcpy (fname + 3, info.filename + offs); + fname[0] = fname[1] = fname[2] = '.'; + } + else + { + if (src_root_len > 0) + strncpy (fname, src_root, src_root_len); + strcpy (fname + src_root_len, info.filename); + } + return fname; +} + +/* + * inspired by slurp_symtab from addr2line/objdump + */ +static void +load_symbols (bfd * abfd) +{ + long storage; + long symcount; + + if ((bfd_get_file_flags (abfd) & HAS_SYMS) == 0) + return; + + storage = bfd_get_symtab_upper_bound (abfd); + if (storage < 0) + fatal_error ("can't get sym table size\n"); + syms = (asymbol **) malloc (storage); + if (!syms) + fatal_error ("malloc\n"); + + symcount = bfd_canonicalize_symtab (abfd, syms); + if (symcount < 0) + fatal_error ("canonicalize\n"); +#ifdef DEBUG_DWARF + cmdwPrint ("symcount=%d\n", symcount); +#endif +} + +#ifdef DEBUG_DWARF +/* + * Init DWARF tables for the file referenced by file descriptor FD. + */ +static void +close_dump_fd (void) +{ + fclose (dump_fd); +} +#endif + +static void +do_bfd_init (void) +{ + + /* + * sanity check, make sure we're using the right bfd.h + * can't use progExit() because subsystem not initialized yet + */ + if (sizeof (bfd_vma) < sizeof (ADDR)) + { + fprintf (stderr, "invalid bfd_vma size: check your bfd.h\n"); + exit (1); + } + + bfd_init (); + + if (!bfd_set_default_target ("elf64-ia64-little")) + fatal_error ("set_default_target"); + + bfd_init_done = 1; + +#ifdef DEBUG_DWARF + dump_fd = fopen ("ski.log", "w"); + atexit (close_dump_fd); +#endif + /* + * where to add suffix, if any (avoid sprintf in line_load) + */ + src_root_len = 0; + if (src_root) + src_root_len = strlen (src_root); +} + +/* + * This function is called when a file is loaded to establish a BFD + * context for it. + */ +void +initDwUnitTbl (int fd) +{ + char **matching; + bfd *bfd; + int fd2; + + /* + * that's the one time initialization code for BFD + */ + if (bfd_init_done == 0) + do_bfd_init (); + + /* + * we need to be isolated from the rest of the simulator + * and we need to rewind to beginning of file to read headers + * + */ + fd2 = dup (fd); + if (fd2 == -1) + fatal_error ("dup failed\n"); + lseek (fd2, 0, SEEK_SET); + + /* + * if we're loading a subsequent file (like for the kernel) + * cleanup previous state before anything else + * + * Note that bfd_close() takes care of closing the file as well + * (the one we dupped from fd) + */ + if (cur_bfd) + { + bfd_close (cur_bfd); + cur_bfd = NULL; + + memset (&cache, 0, sizeof (cache)); + + if (syms) + free (syms); + syms = NULL; + } + + /* + * given that we have fdopen() the first argument + * is not really used. That's good because this way, we don't + * need to change the API of this function. + */ + bfd = bfd_fdopenr ("", "default", fd2); + if (bfd == NULL) + fatal_error ("fdopenr\n"); + + if (bfd_check_format (bfd, bfd_archive)) + fatal_error ("check_format"); + + if (!bfd_check_format_matches (bfd, bfd_object, &matching)) + fatal_error ("check_format_matches"); + + load_symbols (bfd); + + cur_bfd = bfd; +} + +#else /* !defined HAVE_DWARF_SUPPORT */ + +char * +getSrcLines (ADDR ofs, unsigned *count) +{ + *count = 0; + return ""; +} + +char * +getSrcName (ADDR ofs) +{ + static char fname[FNAME_LEN]; + strcpy (fname, EMPTY_FILENAME); + return fname; +} + +void +initDwUnitTbl (int fd) +{ +} + +#endif /* !defined HAVE_DWARF_SUPPORT */ diff --git a/src/linux/osload-linux.c b/src/linux/osload-linux.c new file mode 100644 index 0000000..d35bf44 --- /dev/null +++ b/src/linux/osload-linux.c @@ -0,0 +1,205 @@ +/* + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include + +#include "std.h" +#include "types.h" +#include "osload.h" +#include "state.h" +#include "libcore.h" +#include "sim.h" +#include "memory.h" +#include "fields.h" + +extern char **environ; + +#define BSP64_ADDR 0x9FFFFFFF7F600000ULL + +int +os_elf32_abi(char *ident, Elf32_Ehdr *ehdr, int set) +{ + /* No ILP32. */ + return (0); +} + +int +os_elf64_abi(char *ident, Elf64_Ehdr *ehdr, int set) +{ + extern BOOL force_user, force_system; + int region, userland; + + if (ident[EI_OSABI] != ELFOSABI_SYSV) + return (0); + + region = ehdr->e_entry >> 61; + userland = !force_system && + (force_user || (ehdr->e_type == ET_DYN || region > 0)); + if (set) { + unixABI = userland; + } else { + if (unixABI != userland) + return (0); + } + + return (1); +} + +ADDR +os_rtld32_text(Elf32_Phdr *phdr) +{ + /* No ILP32. */ + return (0); +} + +ADDR +os_rtld32_data(Elf32_Phdr *phdr) +{ + /* No ILP32. */ + return (0); +} + +ADDR +os_rtld64_text(Elf64_Phdr *phdr) +{ + return (0x2000000000000000ULL); +} + +ADDR +os_rtld64_data(Elf64_Phdr *phdr) +{ + return (os_rtld64_text(phdr) + phdr->p_vaddr); +} + +/* On Linux, the stack is layed out like this: + + +------------+ + | strings | + +------------+ + | AUX table | + +------------+ + | NULL | + +------------+ + | env[N] | + +------------+ + / / + / / + +------------+ + | NULL | + +------------+ + | arg[N] | + +------------+ + / / + / / + +------------+ + | arg[0] | + +------------+ + | argc | + +------------+ +*/ + +#define NEW_AUX_ENT(name,value) \ + do { \ + aux_sz += 16; \ + pmemLookup_p(page_base(str_p - aux_sz)); \ + memMWrt(str_p - aux_sz + 0, 8, (name)); \ + memMWrt(str_p - aux_sz + 8, 8, (value)); \ + } while (0) + +#ifndef AT_CLKTCK +#define AT_CLKTCK 17 /* XXX fix me when v2.4 linux is wide-spread */ +#endif + +int +os_setup_process(const char *file_name, int s_argc, char *s_argv[], + struct os_proc *proc) +{ + ADDR arg_p, sp, str_p; + size_t argv_sz, aux_sz, env_sz; + int i, n_env; + + sp = 0xA000000000000000ULL; + setMaxSP(sp); + + for (argv_sz = i = 0; i < s_argc; i++) + argv_sz += strlen(s_argv[i]) + 1; + for (env_sz = i = 0; environ[i]; i++) + env_sz += strlen(environ[i]) + 1; + n_env = i; + + str_p = (sp - (argv_sz + env_sz)) & ~(ADDR)0xf; + if ((s_argc + n_env + 3) & 1) + str_p -= 8; + aux_sz = 0; + + NEW_AUX_ENT(AT_NULL, 0); + NEW_AUX_ENT(AT_HWCAP, 0); + NEW_AUX_ENT(AT_PAGESZ, page_size); + NEW_AUX_ENT(AT_CLKTCK, sysconf(_SC_CLK_TCK)); + if (proc->has_rtld) { + NEW_AUX_ENT(AT_PHDR, proc->phdr_addr); + NEW_AUX_ENT(AT_PHENT, sizeof (Elf64_Phdr)); + NEW_AUX_ENT(AT_PHNUM, proc->phdr_count); + NEW_AUX_ENT(AT_BASE, proc->rtld_base); + NEW_AUX_ENT(AT_FLAGS, 0); + NEW_AUX_ENT(AT_ENTRY, proc->proc_entry); + NEW_AUX_ENT(AT_UID, getuid()); + NEW_AUX_ENT(AT_EUID, geteuid()); + NEW_AUX_ENT(AT_GID, getgid()); + NEW_AUX_ENT(AT_EGID, getegid()); + } + + arg_p = (str_p - aux_sz - ((s_argc + n_env + 3) * 8)); + grSet(0, SP_ID, arg_p - 16); /* leave 16 byte scratch space */ + pmemLookup_p(page_base(arg_p)); + memMWrt(arg_p, 8, s_argc); + arg_p += 8; + for (i = 0; i < s_argc; i++) { + size_t size = strlen(s_argv[i]) + 1; + pmemLookup_p(page_base(str_p)); + pmemLookup_p(page_base(str_p + size)); + pmemLookup_p(page_base(arg_p)); + memBBWrt(str_p, (BYTE *)s_argv[i], size); + memMWrt(arg_p, 8, str_p); + str_p += size; + arg_p += 8; + } + memMWrt(arg_p, 8, 0); + arg_p += 8; + + for (i = 0; environ[i]; i++) { + pmemLookup_p(page_base(str_p)); + pmemLookup_p(page_base(arg_p)); + memBBWrt(str_p, (BYTE *)environ[i], + strlen(environ[i]) + 1); + memMWrt(arg_p, 8, str_p); + str_p += strlen(environ[i]) + 1; + arg_p += 8; + } + memMWrt(arg_p, 8, 0); + + /* Backing Store */ + (void)arSet(curPid, BSP_ID, BSP64_ADDR); + (void)arSet(curPid, BSPST_ID, BSP64_ADDR); + + return (0); +} diff --git a/src/linux/syscall-linux.c b/src/linux/syscall-linux.c new file mode 100644 index 0000000..0c16494 --- /dev/null +++ b/src/linux/syscall-linux.c @@ -0,0 +1,4987 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if defined(__hpux) +#include +#endif + +#undef B0 /* termio.h on Linux defines this */ + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "ssc.h" +#include "sim.h" +#include "memory.h" +#include "libui.h" +#include "float.h" +#include "hpux/syscall-hpux.h" +#include "syscall-linux.h" +#include "exportui.h" +#include "coreui.h" +#include "libsrs.h" +#include "libcore.h" +#include "combfns.h" +#include "interruption.h" +#include "netdev.h" +#include "os_support.h" + +#if defined NEW_MP +# error "not supported" +#endif /* defined NEW_MP */ + +#define MAXIRPT 30 /* size of interrupts array */ +#define FDMAX 1024 /* file descriptors array size */ + +#define ADDPTR(addr) (lp64 \ + ? addr \ + : (BitfX(addr,32,32) | BitfX(addr,32,2) << 61)) + +#define LIA64_IOC_NONE 0U +#define LIA64_IOC_READ 1U +#define LIA64_IOC_WRITE 2U +#define LIA64_IOC_NRBITS 8 +#define LIA64_IOC_TYPEBITS 8 +#define LIA64_IOC_SIZEBITS 14 +#define LIA64_IOC_DIRBITS 2 +#define LIA64_IOC_NRMASK ((1 << LIA64_IOC_NRBITS)-1) +#define LIA64_IOC_TYPEMASK ((1 << LIA64_IOC_TYPEBITS)-1) +#define LIA64_IOC_SIZEMASK ((1 << LIA64_IOC_SIZEBITS)-1) +#define LIA64_IOC_DIRMASK ((1 << LIA64_IOC_DIRBITS)-1) +#define LIA64_IOC_NRSHIFT 0 +#define LIA64_IOC_TYPESHIFT (LIA64_IOC_NRSHIFT+LIA64_IOC_NRBITS) +#define LIA64_IOC_SIZESHIFT (LIA64_IOC_TYPESHIFT+LIA64_IOC_TYPEBITS) +#define LIA64_IOC_DIRSHIFT (LIA64_IOC_SIZESHIFT+LIA64_IOC_SIZEBITS) +/* used to decode them.. */ +#define LIA64_IOC_DIR(nr) \ + (((nr) >> LIA64_IOC_DIRSHIFT) & LIA64_IOC_DIRMASK) +#define LIA64_IOC_TYPE(nr) \ + (((nr) >> LIA64_IOC_TYPESHIFT) & LIA64_IOC_TYPEMASK) +#define LIA64_IOC_NR(nr) \ + (((nr) >> LIA64_IOC_NRSHIFT) & LIA64_IOC_NRMASK) +#define LIA64_IOC_SIZE(nr) \ + (((nr) >> LIA64_IOC_SIZESHIFT) & LIA64_IOC_SIZEMASK) +#define LIA64_IOC_IN (LIA64_IOC_WRITE << LIA64_IOC_DIRSHIFT) +#define LIA64_IOC_OUT (LIA64_IOC_READ << LIA64_IOC_DIRSHIFT) +#define LIA64_IOC_INOUT \ + ((LIA64_IOC_WRITE|LIA64_IOC_READ) << LIA64_IOC_DIRSHIFT) +#define LIA64_IOCSIZE_MASK (LIA64_IOC_SIZEMASK << LIA64_IOC_SIZESHIFT) +#define LIA64_IOCSIZE_SHIFT (LIA64_IOC_SIZESHIFT) + +#define LIA64_F_GETLK 5 +#define LIA64_F_SETLK 6 +#define LIA64_F_SETLKW 7 + +#define LIA64_RLIMIT_CPU 0 /* CPU time in ms */ +#define LIA64_RLIMIT_FSIZE 1 /* Maximum filesize */ +#define LIA64_RLIMIT_DATA 2 /* max data size */ +#define LIA64_RLIMIT_STACK 3 /* max stack size */ +#define LIA64_RLIMIT_CORE 4 /* max core file size */ +#define LIA64_RLIMIT_RSS 5 /* max resident set size */ +#define LIA64_RLIMIT_NPROC 6 /* max number of processes */ +#define LIA64_RLIMIT_NOFILE 7 /* max number of open files */ +#define LIA64_RLIMIT_MEMLOCK 8 /* max locked-in memory */ +#define LIA64_RLIMIT_AS 9 /* address space limit */ +#define LINUX_RLIM_NLIMITS 10 + +#define SA_ONSTACK 0x08000000 + +#define LIA64_FPSR_TRAP_VD (1 << 0) /* invalid op trap disabled */ +#define LIA64_FPSR_TRAP_DD (1 << 1) /* denormal trap disabled */ +#define LIA64_FPSR_TRAP_ZD (1 << 2) /* zero-divide trap disabled */ +#define LIA64_FPSR_TRAP_OD (1 << 3) /* overflow trap disabled */ +#define LIA64_FPSR_TRAP_UD (1 << 4) /* underflow trap disabled */ +#define LIA64_FPSR_TRAP_ID (1 << 5) /* inexact trap disabled */ +#define LIA64_FPSR_S0(x) ((x) << 6) +#define LIA64_FPSR_S1(x) ((DWORD) (x) << 19) +#define LIA64_FPSR_S2(x) ((DWORD) (x) << 32) +#define LIA64_FPSR_S3(x) ((DWORD) (x) << 45) + +/* floating-point status field: */ +#define FPSF_FTZ (1 << 0) /* flush-to-zero */ +#define FPSF_WRE (1 << 1) /* widest-range exponent */ +#define FPSF_PC(x) (((x) & 0x3) << 2) /* precision control */ +#define FPSF_RC(x) (((x) & 0x3) << 4) /* rounding control */ +#define FPSF_TD (1 << 6) /* trap disabled */ + +/* floating-pint rounding control: */ +#define FPRC_NEAREST 0x0 +#define FPRC_NEGINF 0x1 +#define FPRC_POSINF 0x2 +#define FPRC_TRUNC 0x3 + +#define FPSF_DEFAULT (FPSF_PC (0x3) | FPSF_RC (FPRC_NEAREST)) + +/* This default value is the same as HP-UX uses. Don't change it + without a very good reason. */ +#define LIA64_FPSR_DEFAULT \ + ( LIA64_FPSR_TRAP_VD | LIA64_FPSR_TRAP_DD | LIA64_FPSR_TRAP_ZD \ + | LIA64_FPSR_TRAP_OD | LIA64_FPSR_TRAP_UD | LIA64_FPSR_TRAP_ID \ + | LIA64_FPSR_S0 (FPSF_DEFAULT) \ + | LIA64_FPSR_S1 (FPSF_DEFAULT | FPSF_TD | FPSF_WRE) \ + | LIA64_FPSR_S2 (FPSF_DEFAULT | FPSF_TD) \ + | LIA64_FPSR_S3 (FPSF_DEFAULT | FPSF_TD)) + +/* Format of dirent as returned by the _host_ getdents(): */ + +struct dirent { + long d_ino; + long d_off; + unsigned short d_reclen; + char d_name[256]; /* We must not include limits.h! */ +}; + +struct dirent64 { + unsigned long long d_ino; + long long d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[256]; +}; + +#if !defined offsetof +# define offsetof(t,f) (((char *) ((t *) 0)->f) - (char *) 0) +#endif /* !defined offsetof */ +#define dirent_name_off offsetof(struct dirent, d_name) +#define dirent64_name_off offsetof(struct dirent64, d_name) + +typedef long long lia64_clock_t; /* Linux/ia64 uses 64 bit clock_t */ +typedef long long lia64_off_t; +typedef int lia64_pid_t; +typedef unsigned int lia64_uid_t; +typedef unsigned int lia64_gid_t; +typedef long long lia64_time_t; +typedef int lia64_suseconds_t; +typedef unsigned long long lia64_size_t; + +struct lia64_tms + { + lia64_clock_t tms_utime; + lia64_clock_t tms_stime; + lia64_clock_t tms_cutime; + lia64_clock_t tms_cstime; + }; + +struct lia64_flock + { + short l_type; + short l_whence; + lia64_off_t l_start; + lia64_off_t l_len; + lia64_pid_t l_pid; + int pad; + }; + +struct lia64_rlimit + { + long long rlim_cur; + long long rlim_max; + }; + +struct lia64_timeval + { + lia64_time_t tv_sec; + lia64_suseconds_t tv_usec; + int pad; + }; + +struct lia64_itimerval + { + struct lia64_timeval it_interval; + struct lia64_timeval it_value; + }; + +struct lia64_timespec + { + lia64_time_t tv_sec; + long long tv_nsec; + }; + +struct lia64_rusage + { + struct lia64_timeval ru_utime; /* user time used */ + struct lia64_timeval ru_stime; /* system time used */ + long long ru_maxrss; /* maximum resident set size */ + long long ru_ixrss; /* integral shared memory size */ + long long ru_idrss; /* integral unshared data size */ + long long ru_isrss; /* integral unshared stack size */ + long long ru_minflt; /* page reclaims */ + long long ru_majflt; /* page faults */ + long long ru_nswap; /* swaps */ + long long ru_inblock; /* block input operations */ + long long ru_oublock; /* block output operations */ + long long ru_msgsnd; /* messages sent */ + long long ru_msgrcv; /* messages received */ + long long ru_nsignals; /* signals received */ + long long ru_nvcsw; /* voluntary context switches */ + long long ru_nivcsw; /* involuntary " */ + }; + +struct lia64_fsid_t + { + int val[2]; + }; + +struct lia64_statfs + { + long long f_type; + long long f_bsize; + long long f_blocks; + long long f_bfree; + long long f_bavail; + long long f_files; + long long f_ffree; + struct lia64_fsid_t f_fsid; + long long f_namelen; + long long f_spare[6]; + }; + +struct lia64_msgbuf + { + long mtype; + char mtext[1]; + }; + +struct lia64_stat + { + unsigned long long St_dev; + unsigned long long St_ino; + unsigned long long St_nlink; + unsigned int St_mode; + unsigned int St_uid; + unsigned int St_gid; + unsigned int __pad0; + unsigned long long St_rdev; + unsigned long long St_size; + lia64_time_t St_atime; + unsigned long long __reserved0; + lia64_time_t St_mtime; + unsigned long long __reserved1; + lia64_time_t St_ctime; + unsigned long long __reserved2; + unsigned long long St_blksize; + long long St_blocks; + unsigned long long __unused[3]; + }; + +struct lia64_old_stat + { + unsigned int St_dev; + unsigned int St_ino; + unsigned int St_mode; + unsigned int St_nlink; + unsigned int St_uid; + unsigned int St_gid; + unsigned int St_rdev; + unsigned int __pad1; + unsigned long long St_size; + lia64_time_t St_atime; + lia64_time_t St_mtime; + lia64_time_t St_ctime; + unsigned int St_blksize; + int St_blocks; + unsigned int __unused1; + unsigned int __unused2; + }; + +struct lia64_iovec + { + long long iov_base; + lia64_size_t iov_len; + }; + +typedef struct + { + unsigned long long sig[1]; + } +lia64_sigset_t; + +struct lia64_sigaction + { + ADDR lia_handler; /* can't use sa_handler... */ + unsigned long long sa_flags; + lia64_sigset_t sa_mask; + }; + +static struct shmseg + { + struct shmseg *next; /* must be first! */ + int id; + REG size; + ADDR addr; + BYTE *hostaddr; + } +*shmseg_list; + +typedef struct + { + WORD year; + WORD mon; + WORD mday; + WORD hour; + WORD min; + WORD sec; + WORD msec; + WORD wday; + } +SscTime; + +typedef struct + { + WORD ssc_Sec; + WORD ssc_Usec; + } +SscTimeval; + +typedef struct + { + WORD ssc_Minuteswest; + WORD ssc_Dsttime; + } +SscTimezone; + +typedef struct + { + ADDR addr; + WORD len; + } +SscDiskReq; + +typedef struct + { + unsigned fd; + WORD count; + } +SscDiskStat; + +static struct { + ADDR buff; + size_t len, off; + unsigned scale; +} prof[5]; + +static struct + { + short type; + short irrBit; + } +irptTbl[MAXIRPT]; + +struct lia64_stack { + DWORD ss_sp; + WORD ss_flags; + WORD ss_pad0; + DWORD ss_size; +}; + +struct lia64_siginfo { + WORD si_signo; + WORD si_errno; + WORD si_code; +}; + +struct lia64_sigcontext { + /* this should match with the Linux/ia64 kernel: */ + DWORD sc_flags; /* see manifest constants above */ + DWORD sc_nat; /* bit i == 1 iff gr[i] is a NaT */ + struct lia64_stack sc_stack; /* previously active stack */ + DWORD sc_ip; /* instruction pointer */ + DWORD sc_cfm; /* current frame marker */ + DWORD sc_psr; /* processor status reg. */ + DWORD sc_ar_rsc; /* register stack configuration reg */ + DWORD sc_ar_bsp; /* backing store pointer */ + DWORD sc_ar_rnat; /* RSE NaT collection register */ + DWORD sc_ar_ccv; /* compare & xchge compare value */ + DWORD sc_ar_unat; /* ar.unat of interrupted context */ + DWORD sc_ar_fpsr; /* floating-point status register */ + DWORD sc_ar_pfs; /* previous function state */ + DWORD sc_ar_ec; /* epilog count register */ + DWORD sc_ar_lc; /* loop count register */ + DWORD sc_pr; /* predicate registers */ + DWORD sc_br[8]; /* branch registers */ + DWORD sc_gr[32]; /* (static) general registers */ + QWORD sc_fr[128]; /* floating-point registers */ + DWORD sc_rbs_base; /* NULL or new base of sighandler's rbs */ + DWORD sc_loadrs; + DWORD sc_ar25; /* rsvd for scratch use */ + DWORD sc_ar26; /* rsvd for scratch use */ + DWORD sc_rsvd[12]; /* reserved for future use */ + lia64_sigset_t sc_mask; /* signal mask to restore */ +}; + +struct lia64_msghdr { + DWORD msg_name; + WORD msg_namelen; + WORD pad0; + DWORD msg_iov; + DWORD msg_iovlen; + DWORD msg_control; + DWORD msg_controllen; + WORD msg_flags; +}; + +struct lia64_cmsghdr { + DWORD cmsg_len; + WORD cmsg_level; + WORD cmsg_type; +}; + +#define LIA64_CMSG_ALIGN(l) (((l) + 7) & ~7ULL) +#define LIA64_CMSG_SPACE(l) \ + (LIA64_CMSG_ALIGN (l) + LIA64_CMSG_ALIGN (sizeof (struct lia64_cmsghdr))) +#define LIA64_CMSG_DATA(c) ((struct lia64_cmsghdr *) \ + ((unsigned char *) (c) + LIA64_CMSG_ALIGN (sizeof (struct lia64_cmsghdr)))) + +unsigned clkTmr = 0, clkTmrSve; /* for clock interrupts */ +unsigned profTmr = 0, profTmrSve; /* for profile interrupts */ +SscReqNode *sscHead = 0; +SscReqNode *sscPend = 0; + +ADDR sigHdlr = ~0ULL; +CTR alarm_insts = ~0ULL, alarm_interval; +CTR prof_insts = ~0ULL; +static CTR prof_interval; +static DWORD prof_mask, prof_maxcnt; + +DWORD pending_signals; +DWORD masked_signals; +static int num_inservice; + +static struct lia64_sigaction sig_act[64]; +static ADDR fault_ip[64]; +static unsigned irptTop = 0; +static int fdmap[FDMAX]; +static int backmap[FDMAX]; /* valid during select only!! */ +struct { + char *name; + int oflag; + mode_t mode; + off_t offset; +} fdInfo[FDMAX]; + +static BYTE *malargbuf; +static int malargbufsize = -1; +static BYTE *malargbuf2; +static int malargbufsize2 = -1; +static BYTE *malargbuf3; +static int malargbufsize3 = -1; + +pid_t cons_pid = -1; +static int cfd = -1; +BOOL trace_syscalls; +char *consLog = NULL; +extern BOOL noConsole; +extern BOOL userint; +static struct termios sane_ttyIos; + +static char *slave; +#ifdef __linux__ +# define MASTER_ID 8 +#else + static char master[] = "/dev/ptym/ptyxx"; +# define MASTER_ID 13 +#endif + +extern void mmapSyms (int, ADDR, ADDR, ADDR); +extern void munmapSyms (ADDR, ADDR); +extern void dynBlock (ADDR, ADDR); +extern void memFree (ADDR); +extern int uselib (const char *libname); /* Linux specific */ + +extern int setresuid (uid_t, uid_t, uid_t); +extern int getresuid (uid_t *, uid_t *, uid_t *); +extern int setresgid (gid_t, gid_t, gid_t); +extern int getresgid (gid_t *, gid_t *, gid_t *); +extern int getsid (pid_t); + +/* FIXME_laurentm: was removed from memory.c */ +BOOL +memIsMapped(ADDR adr) +{ + if (!abi && !dtlbMLookup(adr, 0, PSR_CPL, PSR_DT, &adr)) + return NO; + if (pmemLookup(adr)) + return YES; + + return NO; +} + +static int +getdents (unsigned int fd, struct dirent *dirp, unsigned int count) +{ + return syscall (__NR_getdents, fd, dirp, count); +} + +#if 0 +static int +getdents64 (unsigned int fd, struct dirent64 *dirp, unsigned int count) +{ + return syscall (__NR_getdents64, fd, dirp, count); +} +#endif + +extern BOOL intrsim, extint; + +#define DEBUG_SIGNALS 0 + +int signal_pending(void) +{ + return (pending_signals & ~masked_signals) ? 1 : 0; +} + +void +signal_queue (int signal) +{ +#if DEBUG_SIGNALS + fprintf(stderr, "signal_queue(sig=%d)\n", signal); +#endif + + pending_signals |= (1ULL << (signal - 1)); + preInst |= PRE_SIGNAL; + + if (signal == SIGINT && interface != BATCH) + { + userint = YES; + setIntrsim (YES); + } +} + +void +signal_queue_info (int signal, ADDR ip) +{ + signal_queue (signal); + fault_ip[signal] = ip; +} + +void +signal_invoke_handler (int in_syscall) +{ + struct lia64_sigcontext sc; + struct lia64_siginfo si; + REG sp, nat, gp, entry; + static struct CT_t ct; + static INSTINFO info; + DWORD active; + int signal; + int i; + + active = pending_signals & ~masked_signals; + signal = ffs ((unsigned int) active); + if (signal == 0) + { + signal = ffs ((unsigned ) (active >> 32)); + if (!signal) + return; + + signal += 32; + } + pending_signals &= ~(1ULL << (signal - 1)); + +#if DEBUG_SIGNALS + fprintf(stderr, "signal_invoke_handler(sig=%d)\n", signal); +#endif + + if (sig_act[signal].lia_handler == (ADDR) SIG_DFL) + { + switch (signal) + { + case SIGABRT: case SIGFPE: case SIGSEGV: case SIGTRAP: + GrWrtx (8, signal | 0x80, 0); /* set exit status */ + progExit ("Caught signal %d @ 0x%llx, dumping core...\n", + signal, fault_ip[signal]); + break; + + case SIGCHLD: case SIGURG: case SIGWINCH: + return; /* ignore signal */ + + default: + GrWrtx (8, signal, 0); /* set exit status */ + progExit ("Caught signal %d @ 0x%llx exiting\n", + signal, fault_ip[signal]); + } + } + else if (sig_act[signal].lia_handler == (ADDR) SIG_IGN) + { + switch (signal) + { + case SIGKILL: case SIGSTOP: + GrWrtx (8, signal | 0x80, 0); /* set exit status */ + progExit ("Caught uncatchable signal %d @ 0x%llx; " + "shouldn't happen...\n", signal, fault_ip[signal]); + break; + + default: + return; + } + } + + if (sig_act[signal].sa_flags & SA_ONSTACK) + cmdWarn ("Ignoring SA_ONSTACK for signal %d\n", + sig_act[signal].sa_flags, signal); + + memset (&sc, 0, sizeof (sc)); + + sc.sc_cfm = (1ULL << 63) /* valid bit */ + | (((REG) rrbp << 32) | ((REG) rrbf << 25) | ((REG) rrbg << 18) + | ((REG) (sor >> 3) << 14) | ((REG) soil << 7) | sof); + sc.sc_ar_bsp = BSP; + + /* simulate the register stack flushing and the cover that are done + in sigtramp: */ + coverComb(0); + flushrsComb(0); + + if (fault_ip[signal]) + ip = fault_ip[signal]; + + sc.sc_flags = (1 << 2); /* always set FPH_VALID flag */ + if (in_syscall) + { + sc.sc_flags |= (1 << 1); + ip += 4; /* skip over break instruction */ + if ((ip & 0xf) == 0xc) + ip += 0x4; + GrWrtx ( 8, 4, 0); /* return r8==EINTR */ + GrWrtx (10, -1, 0); /* set error indication */ + } + sc.sc_ip = (ip & ~(ADDR)0xf) | SLOT (ip); + sc.sc_psr = psr; + sc.sc_ar_rsc = RSC; + sc.sc_ar_rnat = RNAT; + sc.sc_ar_ccv = CCV; + sc.sc_ar_unat = UNAT; + sc.sc_ar_fpsr = FPSR; + sc.sc_ar_pfs = PFS; + sc.sc_ar_ec = EC; + sc.sc_ar_lc = LC; + for (i = 1; i < 64; ++i) + sc.sc_pr |= (DWORD) PrRd (i) << i; + for (i = 0; i < 8; ++i) + sc.sc_br[i] = BrRd(i); + for (i = 1; i < 32; ++i) { + GrRd (i, sc.sc_gr[i], nat, NO); + sc.sc_nat |= nat << i; + } + for (i = 0; i < 128; ++i) + { + BYTE sign; + WORD exp; + QWORD val; + + freg2spill (FrRd(i), &sign, &exp, &val.right); + val.left = SEXP (sign, exp); + memcpy (&sc.sc_fr[i], &val, sizeof (val)); + } + sc.sc_mask.sig[0] = masked_signals; + + memset (&info, 0, sizeof (info)); + info.extrainfo[1] = 3; /* destination reg for ar.pfs */ + info.extrainfo[2] = 0; /* number of inputs & locals */ + info.extrainfo[3] = 3; /* number of outputs */ + info.extrainfo[4] = 0; /* number of rotating regs */ + alloc_r1_ar_pfs_i_l_o_rComb(&info); + + si.si_signo = signal; + si.si_errno = 0; + si.si_code = 0; + + GrWrtx(32, signal, 0); /* pass signal number in out0 */ + + GrRd(12, sp, nat, NO); + sp &= ~ (REG) 0xf; + sp -= (sizeof (sc) + 0xf) & ~0xf; + pmemLookup_p(page_base(sp)); + pmemLookup_p(page_base(sp + sizeof (sc) - 1)); + memWrt8(sp + 0x000, sc.sc_flags); + memWrt8(sp + 0x008, sc.sc_nat); + memWrt8(sp + 0x010, sc.sc_stack.ss_sp); + memWrt4(sp + 0x018, sc.sc_stack.ss_flags); + memWrt8(sp + 0x020, sc.sc_stack.ss_size); + memWrt8(sp + 0x028, sc.sc_ip); + memWrt8(sp + 0x030, sc.sc_cfm); + memWrt8(sp + 0x038, sc.sc_psr); + memWrt8(sp + 0x040, sc.sc_ar_rsc); + memWrt8(sp + 0x048, sc.sc_ar_bsp); + memWrt8(sp + 0x050, sc.sc_ar_rnat); + memWrt8(sp + 0x058, sc.sc_ar_ccv); + memWrt8(sp + 0x060, sc.sc_ar_unat); + memWrt8(sp + 0x068, sc.sc_ar_fpsr); + memWrt8(sp + 0x070, sc.sc_ar_pfs); + memWrt8(sp + 0x078, sc.sc_ar_ec); + memWrt8(sp + 0x080, sc.sc_ar_lc); + memWrt8(sp + 0x088, sc.sc_pr); + for (i = 0; i < 8; ++i) + memWrt8(sp + 0x090 + 8*i, sc.sc_br[i]); + for (i = 0; i < 32; ++i) + memWrt8(sp + 0x0d0 + 8*i, sc.sc_gr[i]); + for (i = 0; i < 128; ++i) + memWrt16(sp + 0x1d0 + 16*i, sc.sc_fr[i].left, sc.sc_fr[i].right); + memWrt8(sp + 0x9d0, sc.sc_mask.sig[0]); + GrWrtx(34, sp, 0); /* pass pointer to sigcontext in out2 */ + + sp -= (sizeof (si) + 0xf) & ~0xf; + pmemLookup_p(page_base(sp - 16)); + memWrt4(sp + 0x00, si.si_signo); + memWrt4(sp + 0x04, si.si_errno); + memWrt4(sp + 0x08, si.si_code); + GrWrtx(33, sp, 0); /* pass pointer to siginfo in out1 */ + + GrWrtx(12, sp - 16, 0); /* allocate scratch space and set new sp */ + + masked_signals |= sig_act[signal].sa_mask.sig[0]; + if (memRd8(sig_act[signal].lia_handler, MEM_LD_ACCESS, &entry) < 0 + || memRd8(sig_act[signal].lia_handler + 8, MEM_LD_ACCESS, &gp) < 0) + { + fprintf (stderr, + "Failed to read function descriptor for handler of signal %d", + signal); + exit (1); + } + + GrWrtx(1, gp, 0); /* set handler's global pointer */ + FPSR = LIA64_FPSR_DEFAULT; + + BrWrt(6, entry); + ct.ipn = 0xa000000000002000ULL; + + memset (&info, 0, sizeof (info)); + info.ct = &ct; + info.samepg = 0; + info.extrainfo[0] = 0; /* qp */ + info.extrainfo[1] = 0; /* b1 */ + info.extrainfo[2] = 6; /* b2 */ + br_call_spnt_few_b1_b2Comb(&info); + + icp = NULL; /* force update of cached instruction pointer */ + + ++num_inservice; +} + +static inline ADDR +ia64_rse_skip_regs (ADDR addr, int num_regs) +{ + int delta = ((addr >> 3) & 0x3f) + num_regs; + + if (num_regs < 0) + delta -= 0x3e; + return addr + 8*(num_regs + delta/0x3f); +} + +void +signal_return (void) +{ + struct lia64_sigcontext sc; + REG sp, bsp, nat; + INSTINFO info; + int i; + + GrRd(12, sp, nat, NO); + sp = sp + 16 + ((sizeof (struct lia64_siginfo) + 0xf) & ~0xf); + memRd8(sp + 0x000, MEM_LD_ACCESS, &sc.sc_flags); + memRd8(sp + 0x008, MEM_LD_ACCESS, &sc.sc_nat); + memRd8(sp + 0x010, MEM_LD_ACCESS, &sc.sc_stack.ss_sp); + memRd4(sp + 0x018, MEM_LD_ACCESS, &sc.sc_stack.ss_flags); + memRd8(sp + 0x020, MEM_LD_ACCESS, &sc.sc_stack.ss_size); + memRd8(sp + 0x028, MEM_LD_ACCESS, &sc.sc_ip); + memRd8(sp + 0x030, MEM_LD_ACCESS, &sc.sc_cfm); + memRd8(sp + 0x038, MEM_LD_ACCESS, &sc.sc_psr); + memRd8(sp + 0x040, MEM_LD_ACCESS, &sc.sc_ar_rsc); + memRd8(sp + 0x048, MEM_LD_ACCESS, &sc.sc_ar_bsp); + memRd8(sp + 0x050, MEM_LD_ACCESS, &sc.sc_ar_rnat); + memRd8(sp + 0x058, MEM_LD_ACCESS, &sc.sc_ar_ccv); + memRd8(sp + 0x060, MEM_LD_ACCESS, &sc.sc_ar_unat); + memRd8(sp + 0x068, MEM_LD_ACCESS, &sc.sc_ar_fpsr); + memRd8(sp + 0x070, MEM_LD_ACCESS, &sc.sc_ar_pfs); + memRd8(sp + 0x078, MEM_LD_ACCESS, &sc.sc_ar_ec); + memRd8(sp + 0x080, MEM_LD_ACCESS, &sc.sc_ar_lc); + memRd8(sp + 0x088, MEM_LD_ACCESS, &sc.sc_pr); + for (i = 0; i < 8; ++i) + memRd8(sp + 0x090 + 8*i, MEM_LD_ACCESS, &sc.sc_br[i]); + for (i = 0; i < 32; ++i) + memRd8(sp + 0x0d0 + 8*i, MEM_LD_ACCESS, &sc.sc_gr[i]); + for (i = 0; i < 128; ++i) + memRd16(sp + 0x1d0 + 16*i, MEM_LD_ACCESS, &sc.sc_fr[i]); + memRd8(sp + 0x9d0, MEM_LD_ACCESS, &sc.sc_mask.sig[0]); + + RSC = 0; + + /* simulate write to bspstore: */ + bsp = ia64_rse_skip_regs(sc.sc_ar_bsp, sc.sc_cfm & 0x7f); + GrWrtx (2, bsp, 0); + + memset (&info, 0, sizeof (info)); + info.extrainfo[2] = 2; + info.extrainfo[3] = BSPST_ID; + mov_m_ar3_r2Comb (&info); + + RNAT = sc.sc_ar_rnat; + CCV = sc.sc_ar_ccv; + UNAT = sc.sc_ar_unat; + FPSR = sc.sc_ar_fpsr; + PFS = sc.sc_ar_pfs; + EC = sc.sc_ar_ec; + LC = sc.sc_ar_lc; + for (i = 1; i < 64; ++i) + PrWrt(i, (sc.sc_pr >> i) & 0x1); + for (i = 0; i < 8; ++i) + BrWrt(i, sc.sc_br[i]); + for (i = 1; i < 32; ++i) + GrWrtx (i, sc.sc_gr[i], (sc.sc_nat >> i) & 0x1); + for (i = 0; i < 128; ++i) + { + extern FREG qword2freg (QWORD val); + + FrWrt(i, qword2freg(sc.sc_fr[i])); + } + + /* simulate loadrs 0: */ + loadrsComb (0); + + RSC = sc.sc_ar_rsc; + + /* simulate rfi from sigtramp to interrupted context: */ + PSR_CPL = 0; + IIP = sc.sc_ip & ~(ADDR)0xf; + IPSR = sc.sc_psr; + X_PSR_RI (IPSR) = (sc.sc_ip & 0x3); + IFS = sc.sc_cfm | (1ULL << 63); + rfiComb (0); + + masked_signals = sc.sc_mask.sig[0]; + + --num_inservice; + if (pending_signals == 0 && num_inservice == 0) + preInst &= ~PRE_SIGNAL; + +#if DEBUG_SIGNALS + fprintf(stderr, "signal_return: pending_signals=%llx\n", pending_signals); +#endif +} + + +static void +rusage_host2lia64 (const struct rusage *h, struct lia64_rusage *l) +{ + l->ru_utime.tv_sec = h->ru_utime.tv_sec; + l->ru_utime.tv_usec = h->ru_utime.tv_usec; + l->ru_stime.tv_sec = h->ru_stime.tv_sec; + l->ru_stime.tv_usec = h->ru_stime.tv_usec; + l->ru_maxrss = h->ru_maxrss; + l->ru_ixrss = h->ru_ixrss; + l->ru_idrss = h->ru_idrss; + l->ru_isrss = h->ru_isrss; + l->ru_minflt = h->ru_minflt; + l->ru_majflt = h->ru_majflt; + l->ru_nswap = h->ru_nswap; + l->ru_inblock = h->ru_inblock; + l->ru_oublock = h->ru_oublock; + l->ru_msgsnd = h->ru_msgsnd; + l->ru_msgrcv = h->ru_msgrcv; + l->ru_nsignals = h->ru_nsignals; + l->ru_nvcsw = h->ru_nvcsw; + l->ru_nivcsw = h->ru_nivcsw; +} + +static void +stat_host2lia64 (const struct stat *h, struct lia64_stat *l) +{ + l->St_dev = h->st_dev; + l->St_ino = h->st_ino; + l->St_mode = h->st_mode; + l->St_nlink = h->st_nlink; + l->St_uid = h->st_uid; + l->St_gid = h->st_gid; + l->St_rdev = h->st_rdev; + l->St_size = h->st_size; + l->St_atime = h->st_atime; + l->St_mtime = h->st_mtime; + l->St_ctime = h->st_ctime; + l->St_blksize = h->st_blksize; + l->St_blocks = h->st_blocks; +} + +static void +old_stat_host2lia64 (const struct stat *h, struct lia64_old_stat *l) +{ + l->St_dev = h->st_dev; + l->St_ino = h->st_ino; + l->St_mode = h->st_mode; + l->St_nlink = h->st_nlink; + l->St_uid = h->st_uid; + l->St_gid = h->st_gid; + l->St_rdev = h->st_rdev; + l->St_size = h->st_size; + l->St_atime = h->st_atime; + l->St_mtime = h->st_mtime; + l->St_ctime = h->st_ctime; + l->St_blksize = h->st_blksize; + l->St_blocks = h->st_blocks; +} + +void +setFdmap (int fd1, int fd2) +{ + fdmap[fd1] = fd2; +} + +/* + * Allocate the lowest available file desciptor and make it equivalent + * with host file descriptor HOST_FD. */ +static int +fdmap_alloc (int host_fd) +{ + int fd; + + if (interface == BATCH) + { + /* in batch mode, preserve identity mapping */ + fdmap[host_fd] = host_fd; + return host_fd; + } + + /* + * In non-batch mode, we need to ensure that we allocate the lowest + * available simulated fd (necessary to preserve the semantics of + * dup() for example). + */ + for (fd = 0; fd < FDMAX; ++fd) + if (fdmap[fd] < 0) + { + fdmap[fd] = host_fd; + return fd; + } + errno = EMFILE; + return -1; +} + +/* + * Remap filedescriptors such that fdmap[] is an identity map. This + * may end up closing file descriptors that are used for the debug + * window, for example. + */ +static void +fdmap_make_identity_map (void) +{ + int i, j; + + /* + * The invariant here is that for for all k in 0..(i-1), + * fdmap[k]==k or fdmap[k] == -1. + * + * If fdmap[i] != i, the above invariant guarantees that there is no + * ki such + * that fdmap[j]==i. If so, we need to remap fdmap[j] first because + * otherwise dup2(fdmap[i], i) would destroy the filedescriptor for + * fdmap[j]. We do this with a simple fdmap[k]=dup(i). + */ + for (i = 0; i < FDMAX; ++i) + if (fdmap[i] >= 0 && fdmap[i] != i) + { + for (j = i + 1; j < FDMAX; ++j) + if (fdmap[j] == i) + { + setFdmap (j, dup (i)); + break; + } + dup2 (fdmap[i], i); + setFdmap (i, i); + } + for (i = 0; i < FDMAX; ++i) + if (fdmap[i] < 0) + close (i); +} + +static void +setStatReturn (REG *ret, REG *status) +{ + if ((int)*status == -1) + *ret = errno; + else + { + *ret = *status; + *status = 0; + } +} + +void +cmsg_lia642host (struct lia64_msghdr *lia64_msghdr, struct msghdr *msghdr) +{ + size_t nbytes, len = lia64_msghdr->msg_controllen, total = 0; + struct cmsghdr *cmsghdr = msghdr->msg_control; + struct lia64_cmsghdr *lia64_cmsghdr; + + lia64_cmsghdr = alloca (len); + memBBRd (ADDPTR (lia64_msghdr->msg_control), (BYTE *) lia64_cmsghdr, len); + + while (len >= sizeof (struct lia64_cmsghdr)) + { + nbytes = (((char *) lia64_cmsghdr + lia64_cmsghdr->cmsg_len) + - (char *) LIA64_CMSG_DATA (lia64_cmsghdr)); + if (lia64_cmsghdr->cmsg_level == SOL_SOCKET + && lia64_cmsghdr->cmsg_type == SCM_RIGHTS) + { + /* let's hope this is the only control message needing + explicit conversion... */ + int *rdp, *wrp, *end, lia64_fd; + + rdp = (int *) LIA64_CMSG_DATA (lia64_cmsghdr); + end = (int *) ((char *) lia64_cmsghdr + lia64_cmsghdr->cmsg_len); + wrp = (int *) CMSG_DATA (cmsghdr); + + while (rdp < end) + { + lia64_fd = *rdp++; + if (lia64_fd < FDMAX) + *wrp++ = fdmap[lia64_fd]; + else + *wrp++ = -1; + } + } + else + memcpy (CMSG_DATA (cmsghdr), LIA64_CMSG_DATA (lia64_cmsghdr), nbytes); + cmsghdr->cmsg_level = lia64_cmsghdr->cmsg_level; + cmsghdr->cmsg_type = lia64_cmsghdr->cmsg_type; + cmsghdr->cmsg_len = CMSG_SPACE (nbytes); + + len -= LIA64_CMSG_ALIGN (lia64_cmsghdr->cmsg_len); + lia64_cmsghdr = (lia64_cmsghdr + + LIA64_CMSG_ALIGN (lia64_cmsghdr->cmsg_len)); + total += CMSG_ALIGN (cmsghdr->cmsg_len); + cmsghdr = (struct cmsghdr *) + ((char *) cmsghdr + CMSG_ALIGN (cmsghdr->cmsg_len)); + } + msghdr->msg_controllen = total; +} + +void +cmsg_host2lia64 (struct lia64_msghdr *lia64_msghdr, struct msghdr *msghdr) +{ + size_t nbytes, len = msghdr->msg_controllen, total = 0; + struct cmsghdr *cmsghdr = msghdr->msg_control; + struct lia64_cmsghdr *lia64_cmsghdr; + BYTE *buf; + + buf = alloca (lia64_msghdr->msg_controllen); + lia64_cmsghdr = (struct lia64_cmsghdr *) buf; + + while (len >= sizeof (struct cmsghdr)) + { + nbytes = (((char *) cmsghdr + cmsghdr->cmsg_len) + - (char *) CMSG_DATA (cmsghdr)); + if (total + LIA64_CMSG_SPACE (nbytes) >= lia64_msghdr->msg_controllen) + { + lia64_msghdr->msg_flags |= MSG_CTRUNC; + break; + } + + if (cmsghdr->cmsg_level == SOL_SOCKET + && cmsghdr->cmsg_type == SCM_RIGHTS) + { + /* let's hope this is the only control message needing + explicit conversion... */ + int *rdp, *wrp, *end; + + rdp = (int *) CMSG_DATA (cmsghdr); + end = (int *) ((char *) cmsghdr + cmsghdr->cmsg_len); + wrp = (int *) LIA64_CMSG_DATA (lia64_cmsghdr); + + while (rdp < end) + *wrp++ = fdmap_alloc (*rdp++); + } + else + memcpy (LIA64_CMSG_DATA (lia64_cmsghdr), CMSG_DATA (cmsghdr), nbytes); + lia64_cmsghdr->cmsg_level = cmsghdr->cmsg_level; + lia64_cmsghdr->cmsg_type = cmsghdr->cmsg_type; + lia64_cmsghdr->cmsg_len = LIA64_CMSG_SPACE (nbytes); + + total += LIA64_CMSG_ALIGN (lia64_cmsghdr->cmsg_len); + lia64_cmsghdr = (lia64_cmsghdr + + LIA64_CMSG_ALIGN (lia64_cmsghdr->cmsg_len)); + len -= CMSG_ALIGN (cmsghdr->cmsg_len); + cmsghdr = (struct cmsghdr *) + ((char *) cmsghdr + CMSG_ALIGN (cmsghdr->cmsg_len)); + } + memBBWrt_alloc (ADDPTR (lia64_msghdr->msg_control), buf, total); + lia64_msghdr->msg_controllen = total; +} + +static fd_set +mapSelectFds (BYTE *buf, int num, int *new_num) +{ + int i, mapped_fd; + fd_set fds; + + FD_ZERO (&fds); + for (i = 0; i < num; i++) + if (FD_ISSET (i, (fd_set *)buf)) + { + mapped_fd = fdmap[i]; + backmap[mapped_fd] = i; + FD_SET (mapped_fd, &fds); + if (mapped_fd >= *new_num) + *new_num = mapped_fd + 1; + } + return fds; +} + +static fd_set +mapBackSelectFds (fd_set *buf, int num) +{ + int i, mapped_fd; + fd_set fds; + + FD_ZERO (&fds); + for (i = 0; i < num; i++) + if (FD_ISSET (i, buf)) + { + mapped_fd = backmap[i]; + FD_SET (mapped_fd, &fds); + } + return fds; +} + +static int +getPty (void) +{ + int pfd; + + pfd = getpt(); + if (pfd >= 0) + { + /* change slave permissions & unlock slave */ + if (grantpt (pfd) == 0 + && unlockpt (pfd) == 0 + && (slave = ptsname (pfd)) != NULL) + return pfd; + close (pfd); + } + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit ("Unable to open console window\n"); + return -1; +} + +static void +restore_tty (void) +{ + tcsetattr (0, TCSANOW, &sane_ttyIos); +} + +/* + * New version of initConsole. + * It does not use a pipe but the slave/master pty instead + * + * The master is actually opened by the simulator and passed via + * cmdline option to xterm. Then the slave is safely opened. + * + * This way we can get the SIGIO going on input from xterm. The prior + * version did not accept any input from in xterm. + * Also take a look at the CONNECT_INTERRUPT code for keyboard in this file + * for more bug fixes. + * + * 01/20/1999 S.Eranian + * + * 02/22/1999 S.Eranian switched to termios clean up bug (ttyIos not completely + * initialized). + * 05/24/1999 S.Eranian fixed the extra windowid problem from xterm + */ + +static int +initConsole (int raw) +{ + struct termios tty_saved, tmp; + char cmdBuf[80]; + int sfd, mfd, i, ret; + + /* open master and slave: */ + mfd = getPty (); + sfd = open (slave, O_RDWR | O_EXCL | O_NOCTTY); + if (sfd < -1) + { + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit ("Unable to open slave pty\n"); + } + + /* + * When used with the -Sxxx option, xterm prints out the windowid of + * the pseudo-tty for the 'master' to use. We don't need that window + * id, but we need to discard it. This involves two steps: first, + * we need to turn of tty ECHO while starting up xterm to ensure + * the window id doesn't show up on the xterm. Second, we need + * to read the window id off the input stream and discard it. + * This is done in the read below. + */ + + /* get current state */ + tcgetattr (sfd, &tty_saved); + tmp = tty_saved; + tmp.c_lflag &= ~(ECHO | ECHONL); /* turn off local echo */ + tcsetattr (sfd, TCSADRAIN, &tmp); + + if ((cons_pid = fork ()) == 0) + { + close (sfd); /* child doesn't need slave */ + + for (i = 0; i < FDMAX; ++i) + if (i != mfd) + fcntl (i, F_SETFD, 1); /* set close-on-exec flag */ + + /* + * Go into a separate process group; we don't want to receive + * signals sent to the simulator + */ + setpgrp (); + +#ifdef __linux__ + /* From what I can tell, xterm all but ignores the two-character + pty "name", so it doesn't really matter what we're passing + along here as long as it's just two characters. */ + snprintf (cmdBuf, sizeof (cmdBuf), "-S%s/%d", + strrchr (slave, '/') + 1, mfd); +#else + /* this ought to work for HP-UX */ + sprintf (cmdBuf, "-S %s.%d", master + MASTER_ID, mfd); +#endif + if (getenv("SKI_USE_FAKE_XTERM")) + { + char tmppat[80]; + int fd; + + strcpy(tmppat, "ski.XXXXXX"); + fd = mkstemp(tmppat); + close(fd); + ret = execlp ("ski-fake-xterm", "ski-fake-xterm", + "-o", tmppat, cmdBuf, 0); + } + else if (consLog) + ret = execlp ("ski-fake-xterm", "ski-fake-xterm", + "-o", consLog, cmdBuf, 0); + else + ret = execlp ("xterm", "xterm", "-geo", "80x24", "-name", + "\"Linux/ia64 Console\"", cmdBuf, 0); + + _exit (-1); + + } + + /* parent doesn't need master */ + close (mfd); + + /* read first byte of the window id (and discard it): */ + if (read (sfd, cmdBuf, 1) < 1) + { + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit ("Unable to create console window\n"); + } + /* + * Now once we've seen the first character(s), a tcflush() should be + * enough supposing that data had been sent all at once (which is + * the case). This might also flush input characters that a user + * typed early on, but that's probably OK. + * + * This solution works for both raw and non-raw mode. + */ + tcflush (sfd, TCIFLUSH); + + if (raw) + { + cfmakeraw (&tmp); + tmp.c_cc[VMIN] = 0; + tmp.c_cc[VTIME] = 0; + tcsetattr (sfd, TCSADRAIN, &tmp); + } + else + /* restore the original (cooked) mode: */ + tcsetattr (sfd, TCSADRAIN, &tty_saved); + return sfd; +} + +static void +readConsole (char *buf) +{ + /* + * we always use the raw system call to avoid + * some stupid buffering problem + * Also make sure that is something went wrong nothing shows up + * in the buffer + * 05/07/99 S.Eranian + */ + if (read (noConsole ? 0 : cfd, buf, 1) != 1) buf[0] = '\0'; +} + +static void +init (void) +{ + struct sigaction act; + + memset (&act, 0, sizeof (act)); + act.sa_handler = signal_queue; + sigaction (SIGSEGV, &act, 0); + + memset (fdmap, 0xff, sizeof (fdmap)); + + if (!noConsole) + { + cfd = initConsole (0); + if (cfd < 0) + noConsole = YES; + } + + if (interface == BATCH) + { + /* in batch mode we want fdmap[] to be an identity map */ + if (!noConsole) + { + /* redirect stdio to console: */ + dup2 (cfd, 0); + dup2 (cfd, 1); + dup2 (cfd, 2); + close (cfd); + cfd = 0; + } + setFdmap (0, 0); + setFdmap (1, 1); + setFdmap (2, 2); + } + else + { + if (noConsole) + { + setFdmap (0, dup (0)); + setFdmap (1, dup (1)); + setFdmap (2, dup (2)); + } + else + { + setFdmap (0, dup (cfd)); + setFdmap (1, dup (cfd)); + setFdmap (2, dup (cfd)); + } + } +} + +void +profCnt (void) +{ + ADDR baddr, offset, cntaddr; + unsigned bucket; + HWORD cnt2; + + prof_insts += prof_interval; + baddr = ip & ~0xFULL; + if (prof[0].scale < 2 || baddr < prof[0].off) + return; + offset = baddr - prof[0].off; + bucket = (((offset >> 4) * prof[0].scale) >> 12) & prof_mask; + if (bucket >= prof[0].len) + return; + cntaddr = prof[0].buff + bucket; + if (!memMRd(cntaddr, 2, (DWORD*) &cnt2)) + { + prof[0].scale = 0; + return; + } + if (cnt2 < prof_maxcnt) + { + cnt2++; + if (!memMWrt(cntaddr, 2, cnt2)) + prof[0].scale = 0; + } +} + +static ADDR +get_unmapped_area (DWORD size) +{ + static ADDR base = 0x2000000000000000ULL; + ADDR addr, start, end; + + while (1) + { + end = page_align(base + size); + for (addr = base; 1; addr += page_size) + { + if (addr > end) + { + start = base; + base = end; + return start; + } + if (memIsMapped (addr)) + { + /* the page at ADDR exists already */ + base = page_base (addr) + page_size; + break; + } + } + } +} + +static struct shmseg * +shmseg_new (int id, long size) +{ + struct shmseg *shmseg; + + shmseg = malloc (sizeof (*shmseg)); + if (!shmseg) + return NULL; + + memset (shmseg, 0, sizeof (*shmseg)); + shmseg->id = id; + shmseg->size = size; + shmseg->next = shmseg_list; + shmseg_list = shmseg; + return shmseg; +} + +static struct shmseg * +shmseg_lookup_id (int id) +{ + struct shmseg *shmseg; + + for (shmseg = shmseg_list; shmseg; shmseg = shmseg->next) + if (shmseg->id == id) + return shmseg; + return 0; +} + +static struct shmseg * +shmseg_lookup_addr (ADDR addr) +{ + struct shmseg *shmseg; + + for (shmseg = shmseg_list; shmseg; shmseg = shmseg->next) + if (shmseg->addr == addr) + return shmseg; + return 0; +} + +static void +shmseg_free (struct shmseg *shmseg) +{ + struct shmseg *prev; + + prev = (struct shmseg *) &shmseg_list; + while (prev->next != shmseg) + prev = prev->next; + + prev->next = shmseg->next; + free (shmseg); +} + +#define ENSURE_SIZE(newsize) \ + if ((int) (newsize) > malargbufsize) \ + { \ + if (!(malargbuf = realloc (malargbuf, (newsize) + 1024))) \ + { \ + *status = -1; \ + *ret = ENOMEM; \ + setStatReturn (ret, status); \ + break; \ + } \ + malargbufsize = (newsize) + 1024; \ + } + +#define ENSURE_SIZE2(newsize) \ + if ((int) (newsize) > malargbufsize2) \ + { \ + if (!(malargbuf2 = realloc (malargbuf2, (newsize) + 1024))) \ + { \ + *status = -1; \ + *ret = ENOMEM; \ + setStatReturn (ret, status); \ + break; \ + } \ + malargbufsize2 = (newsize) + 1024; \ + } + +#define ENSURE_SIZE3(newsize) \ + if ((int) (newsize) > malargbufsize3) \ + { \ + if (!(malargbuf3 = realloc (malargbuf3, (newsize) + 1024))) \ + { \ + *status = -1; \ + *ret = ENOMEM; \ + setStatReturn (ret, status); \ + break; \ + } \ + malargbufsize3 = (newsize) + 1024; \ + } + +#define CHECK_FD(fd) \ + if ((unsigned) (fd) >= FDMAX) \ + { \ + *status = -1; \ + errno = EBADF; \ + setStatReturn (ret, status); \ + break; \ + } + +#define CHECK_SIGNUM(sig) \ + if ((unsigned) (sig) >= 64) \ + { \ + *status = -1; \ + errno = EINVAL; \ + setStatReturn (ret, status); \ + break; \ + } + +void +doSyscall (HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG arg4, + REG arg5, REG arg6, REG arg7, REG *ret, REG *status) +{ + BYTE msg[500], buf[32768], buf1[32768], buf2[32768], *bp, elfhdr[20]; + REG tmp, new_base, adr; + static int need_init = 1; + ssize_t nbytes; + int max, i, fd, nfds, resource, pfd[2], bytes_in, bytes_out; + struct tms host_tms; + struct lia64_tms lia64_tms; + struct flock host_flock; + struct lia64_flock lia64_flock; + struct rlimit host_rlimit; + struct lia64_rlimit lia64_rlimit; + struct rusage host_rusage; + struct lia64_rusage lia64_rusage; + struct lia64_timeval lia64_timeval; + struct timeval host_timeval, *tmout; + struct lia64_timespec lia64_timespec; + struct timespec host_timespec; + struct timezone tzbuf; + lia64_gid_t lia64_gid; + fd_set readfds, writefds, errorfds; + fd_set *rfds, *wfds, *efds; + struct lia64_statfs lia64_statfs; + struct statfs host_statfs; + struct lia64_itimerval lia64_itval; + struct itimerval host_itval; + struct lia64_stat lia64_stat; + struct lia64_old_stat lia64_old_stat; + struct stat host_stat; + struct dirent *host_dirent; + struct lia64_iovec lia64_iovec; + struct sigaction act; + struct lia64_sigaction lia64_sigact, *sa; + struct lia64_timeval lia64_utimes[2]; + struct timeval host_utimes[2]; + sigset_t sigset, saved_sigset; + int done, waitstatus; + socklen_t addrlen; + struct sockaddr *sockaddr; + struct shmseg *shmseg; + DWORD lia64_sigset; + BOOL must_move; + BYTE *hostadr; + ADDR end; + REG curr; + char *cp; + + if (need_init) + { + need_init = 0; + init (); + } + + if (trace_syscalls) + cmdwPrint ("(0x%llx,0x%llx,0x%llx,0x%llx,0x%llx,0x%llx) -> ", + num, arg0, arg1, arg2, arg3, arg4, arg5); + + *status = -1; + *ret = ENOSYS; + switch (num) + { + case SYS_EXIT: + case LIA64_exit: + case LIA64_exit_group: + GrWrtx (8, arg0, 0); + progExit("program exited with status %d\n", (int)arg0); + break; + + case SYS_READ: + case LIA64_read: + /* make sure we have enough space in malargbuf */ + ENSURE_SIZE (arg2); + CHECK_FD (arg0); + nbytes = read (fdmap[arg0], malargbuf, arg2); + *status = nbytes; + if ((ssize_t)nbytes > 0) + memBBWrt_alloc (ADDPTR (arg1), malargbuf, nbytes); + setStatReturn (ret, status); + break; + + case SYS_WRITE: + case LIA64_write: + /* make sure we have enough space in malargbuf */ + ENSURE_SIZE (arg2); + CHECK_FD (arg0); + if (arg2 > 0) + memBBRd(ADDPTR(arg1), malargbuf, arg2); + *status = sysWrite (fdmap[arg0], malargbuf, arg2); + setStatReturn (ret, status); + break; + + case SYS_OPEN: + case LIA64_open: + simroot(ADDPTR(arg0), buf, arg1 & O_CREAT); + *status = open ((char *)buf, arg1, arg2); + if ((int)*status != -1) { +#ifdef HOST_MAP + int simfd; + + for (simfd = 0; simfd < FDMAX; simfd++) + if (fdmap[simfd] == -1) + break; + fdInfo[simfd].name = strdup (buf); + fdInfo[simfd].oflag = arg1; + fdInfo[simfd].mode = arg2; + fdmap[simfd] = *status; + *status = simfd; +#else + *status = fdmap_alloc (*status); +#endif + } + setStatReturn (ret, status); + break; + + case SYS_CLOSE: + case LIA64_close: + CHECK_FD (arg0); + if (fdmap[arg0] >= 0) + *status = close (fdmap[arg0]); + setFdmap (arg0, -1); + setStatReturn (ret, status); + break; + + case SYS_LINK: + case LIA64_link: + memBBRd (ADDPTR (arg0), buf, 0); + memBBRd (ADDPTR (arg1), buf2, 0); + *status = link ((char *)buf, (char *)buf2); + setStatReturn (ret, status); + break; + + case SYS_UNLINK: + case LIA64_unlink: + simroot(ADDPTR(arg0), buf, 0); + *status = unlink ((char *)buf); + setStatReturn (ret, status); + break; + + case LIA64_execve: + { + char **wrp = (char **) (((long) buf + 7) & ~7); + size_t len, off, total = 32768; + char *mem = malloc (total), **argv, **envp; + REG argp; + + argv = wrp; + + memBBRd (arg0, (BYTE *) mem, 0); + len = strlen (mem) + 1; + *wrp++ = "bskinc"; + *wrp++ = mem; + off = len; + + arg1 += 8; /* skip over argv[0] (we use arg1 instead) */ + + /* convert argv from lia64 to host format: */ + while (1) + { + memBBRd (ADDPTR (arg1), (BYTE *) &argp, 8); + arg1 += 8; + if (!argp) + break; + + memBBRd (ADDPTR (argp), buf2, 0); + len = strlen ((char*) buf2) + 1; + if (off + len >= total) + { + total += 32768; + mem = realloc (mem, total); + if (!mem) + { + fprintf (stderr, "Simulator out of memory!\n"); + exit (-1); + } + } + memcpy (mem + off, buf2, len); + *wrp++ = mem + off; + off += len; + } + *wrp++ = 0; + + /* ditto for envp: */ + envp = wrp; + while (1) + { + memBBRd (arg2, (BYTE *) &argp, 8); + arg2 += 8; + if (!argp) + break; + + memBBRd (argp, buf2, 0); + len = strlen ((char *)buf2) + 1; + if (off + len >= total) + { + total += 32768; + mem = realloc (mem, total); + if (!mem) + { + fprintf (stderr, "Simulator out of memory!\n"); + exit (-1); + } + } + memcpy (mem + off, buf2, len); + *wrp++ = mem + off; + off += len; + } + *wrp++ = 0; + + if (stat (argv[1], &host_stat) < 0) + { + /* + * If file doesn't exist at all, return ENOENT. Ugly, but + * tcsh uses this to locate the executable. + */ + *status = -1; + errno = ENOENT; + } + else + { + fdmap_make_identity_map (); + elfhdr[18] = 0; + elfhdr[19] = 0; + fd = open (argv[1], O_RDONLY); + read (fd, elfhdr, sizeof (elfhdr)); + close (fd); + if (elfhdr[18] == 50 && elfhdr[19] == 0) + /* looks like an IA-64 binary: */ + *status = execve ("/usr/bin/bskinc", argv, envp); + else + /* try it as a host binary: */ + *status = execve (argv[1], argv + 1, envp); + + } + setStatReturn (ret, status); + if (mem) + free (mem); + } + break; + + case SYS_CHDIR: + case LIA64_chdir: + memBBRd (ADDPTR (arg0), buf, 0); + *status = chdir ((char *)buf); + setStatReturn (ret, status); + break; + + case SYS_FCHDIR: + case LIA64_fchdir: + CHECK_FD (arg0); + *status = fchdir (fdmap[arg0]); + setStatReturn (ret, status); + break; + + case LIA64_utimes: + memBBRd (ADDPTR (arg0), buf, 0); + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_utimes[0], + sizeof (lia64_utimes)); + host_utimes[0].tv_sec = lia64_utimes[0].tv_sec; + host_utimes[0].tv_usec = lia64_utimes[0].tv_usec; + host_utimes[1].tv_sec = lia64_utimes[1].tv_sec; + host_utimes[1].tv_usec = lia64_utimes[1].tv_usec; + *status = utimes ((char *) buf, &host_utimes[0]); + setStatReturn (ret, status); + break; + + case SYS_MKNOD: + case LIA64_mknod: + memBBRd (ADDPTR (arg0), buf, 0); + *status = mknod ((char *)buf, arg1, arg2); + setStatReturn (ret, status); + break; + + case SYS_CHMOD: + case LIA64_chmod: + memBBRd (ADDPTR (arg0), buf, 0); + *status = chmod ((char *)buf, arg1); + setStatReturn (ret, status); + break; + + case SYS_CHOWN: + case LIA64_chown: + memBBRd (ADDPTR (arg0), buf, 0); + *status = chown ((char *)buf, arg1, arg2); + setStatReturn (ret, status); + break; + + case SYS_lseek: + case LIA64_lseek: + CHECK_FD (arg0); + *status = lseek (fdmap[arg0], arg1, arg2); + setStatReturn (ret, status); + break; + + case SYS_GETPID: + case LIA64_getpid: + *status = getpid (); + setStatReturn (ret, status); + break; + + case LIA64_getppid: + *status = getppid (); + setStatReturn (ret, status); + break; + + case LIA64_mount: + memBBRd (ADDPTR (arg0), buf, 0); + memBBRd (ADDPTR (arg1), buf1, 0); + memBBRd (ADDPTR (arg2), buf2, 0); + *status = mount ((char *)buf, (char *)buf1, (char *)buf2, arg3, 0); + setStatReturn (ret, status); + break; + + case SYS_UMOUNT: + case LIA64_umount: + memBBRd (ADDPTR (arg0), buf, 0); + *status = umount ((char *)buf); + setStatReturn (ret, status); + break; + + case LIA64_setuid: + *status = setuid (arg0); + setStatReturn (ret, status); + break; + + case LIA64_getuid: + *status = getuid (); + setStatReturn (ret, status); + break; + + case LIA64_geteuid: + *status = geteuid (); + setStatReturn (ret, status); + break; + + case LIA64_ptrace: + sprintf ((char *)msg, "Simulator doesn't ptrace()!!\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + errno = EOPNOTSUPP; + setStatReturn (ret, status); + break; + + case SYS_ACCESS: + case LIA64_access: + simroot(ADDPTR(arg0), buf, 0); + *status = access (buf, arg1); + setStatReturn (ret, status); + break; + + case LIA64_sync: + sync (); + break; + + case LIA64_fsync: + CHECK_FD (arg0); + *status = fsync (fdmap[arg0]); + setStatReturn (ret, status); + break; + + case LIA64_fdatasync: + CHECK_FD (arg0); + *status = fdatasync (fdmap[arg0]); + setStatReturn (ret, status); + break; + + case SYS_KILL: + case LIA64_kill: + *status = kill (arg0, arg1); + setStatReturn (ret, status); + break; + + case SYS_RENAME: + case LIA64_rename: + memBBRd (ADDPTR (arg0), buf, 0); + memBBRd (ADDPTR (arg1), buf2, 0); + *status = rename ((char *)buf, (char *)buf2); + setStatReturn (ret, status); + break; + + case SYS_MKDIR: + case LIA64_mkdir: + memBBRd (ADDPTR (arg0), buf, 0); + *status = mkdir ((char *)buf, arg1); + setStatReturn (ret, status); + break; + + case SYS_RMDIR: + case LIA64_rmdir: + memBBRd (ADDPTR (arg0), buf, 0); + *status = rmdir ((char *)buf); + setStatReturn (ret, status); + break; + + case SYS_DUP: + case LIA64_dup: + CHECK_FD (arg0); + *status = dup (fdmap[arg0]); + if ((int) *status >= 0) + *status = fdmap_alloc (*status); + setStatReturn (ret, status); + break; + + case LIA64_pipe: + *status = pipe (pfd); + if ((int)*status != -1) + { + *status = fdmap_alloc (pfd[0]); + GrWrtx (9, fdmap_alloc (pfd[1]), 0); + } + setStatReturn (ret, status); + break; + + case SYS_TIMES: + case LIA64_times: +#ifdef CONSTANT_TIME + memset (&lia64_tms, 0, sizeof (lia64_tms)); + *status = 0; +#else + *status = times (&host_tms); + if ((int)*status != -1) + { + lia64_tms.tms_utime = host_tms.tms_utime; + lia64_tms.tms_stime = host_tms.tms_stime; + lia64_tms.tms_cutime = host_tms.tms_cutime; + lia64_tms.tms_cstime = host_tms.tms_cstime; + memBBWrt_alloc (ADDPTR (arg0), (BYTE *) &lia64_tms, + sizeof (lia64_tms)); + } +#endif + setStatReturn (ret, status); + break; + + case SYS_BRK: + case LIA64_brk: + arg0 = ADDPTR (arg0); + if (arg0 == 0) + arg0 = heapGet(curPid); /* return current heap addr */ + else if (arg0 > heapGet(curPid)) + { + for (adr = page_base(heapGet(curPid)); adr < arg0; adr += page_size) + pmemLookup_p (adr); + heapSet (curPid, arg0); + } + *ret = arg0; + *status = 0; + break; + + case SYS_SETGID: + case LIA64_setgid: + *status = setgid (arg0); + setStatReturn (ret, status); + break; + + case SYS_GETGID: + case LIA64_getgid: + *status = getgid (); + setStatReturn (ret, status); + break; + + case LIA64_getegid: + *status = getegid (); + setStatReturn (ret, status); + break; + + case SYS_ACCT: + case LIA64_acct: + memBBRd (ADDPTR (arg0), buf, 0); + *status = acct ((char *) buf); + setStatReturn (ret, status); + break; + + case LIA64_ioctl: + CHECK_FD (arg0); + + bytes_in = 0; + bytes_out = 0; + done = 0; + switch (arg1) + { + case TCSBRK: + case TCSBRKP: + case TCXONC: + case TCFLSH: + case TIOCEXCL: + case TIOCNXCL: + case TIOCSCTTY: + case TIOCCONS: + case TIOCNOTTY: + case TIOCSBRK: + case TIOCCBRK: + case FIONCLEX: + case FIOCLEX: + break; + + case TCGETS: + case TIOCGLCKTRMIOS: + /* assumes host OS matches Linux/ia64 */ + bytes_out = sizeof (struct termios); + break; + + case TCSETS: + case TCSETSW: + case TCSETSF: + case TIOCSLCKTRMIOS: + /* assumes host OS matches Linux/ia64 */ + bytes_in = sizeof (struct termios); + break; + + case TCGETA: + /* assumes host OS matches Linux/ia64 */ + bytes_out = sizeof (struct termio); + break; + + case TCSETA: + case TCSETAW: + case TCSETAF: + /* assumes host OS matches Linux/ia64 */ + bytes_in = sizeof (struct termio); + break; + + case TIOCGPGRP: + case TIOCOUTQ: + case TIOCMGET: + case TIOCGSOFTCAR: + case TIOCINQ: + case TIOCGETD: + case TIOCGSID: + case FIOASYNC: + bytes_out = 4; + break; + + case TIOCSPGRP: + case TIOCMBIS: + case TIOCMBIC: + case TIOCMSET: + case TIOCSSOFTCAR: + case TIOCPKT: + case FIONBIO: + case TIOCSETD: + bytes_in = 4; + break; + + case TIOCSTI: + bytes_in = 1; + break; + + case TIOCGWINSZ: + /* assumes host OS matches Linux/ia64 */ + bytes_out = sizeof (struct winsize); + break; + + case TIOCSWINSZ: + /* assumes host OS matches Linux/ia64 */ + bytes_in = sizeof (struct winsize); + break; + + case TIOCLINUX: + strcpy ((char *)msg, "syscall-linux.c: TIOCLINUX unimplemented\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case TIOCGSERIAL: + bytes_out = sizeof (struct serial_struct); + break; + + case TIOCSSERIAL: + bytes_in = sizeof (struct serial_struct); + break; + + case FIOSETOWN: + case SIOCSPGRP: + case SIOCSIFENCAP: + bytes_in = 4; + break; + + case FIOGETOWN: + case SIOCGPGRP: + case SIOCATMARK: + case SIOCGIFENCAP: /* get encapsulations */ + bytes_out = 4; + break; + + case SIOCGSTAMP: /* get stamp */ + *status = ioctl (fdmap[arg0], SIOCGSTAMP, &host_timeval); + lia64_timeval.tv_sec = host_timeval.tv_sec; + lia64_timeval.tv_usec = host_timeval.tv_usec; + if ((int)*status != -1) + memBBWrt_alloc (ADDPTR (arg2), (BYTE*) &lia64_timeval, bytes_out); + done = 1; + break; + + case SIOCGARP: /* get ARP table entry */ + case SIOCGRARP: /* get RARP table entry */ + bytes_in = bytes_out = sizeof (struct arpreq); + break; + + case SIOCDARP: /* delete ARP table entry */ + case SIOCDRARP: /* delete RARP table entry */ + case SIOCSARP: /* set ARP table entry */ + case SIOCSRARP: /* set RARP table entry */ + bytes_in = sizeof (struct arpreq); + break; + + case SIOCGIFNAME: /* get iface name */ + case SIOCGIFFLAGS: /* get flags */ + case SIOCGIFMETRIC: /* get metric */ + case SIOCGIFMTU: /* get MTU size */ + case SIOCGIFHWADDR: /* Get hardware address */ + case SIOCGIFSLAVE: /* Driver slaving support */ + case SIOCGIFMAP: /* Get device parameters */ + case SIOCGIFINDEX: /* name -> if_index mapping */ + case SIOCGIFTXQLEN: /* Get the tx queue length */ + case SIOCGIFADDR: /* get PA address */ + case SIOCGIFBRDADDR: /* get broadcast PA address */ + case SIOCGIFDSTADDR: /* get remote PA address */ + case SIOCGIFNETMASK: /* get network PA mask */ + case SIOCGIFPFLAGS: + case SIOCGIFCOUNT: /* get number of devices */ + bytes_in = bytes_out = sizeof (struct ifreq); + break; + + case SIOCSIFFLAGS: /* set flags */ + case SIOCSIFMETRIC: /* set metric */ + case SIOCSIFMTU: /* set MTU size */ + case SIOCSIFMAP: /* set device parameters */ + case SIOCSIFHWADDR: /* set hardware address */ + case SIOCSIFSLAVE: + case SIOCADDMULTI: /* Multicast address lists */ + case SIOCDELMULTI: + case SIOCSIFHWBROADCAST:/* set hardware broadcast addr */ + case SIOCSIFTXQLEN: /* set the tx queue length */ + case SIOCSIFNAME: /* set interface name */ + case SIOCSIFADDR: /* set PA address */ + case SIOCSIFBRDADDR: /* set broadcast PA address */ + case SIOCSIFDSTADDR: /* set remote PA address */ + case SIOCSIFNETMASK: /* set network PA mask */ + case SIOCSIFPFLAGS: /* set/get extended flags set */ + bytes_in = sizeof (struct ifreq); + break; + + case SIOCADDRT: /* add routing table entry */ + case SIOCDELRT: /* delete routing table entry */ +#if 0 + bytes_in = sizeof (struct lia64_rtentry); + break; +#endif + + case TIOCSERCONFIG: + case TIOCSERGWILD: + case TIOCSERSWILD: + case TIOCSERGSTRUCT: /* For debugging only */ + case TIOCSERGETLSR: /* Get line status register */ + case TIOCSERGETMULTI: /* Get multiport config */ + case TIOCSERSETMULTI: /* Set multiport config */ + case TIOCMIWAIT: /* wait for a change on serial input line(s) */ + case TIOCGICOUNT: /* read serial port inline interrupt counts */ + case TIOCGHAYESESP: /* Get Hayes ESP configuration */ + case TIOCSHAYESESP: /* Set Hayes ESP configuration */ + case SIOCRTMSG: /* call to routing system */ + case SIOCSIFLINK: /* set iface channel */ + case SIOCGIFMEM: /* get memory address (BSD) */ + case SIOCSIFMEM: /* set memory address (BSD) */ + case SIOCDIFADDR: /* delete PA address */ + case SIOCADDDLCI: /* Create new DLCI device */ + case SIOCDELDLCI: /* Delete DLCI device */ + case SIOCGIFBR: /* Bridging support */ + case SIOCSIFBR: /* Set bridging options */ + case SIOCGIFCONF: /* get iface list */ + sprintf ((char *)msg, "syscall-linux.c: ioctl() 0x%llx unimplemented\n", + arg1); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + default: + if (arg1 < 0x10000) + { + sprintf ((char *)msg, "syscall-linux.c: suspect ioctl() 0x%llx\n", + arg1); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + + /* This is broken for ioctl() calls where the Linux/ia64 + arguments differ from that of the host OS. We'll worry + about it when we get to this point... */ + if (arg1 & LIA64_IOC_IN) + bytes_in = LIA64_IOC_SIZE (arg1); + if (arg1 & LIA64_IOC_OUT) + bytes_out = LIA64_IOC_SIZE (arg1); + } + + if (!done) + { + if (bytes_in > 0 || bytes_out > 0) + { + if (bytes_in > 0) + memBBRd (ADDPTR (arg2), buf, bytes_in); + *status = ioctl (fdmap[arg0], arg1, buf); + if (((int)*status != -1) && bytes_out > 0) + memBBWrt_alloc (ADDPTR (arg2), buf, bytes_out); + } + else + *status = ioctl (fdmap[arg0], arg1, arg2); + } + setStatReturn (ret, status); + break; + + case SYS_FCNTL: + case LIA64_fcntl: + CHECK_FD (arg0); + if (arg1 == F_GETLK || arg1 == F_SETLK || arg1 == F_SETLKW) + { + if (!arg2) + errno = memIsMapped (0) ? EINVAL : EFAULT; + else + { + memBBRd (arg2, (BYTE *) &lia64_flock, + sizeof (struct lia64_flock)); + host_flock.l_type = lia64_flock.l_type; + host_flock.l_whence = lia64_flock.l_whence; + host_flock.l_start = lia64_flock.l_start; + host_flock.l_len = lia64_flock.l_len; + host_flock.l_pid = lia64_flock.l_pid; + *status = fcntl (fdmap[arg0], arg1, &host_flock); + lia64_flock.l_type = host_flock.l_type; + lia64_flock.l_whence = host_flock.l_whence; + lia64_flock.l_start = host_flock.l_start; + lia64_flock.l_len = host_flock.l_len; + lia64_flock.l_pid = host_flock.l_pid; + memBBWrt_alloc (arg2, (BYTE *) &lia64_flock, + sizeof (struct lia64_flock)); + } + } + else + *status = fcntl (fdmap[arg0], arg1, arg2); + setStatReturn (ret, status); + break; + + case SYS_UMASK: + case LIA64_umask: + *status = umask (arg0); + setStatReturn (ret, status); + break; + + case SYS_CHROOT: + case LIA64_chroot: + memBBRd (ADDPTR (arg0), buf, 0); + *status = chroot ((char *) buf); + setStatReturn (ret, status); + break; + +#if defined(__hpux) + case LIA64_ustat: + *status = ustat (arg0, (struct ustat *) buf); + memBBWrt_alloc (ADDPTR (arg1), buf, sizeof (struct ustat)); + setStatReturn (ret, status); + break; +#endif + + case SYS_DUP2: + case LIA64_dup2: + CHECK_FD (arg0); + CHECK_FD (arg1); + + if (interface == BATCH) + { + /* in batch mode, fdmap[] is an identity map... */ + *status = dup2 (arg0, arg1); + if ((int) *status != -1) + { + setFdmap (arg0, arg0); + setFdmap (arg1, arg1); + } + } + else + { + if (fdmap[arg1] >= 0) + close (fdmap[arg1]); + *status = dup (fdmap[arg0]); + setFdmap (arg1, *status); + } + setStatReturn (ret, status); + break; + + case LIA64_setreuid: + *status = setreuid (arg0, arg1); + setStatReturn (ret, status); + break; + + case LIA64_setregid: + *status = setregid (arg0, arg1); + setStatReturn (ret, status); + break; + + case LIA64_getresuid: + { + lia64_uid_t lia64_uid, lia64_euid, lia64_suid; + uid_t host_uid, host_euid, host_suid; + + *status = getresuid (&host_uid, &host_euid, &host_suid); + lia64_uid = host_uid; + lia64_euid = host_euid; + lia64_suid = host_suid; + if ((int) *status != -1) + { + memBBWrt_alloc (ADDPTR (arg0), (BYTE *) &lia64_uid, + sizeof (lia64_uid)); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_euid, + sizeof (lia64_uid)); + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &lia64_suid, + sizeof (lia64_uid)); + } + } + setStatReturn (ret, status); + break; + + case LIA64_setresuid: + *status = setresuid (arg0, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_getresgid: + { + lia64_gid_t lia64_gid, lia64_egid, lia64_sgid; + gid_t host_gid, host_egid, host_sgid; + + *status = getresgid (&host_gid, &host_egid, &host_sgid); + lia64_gid = host_gid; + lia64_egid = host_egid; + lia64_sgid = host_sgid; + if ((int) *status != -1) + { + memBBWrt_alloc (ADDPTR (arg0), (BYTE *) &lia64_gid, + sizeof (lia64_gid)); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_egid, + sizeof (lia64_gid)); + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &lia64_sgid, + sizeof (lia64_gid)); + } + } + setStatReturn (ret, status); + break; + + case LIA64_setresgid: + *status = setresgid (arg0, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_getgroups: + *status = getgroups (sizeof (buf) / sizeof (lia64_gid_t), + (gid_t *) buf); + if ((int) *status != -1) + for (i = 0, bp = buf; i < MIN (*status, arg0); ++i) + { + lia64_gid = *(gid_t *) bp; + memBBWrt_alloc (arg1, (BYTE *) &lia64_gid, sizeof (lia64_gid)); + bp += sizeof (gid_t); + arg1 += sizeof (lia64_gid); + } + setStatReturn (ret, status); + break; + + case LIA64_setgroups: + for (i = 0, bp = buf, tmp = arg1; i < arg0; ++i) + { + memBBRd (tmp, (BYTE *) &lia64_gid, sizeof (lia64_gid)); + *(gid_t *) bp = lia64_gid; + bp += sizeof (gid_t); + tmp += sizeof (lia64_gid); + } + *status = setgroups (arg0, (const gid_t *) buf); + setStatReturn (ret, status); + break; + + case LIA64_getpgid: + *status = __getpgid (arg0); + setStatReturn (ret, status); + break; + + case LIA64_setpgid: + *status = setpgid (arg0, arg1); + setStatReturn (ret, status); + break; + + case LIA64_setsid: + *status = setsid (); + setStatReturn (ret, status); + break; + + case LIA64_getsid: + *status = getsid (arg0); + setStatReturn (ret, status); + break; + + case LIA64_sethostname: + if (arg1 > 0) + memBBRd(ADDPTR(arg0), buf, arg1); + *status = sethostname ((char *) buf, arg1); + setStatReturn (ret, status); + break; + + case LIA64_setrlimit: + memBBRd (arg1, (BYTE *)&lia64_rlimit, sizeof (struct lia64_rlimit)); + host_rlimit.rlim_cur = lia64_rlimit.rlim_cur; + host_rlimit.rlim_max = lia64_rlimit.rlim_max; + switch (arg0) + { + case LIA64_RLIMIT_CPU: resource = RLIMIT_CPU; break; + case LIA64_RLIMIT_FSIZE: resource = RLIMIT_FSIZE; break; + case LIA64_RLIMIT_DATA: resource = RLIMIT_DATA; break; + case LIA64_RLIMIT_STACK: resource = RLIMIT_STACK; break; + case LIA64_RLIMIT_CORE: resource = RLIMIT_CORE; break; + case LIA64_RLIMIT_RSS: resource = RLIMIT_RSS; break; + case LIA64_RLIMIT_NPROC: resource = RLIMIT_NPROC; break; + case LIA64_RLIMIT_NOFILE: resource = RLIMIT_NOFILE; break; + case LIA64_RLIMIT_MEMLOCK: resource = RLIMIT_MEMLOCK; break; + case LIA64_RLIMIT_AS: resource = RLIMIT_AS; break; + default: resource = -1; break; + } + *status = setrlimit (resource, &host_rlimit); + setStatReturn (ret, status); + break; + + case LIA64_getrlimit: + switch (arg0) + { + case LIA64_RLIMIT_CPU: resource = RLIMIT_CPU; break; + case LIA64_RLIMIT_FSIZE: resource = RLIMIT_FSIZE; break; + case LIA64_RLIMIT_DATA: resource = RLIMIT_DATA; break; + case LIA64_RLIMIT_STACK: resource = RLIMIT_STACK; break; + case LIA64_RLIMIT_CORE: resource = RLIMIT_CORE; break; + case LIA64_RLIMIT_RSS: resource = RLIMIT_RSS; break; + case LIA64_RLIMIT_NPROC: resource = RLIMIT_NPROC; break; + case LIA64_RLIMIT_NOFILE: resource = RLIMIT_NOFILE; break; + case LIA64_RLIMIT_MEMLOCK: resource = RLIMIT_MEMLOCK; break; + case LIA64_RLIMIT_AS: resource = RLIMIT_AS; break; + default: resource = -1; break; + } + *status = getrlimit (resource, &host_rlimit); + if ((int) *status != -1) + { + lia64_rlimit.rlim_cur = host_rlimit.rlim_cur; + lia64_rlimit.rlim_max = host_rlimit.rlim_max; + memBBWrt_alloc (arg1, (BYTE *)&lia64_rlimit, + sizeof (struct lia64_rlimit)); + } + setStatReturn (ret, status); + break; + + case LIA64_getrusage: + *status = getrusage (arg0, &host_rusage); + if ((int) *status != -1) + rusage_host2lia64 (&host_rusage, &lia64_rusage); + setStatReturn (ret, status); + break; + + case SYS_GETTIMEOFDAY: + case LIA64_gettimeofday: + *status = gettimeofday (&host_timeval, &tzbuf); + if ((int)*status != -1) + { + lia64_timeval.tv_sec = host_timeval.tv_sec; + lia64_timeval.tv_usec = host_timeval.tv_usec; + memBBWrt_alloc (arg0, (BYTE *) &lia64_timeval, + sizeof (lia64_timeval)); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &tzbuf, + sizeof (tzbuf)); + } + setStatReturn (ret, status); + break; + + case LIA64_settimeofday: + memBBRd (arg0, (BYTE *) &lia64_timeval, sizeof (lia64_timeval)); + memBBRd (ADDPTR (arg1), (BYTE *) &tzbuf, sizeof (tzbuf)); + host_timeval.tv_sec = lia64_timeval.tv_sec; + host_timeval.tv_usec = lia64_timeval.tv_usec; + *status = settimeofday (&host_timeval, &tzbuf); + setStatReturn (ret, status); + break; + + case LIA64_select: + nfds = 0; + if (arg1) + { + memBBRd (ADDPTR (arg1), buf, FD_SETSIZE/8); + readfds = mapSelectFds (buf, arg0, &nfds); + rfds = &readfds; + } + else + rfds = NULL; + if (arg2) + { + memBBRd (ADDPTR (arg2), buf, FD_SETSIZE/8); + writefds = mapSelectFds (buf, arg0, &nfds); + wfds = &writefds; + } + else + wfds = NULL; + if (arg3) + { + memBBRd (ADDPTR (arg3), buf, FD_SETSIZE/8); + errorfds = mapSelectFds (buf, arg0, &nfds); + efds = &errorfds; + } + else + efds = NULL; + tmout = NULL; + if (arg4) + { + memBBRd (arg4, (BYTE *) &lia64_timeval, sizeof (lia64_timeval)); + host_timeval.tv_sec = lia64_timeval.tv_sec; + host_timeval.tv_usec = lia64_timeval.tv_usec; + tmout = &host_timeval; + } + *status = select (nfds, rfds, wfds, efds, tmout); + if (rfds) + { + readfds = mapBackSelectFds (rfds, nfds); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &readfds, FD_SETSIZE/8); + } + if (wfds) + { + writefds = mapBackSelectFds (wfds, nfds); + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &writefds, FD_SETSIZE/8); + } + if (efds) + { + errorfds = mapBackSelectFds (efds, nfds); + memBBWrt_alloc (ADDPTR (arg3), (BYTE *) &errorfds, FD_SETSIZE/8); + } + setStatReturn (ret, status); + break; + + case LIA64_poll: + { + struct pollfd *host_ufds; + + ENSURE_SIZE (arg1*sizeof (struct pollfd)); + host_ufds = (struct pollfd *) malargbuf; + if (arg1 > 0) + { + memBBRd (ADDPTR (arg0), malargbuf, arg1*sizeof (struct pollfd)); + for (i = 0; i < arg1; ++i) + { + backmap[i] = host_ufds[i].fd; /* save the original fd */ + host_ufds[i].fd = fdmap[host_ufds[i].fd]; + } + } + *status = poll ((struct pollfd *) malargbuf, arg1, arg2); + if ((int) *status != -1) + { + for (i = 0; i < arg1; ++i) + host_ufds[i].fd = backmap[i]; /* restore original fd */ + memBBWrt_alloc (ADDPTR (arg0), malargbuf, + arg1*sizeof (struct pollfd)); + } + } + setStatReturn (ret, status); + break; + + case SYS_SYMLINK: + case LIA64_symlink: + memBBRd (ADDPTR (arg0), buf, 0); + memBBRd (ADDPTR (arg1), buf2, 0); + *status = symlink ((char *) buf, (char *) buf2); + setStatReturn (ret, status); + break; + + case SYS_READLINK: + case LIA64_readlink: + simroot(ADDPTR(arg0), buf, 0); + /* make sure we have enough space in malargbuf */ + ENSURE_SIZE (arg2); + *status = readlink ((char *) buf, (char *) malargbuf, arg2); + if ((int) *status != -1) + memBBWrt_alloc (ADDPTR (arg1), malargbuf, (int) *status); + setStatReturn (ret, status); + break; + + case LIA64_uselib: + memBBRd (ADDPTR (arg0), buf, 0); + *status = uselib ((char *) buf); + setStatReturn (ret, status); + break; + + case LIA64_swapon: + memBBRd (ADDPTR (arg0), buf, 0); + *status = swapon ((char *)buf, arg1); + setStatReturn (ret, status); + break; + + case LIA64_swapoff: + memBBRd (ADDPTR (arg0), buf, 0); + *status = swapoff ((char *)buf); + setStatReturn (ret, status); + break; + + case LIA64_reboot: + *status = reboot (arg2); + setStatReturn (ret, status); + break; + + case SYS_TRUNCATE64: + case LIA64_truncate: + memBBRd (ADDPTR (arg0), buf, 0); + *status = truncate ((char *) buf, arg1); + setStatReturn (ret, status); + break; + + case SYS_FTRUNCATE64: + case LIA64_ftruncate: + CHECK_FD (arg0); + *status = ftruncate (fdmap[arg0], arg1); + setStatReturn (ret, status); + break; + + case SYS_FCHMOD: + case LIA64_fchmod: + CHECK_FD (arg0); + *status = fchmod (fdmap[arg0], arg1); + setStatReturn (ret, status); + break; + + case SYS_FCHOWN: + case LIA64_fchown: + CHECK_FD (arg0); + *status = fchown (fdmap[arg0], arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_getpriority: + errno = 0; + *status = getpriority (arg0, arg1); + setStatReturn (ret, status); + break; + + case LIA64_setpriority: + *status = setpriority (arg0, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_statfs: + case LIA64_fstatfs: + if (num == LIA64_statfs) + { + memBBRd (ADDPTR (arg0), buf, 0); + *status = statfs ((char *)buf, &host_statfs); + } + else + { + CHECK_FD (arg0); + *status = fstatfs (fdmap[arg0], &host_statfs); + } + if ((int) *status != -1) + { + lia64_statfs.f_type = host_statfs.f_type; + lia64_statfs.f_bsize = host_statfs.f_bsize; + lia64_statfs.f_blocks = host_statfs.f_blocks; + lia64_statfs.f_bfree = host_statfs.f_bfree; + lia64_statfs.f_bavail = host_statfs.f_bavail; + lia64_statfs.f_files = host_statfs.f_files; + lia64_statfs.f_ffree = host_statfs.f_ffree; + lia64_statfs.f_fsid.val[0] = host_statfs.f_fsid.__val[0]; + lia64_statfs.f_fsid.val[1] = host_statfs.f_fsid.__val[1]; + lia64_statfs.f_namelen = host_statfs.f_namelen; + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_statfs, + sizeof (lia64_statfs)); + } + setStatReturn (ret, status); + break; + + case LIA64_semget: + *status = semget (arg0, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_semop: + if (arg2 > 0) + memBBRd (ADDPTR (arg1), buf, arg2*sizeof (struct sembuf)); + *status = semop (arg0, (struct sembuf *) buf, arg2); + setStatReturn (ret, status); + break; + + case LIA64_semctl: + switch (arg2) + { + case IPC_RMID: + case GETALL: + case SETALL: + case GETVAL: + case GETPID: + case GETNCNT: + case SETVAL: + *status = semctl (arg0, arg1, arg2, arg3); + setStatReturn (ret, status); + break; + + default: + sprintf ((char *)msg, "Ignoring unimplemented semctl() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + break; + + case LIA64_msgget: + *status = semget (arg0, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_msgsnd: + case LIA64_msgrcv: + memBBRd (ADDPTR (arg1), buf, sizeof (REG) + arg2); + bp = buf; + if (sizeof (long) == 4) + { + buf[7] = buf[3]; buf[6] = buf[2]; buf[5] = buf[1]; buf[4] = buf[0]; + bp = buf + 4; + } + if (num == LIA64_msgsnd) + *status = msgsnd (arg0, bp, arg2, arg3); + else + *status = msgrcv (arg0, bp, arg2, arg3, arg4); + setStatReturn (ret, status); + break; + + case LIA64_msgctl: + if (arg1 == IPC_RMID) + { + *status = msgctl (arg0, arg1, NULL); + setStatReturn (ret, status); + } + else + { + sprintf ((char *)msg, "Ignoring unimplemented msgctl() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + break; + + case LIA64_shmget: + arg1 = page_align(arg1); + *status = shmget (arg0, arg1, arg2); + + if ((int) *status != -1) + { + if (arg0 != IPC_PRIVATE && !(arg2 & IPC_CREAT)) + { + struct shmid_ds shmid_ds; + + /* get segment size from existing shm segment: */ + if (shmctl ((int) *status, IPC_STAT, &shmid_ds) != -1) + arg1 = shmid_ds.shm_segsz; + } + shmseg_new ((int) *status, arg1); + } + setStatReturn (ret, status); + break; + + case LIA64_shmat: + *ret = EINVAL; + shmseg = shmseg_lookup_id (arg0); + if (!shmseg) + { + struct shmid_ds shmid_ds; + + /* get segment size from existing shm segment: */ + if (shmctl (arg0, IPC_STAT, &shmid_ds) != -1) + shmseg = shmseg_new (arg0, shmid_ds.shm_segsz); + } + if (shmseg) + { + *status = (REG) (long) shmat (arg0, NULL, arg2); + if ((long) *status != -1) + { + hostadr = (BYTE *) (long) *status; + + if (arg1 == 0) + arg1 = get_unmapped_area (shmseg->size); + + shmseg->addr = arg1; + shmseg->hostaddr = hostadr; + + end = page_align(arg1 + shmseg->size); + for (adr = arg1; adr < end; adr += page_size) + { + memMPMap (adr, (char *)hostadr, 1); + hostadr += page_size; + } + *status = ADDPTR (arg1); + } + } + setStatReturn (ret, status); + break; + + case LIA64_shmdt: + *ret = EINVAL; + shmseg = shmseg_lookup_addr (arg0); + if (shmseg) + { + if (shmseg->addr) + { + *status = shmdt (shmseg->hostaddr); + end = page_align(shmseg->addr + shmseg->size); + + for (adr = shmseg->addr; adr < end; adr += page_size) + memFree (adr); + setStatReturn (ret, status); + } + shmseg_free (shmseg); + } + break; + + case LIA64_shmctl: + switch (arg1) + { + case IPC_RMID: + case SHM_LOCK: + case SHM_UNLOCK: + *status = shmctl (arg0, arg1, NULL); + setStatReturn (ret, status); + break; + + default: + sprintf ((char *)msg, "Ignoring unimplemented shmctl() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + } + break; + + case LIA64_syslog: + if (arg2 > 0) + memBBRd (ADDPTR (arg1), buf, arg2); + *status = klogctl (arg0, (char *)buf, arg2); + setStatReturn (ret, status); + break; + + case LIA64_setitimer: + /* note: we do real time timers here---the simulator is much + slower than real hw which could cause premature/unwarranted + firing of timers. */ + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_itval, sizeof (lia64_itval)); + if (lia64_itval.it_interval.tv_sec == 0 + && lia64_itval.it_interval.tv_usec == 1) + { + /* some code, in particular the glibc profil() code, use + this to determine the timer granularity; to avoid dying + due to a continuous stream of SIGPROF events, we fake an + artificially low granularity... */ + lia64_itval.it_interval.tv_usec = 50000; + } + host_itval.it_interval.tv_sec = lia64_itval.it_interval.tv_sec; + host_itval.it_interval.tv_usec = lia64_itval.it_interval.tv_usec; + host_itval.it_value.tv_sec = lia64_itval.it_value.tv_sec; + host_itval.it_value.tv_usec = lia64_itval.it_value.tv_usec; + *status = setitimer (arg0, &host_itval, &host_itval); + if ((int) *status != -1 && arg2 != 0) + { + lia64_itval.it_interval.tv_sec = host_itval.it_interval.tv_sec; + lia64_itval.it_interval.tv_usec = host_itval.it_interval.tv_usec; + lia64_itval.it_value.tv_sec = host_itval.it_value.tv_sec; + lia64_itval.it_value.tv_usec = host_itval.it_value.tv_usec; + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &lia64_itval, + sizeof (lia64_itval)); + } + setStatReturn (ret, status); + break; + + case LIA64_getitimer: + *status = getitimer (arg0, &host_itval); + if ((int) *status != -1 && arg2 != 0) + { + lia64_itval.it_interval.tv_sec = host_itval.it_interval.tv_sec; + lia64_itval.it_interval.tv_usec = host_itval.it_interval.tv_usec; + lia64_itval.it_value.tv_sec = host_itval.it_value.tv_sec; + lia64_itval.it_value.tv_usec = host_itval.it_value.tv_usec; + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_itval, + sizeof (lia64_itval)); + } + setStatReturn (ret, status); + break; + + case LIA64_old_stat: + simroot(ADDPTR(arg0), buf, 0); + *status = stat ((char *) buf, &host_stat); + if ((int) *status != -1) + { + old_stat_host2lia64 (&host_stat, &lia64_old_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_old_stat, + sizeof (lia64_old_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_stat: + simroot(ADDPTR(arg0), buf, 0); + *status = stat ((char *) buf, &host_stat); + if ((int) *status != -1) + { + stat_host2lia64 (&host_stat, &lia64_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_stat, + sizeof (lia64_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_old_lstat: + simroot(ADDPTR(arg0), buf, 0); + *status = lstat ((char *) buf, &host_stat); + if ((int) *status != -1) + { + old_stat_host2lia64 (&host_stat, &lia64_old_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_old_stat, + sizeof (lia64_old_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_lstat: + simroot(ADDPTR(arg0), buf, 0); + *status = lstat ((char *) buf, &host_stat); + if ((int) *status != -1) + { + stat_host2lia64 (&host_stat, &lia64_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_stat, + sizeof (lia64_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_old_fstat: + CHECK_FD (arg0); + *status = fstat (fdmap[arg0], &host_stat); + if ((int) *status != -1) + { + old_stat_host2lia64 (&host_stat, &lia64_old_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_old_stat, + sizeof (lia64_old_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_fstat: + CHECK_FD (arg0); + *status = fstat (fdmap[arg0], &host_stat); + if ((int) *status != -1) + { + stat_host2lia64 (&host_stat, &lia64_stat); + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_stat, + sizeof (lia64_stat)); + } + setStatReturn (ret, status); + break; + + case LIA64_vhangup: + *status = vhangup (); + setStatReturn (ret, status); + break; + + case LIA64_lchown: + memBBRd (ADDPTR (arg0), buf, 0); + *status = lchown ((char *)buf, arg1, arg2); + setStatReturn (ret, status); + break; + + case LIA64_vm86: + sprintf ((char *)msg, "Ignoring unimplemented vm86() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_wait4: + *status = wait4 (arg0, &waitstatus, arg2, &host_rusage); + if ((int) *status != -1) + { + if (arg1) + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &waitstatus, 4); + if (arg3) + { + rusage_host2lia64 (&host_rusage, &lia64_rusage); + memBBWrt_alloc (ADDPTR (arg3), (BYTE *) &lia64_rusage, + sizeof (lia64_rusage)); + } + } + setStatReturn (ret, status); + break; + + case LIA64_sysinfo: + sprintf ((char *)msg, "Ignoring unimplemented sysinfo() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_clone: + case LIA64_clone2: + if ((arg0 == SIGCHLD || arg0 == (0x4100 | SIGCHLD)) && arg1 == 0) + { + /* we're doing a plain-ol' fork or vfork */ + *status = fork (); + setStatReturn (ret, status); + + if ((int) *status == 0 && interface != BATCH) + { + interface = BATCH; + fdmap_make_identity_map (); + } + } + else + { + sprintf ((char *)msg, "Ignoring unimplemented clone() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + break; + + case LIA64_setdomainname: + if (arg1 > 0) + memBBRd (ADDPTR (arg0), buf, arg1); + *status = setdomainname ((char *)buf, arg1); + setStatReturn (ret, status); + break; + + case LIA64_uname: + *status = uname ((struct utsname *) buf); + if ((int) *status == 0) + { + strcpy (&((struct utsname *)buf)->machine[0], "ia64"); + /* new glibc's check for this: */ + strcpy (&((struct utsname *)buf)->release[0], "2.4.0"); + memBBWrt_alloc (ADDPTR (arg0), buf, sizeof (struct utsname)); + } + setStatReturn (ret, status); + break; + + case LIA64_adjtimex: + sprintf ((char *)msg, "Ignoring unimplemented adjtimex() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_create_module: + case LIA64_init_module: + case LIA64_delete_module: + case LIA64_get_kernel_syms: + case LIA64_query_module: + sprintf ((char *)msg, "Ignoring unimplemented module system call %d\n", + num); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_quotactl: + sprintf ((char *)msg, "Ignoring unimplemented quotactl() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_bdflush: + sprintf ((char *)msg, "Ignoring unimplemented bdflush() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_sysfs: + sprintf ((char *)msg, "Ignoring unimplemented sysfs() system call\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_personality: + if ((arg0 & PER_MASK) == PER_LINUX) + { + *status = PER_LINUX; + setStatReturn (ret, status); + } + else + { + sprintf ((char *)msg, "Ignoring unimplemented personality(0x%x) call\n", + (int) arg0); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + break; + + case LIA64_afs_syscall: + sprintf ((char *)msg, "Ignoring unimplemented afs_syscall()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_setfsuid: + *status = setfsuid (arg0); + setStatReturn (ret, status); + break; + + case LIA64_setfsgid: + *status = setfsgid (arg0); + setStatReturn (ret, status); + break; + + case LIA64_getdents: + CHECK_FD (arg0); + max = arg2 / (sizeof (*host_dirent) - sizeof (host_dirent->d_name) + 1); + *status = getdents (fdmap[arg0], (struct dirent *) buf, + arg2 - max*(18 - dirent_name_off)); + if ((int) *status != -1) + { + REG end, total = 0; + long long lia64_ino; + lia64_off_t lia64_off; + unsigned short lia64_reclen; + + end = arg1 + arg2; + for (bp = buf; bp < buf + *status; bp += host_dirent->d_reclen) + { + host_dirent = (struct dirent *) bp; + + lia64_ino = host_dirent->d_ino; + lia64_off = host_dirent->d_off; + lia64_reclen = (host_dirent->d_reclen + (18 - dirent_name_off) + + 7) & ~7; + + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_ino, + sizeof (lia64_ino)); + memBBWrt_alloc (ADDPTR (arg1 + 8), (BYTE *) &lia64_off, + sizeof (lia64_off)); + memBBWrt_alloc (ADDPTR (arg1 + 16), (BYTE *) &lia64_reclen, 2); + memBBWrt_alloc (ADDPTR (arg1 + 18), (BYTE *)host_dirent->d_name, + strlen (host_dirent->d_name) + 1); + + arg1 += lia64_reclen; + total += lia64_reclen; + } + *status = total; + } + setStatReturn (ret, status); + break; + + case LIA64_getdents64: + CHECK_FD (arg0); + max = arg2 / (sizeof (*host_dirent) - sizeof (host_dirent->d_name) + 1); + *status = nbytes = getdents (fdmap[arg0], (struct dirent *) buf, + arg2 - max*(19 - dirent_name_off)); + if ((int) *status != -1) + { + REG end, total = 0; + long long lia64_ino; + lia64_off_t lia64_off; + unsigned char lia64_type; + unsigned short lia64_reclen; + int old_wd; + + *status = old_wd = open (".", 0); + if ((int) *status == -1) + { + setStatReturn (ret, status); + break; + } + + *status = fchdir (fdmap[arg0]); + if ((int) *status == -1) + { + fchdir (old_wd); + close (old_wd); + setStatReturn (ret, status); + break; + } + + end = arg1 + arg2; + for (bp = buf; bp < buf + nbytes; bp += host_dirent->d_reclen) + { + host_dirent = (struct dirent *) bp; + + lia64_ino = host_dirent->d_ino; + lia64_off = host_dirent->d_off; + lia64_reclen = (host_dirent->d_reclen + (19 - dirent_name_off) + + 7) & ~7; + lia64_type = 0; /* DT_UNKNOWN */ + + *status = stat (host_dirent->d_name, &host_stat); + if ((int) *status != -1) + { + if (S_ISLNK (host_stat.st_mode)) + lia64_type = 10; /* DT_LNK */ + else if (S_ISREG (host_stat.st_mode)) + lia64_type = 8; /* DT_REG */ + else if (S_ISDIR (host_stat.st_mode)) + lia64_type = 4; /* DT_DIR */ + else if (S_ISCHR (host_stat.st_mode)) + lia64_type = 2; /* DT_CHR */ + else if (S_ISBLK (host_stat.st_mode)) + lia64_type = 6; /* DT_BLK */ + else if (S_ISFIFO (host_stat.st_mode)) + lia64_type = 1; /* DT_FIFO */ + else if (S_ISSOCK (host_stat.st_mode)) + lia64_type = 12; /* DT_SOCK */ + } + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_ino, + sizeof (lia64_ino)); + memBBWrt_alloc (ADDPTR (arg1 + 8), (BYTE *) &lia64_off, + sizeof (lia64_off)); + memBBWrt_alloc (ADDPTR (arg1 + 16), (BYTE *) &lia64_reclen, 2); + memBBWrt_alloc (ADDPTR (arg1 + 18), (BYTE *) &lia64_type, 1); + memBBWrt_alloc (ADDPTR (arg1 + 19), (BYTE *) host_dirent->d_name, + strlen (host_dirent->d_name) + 1); + + arg1 += lia64_reclen; + total += lia64_reclen; + } + + fchdir (old_wd); + close (old_wd); + + *status = total; + } + setStatReturn (ret, status); + break; + + case LIA64_flock: + CHECK_FD (arg0); + *status = flock (fdmap[arg0], arg1); + setStatReturn (ret, status); + break; + + case LIA64_readv: + CHECK_FD (arg0); + *status = 0; + for (i = 0; i < arg2; ++i) + { + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_iovec, sizeof (lia64_iovec)); + ENSURE_SIZE (lia64_iovec.iov_len); + tmp = read (fdmap[arg0], malargbuf, lia64_iovec.iov_len); + if ((ssize_t) tmp == -1) + { + *status = -1; + break; + } + memBBWrt_alloc (ADDPTR (lia64_iovec.iov_base), malargbuf, tmp); + *status += tmp; + if (tmp < lia64_iovec.iov_len) + break; + arg1 += sizeof (lia64_iovec); + } + setStatReturn (ret, status); + break; + + case LIA64_writev: + CHECK_FD (arg0); + *status = 0; + for (i = 0; i < arg2; ++i) + { + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_iovec, sizeof (lia64_iovec)); + ENSURE_SIZE (lia64_iovec.iov_len); + memBBRd (ADDPTR (lia64_iovec.iov_base), malargbuf, + lia64_iovec.iov_len); + tmp = write (fdmap[arg0], malargbuf, lia64_iovec.iov_len); + if ((ssize_t) tmp == -1) + { + *status = -1; + break; + } + *status += tmp; + if (tmp < lia64_iovec.iov_len) + break; + arg1 += sizeof (lia64_iovec); + } + setStatReturn (ret, status); + break; + + case LIA64_pread: + CHECK_FD (arg0); + ENSURE_SIZE (arg2); +#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) + *status = pread (fdmap[arg0], malargbuf, arg2, arg3); +#else + *status = lseek (fdmap[arg0], arg3, SEEK_SET); + if ((off_t) *status != -1) + *status = read (fdmap[arg0], malargbuf, arg2); +#endif + if ((ssize_t) *status != -1) + memBBWrt_alloc (ADDPTR (arg1), malargbuf, *status); + setStatReturn (ret, status); + break; + + case LIA64_pwrite: + CHECK_FD (arg0); + ENSURE_SIZE (arg2); + if (arg2 > 0) + memBBRd (ADDPTR (arg1), malargbuf, arg2); +#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) + *status = pwrite (fdmap[arg0], malargbuf, arg2, arg3); +#else + *status = lseek (fdmap[arg0], arg3, SEEK_SET); + if ((off_t) *status != -1) + *status = write (fdmap[arg0], malargbuf, arg2); +#endif + setStatReturn (ret, status); + break; + + case LIA64__sysctl: + break; + + case LIA64_mmap: + case LIA64_mmap2: + { + int fd = -1, flags; + + if (num == LIA64_mmap2) + arg5 *= page_size; /* convert page offset into byte offset */ + + if (!(arg2 & PROT_WRITE)) + { + arg2 |= PROT_WRITE; + if (arg3 & MAP_SHARED) + { + arg3 &= ~(REG)MAP_SHARED; + arg3 |= (REG)MAP_PRIVATE; + } + } + + if (!(arg3 & MAP_ANONYMOUS)) + { + CHECK_FD (arg4); + fd = fdmap[arg4]; + } + + end = page_align(arg0 + arg1); + + if (arg3 & MAP_FIXED) + { + for (adr = arg0; adr < end; adr += page_size) + if (memIsMapped (adr)) + { + /* page exists: unmap it */ + if (page_offset (adr) == 0) + { + *status = munmap ((void *) pmemLookup_p (adr), page_size); + if ((long) *status != 0) + goto done; + } + memFree (adr); + } + } + else + { + arg0 = get_unmapped_area (arg1); + end = page_align(arg0 + arg1); + } + + flags = arg3 & ~MAP_FIXED; + + hostadr = mmap (0, arg1, arg2, flags, fd, arg5); + if ((long) hostadr == -1) + { + *status = -1; + setStatReturn (ret, status); + goto done; + } + + for (adr = arg0; adr < end; adr += page_size) + { + memMPMap (adr, (char *)hostadr, 1); + hostadr += page_size; + } + *status = ADDPTR (arg0); + + if (!(arg3 & MAP_ANONYMOUS)) + { + off_t save = lseek (fd, 0, SEEK_CUR); + mmapSyms (fd, *status, arg1, arg5); + lseek (fd, save, SEEK_SET); + } + else if ((arg3 & MAP_PRIVATE) && (arg2 & PROT_EXEC)) + dynBlock (*status, arg1); + + setStatReturn (ret, status); + } + break; + + case SYS_MUNMAP: + case LIA64_munmap: + end = page_align(arg0 + arg1); + for (adr = arg0; adr < end; adr += page_size) + { + if (memIsMapped (adr)) + { + if (page_offset (adr) == 0) + { + *status = munmap ((void *) pmemLookup_p (adr), page_size); + if ((long) *status != 0) + break; + } + memFree (adr); + } + } + munmapSyms (ADDPTR (arg0), ADDPTR (arg0) + arg1 - 1); + setStatReturn (ret, status); + break; + + case LIA64_mlock: + case LIA64_mlockall: + case LIA64_munlock: + case LIA64_munlockall: + /* ignore these calls */ + *status = 0; + setStatReturn (ret, status); + break; + + case LIA64_mremap: + must_move = NO; + for (adr = page_align(arg0 + arg1); adr < page_align(arg0 + arg2); + adr += page_size) + if (memIsMapped (adr)) + { + /* page exists already - move if we can */ + if (!(arg3 & MREMAP_MAYMOVE)) + { + *status = ~(REG)0; + *ret = ENOMEM; + goto done; + } + must_move = YES; + break; + } + + new_base = page_base (arg0); + if (must_move) + { + /* find a suitably large free range of memory: */ + new_base = get_unmapped_area (arg2); + + /* remap old pages to new_base: */ + tmp = new_base; + for (adr = page_base (arg0); adr < page_align(arg0 + arg1); + adr += page_size) + { + memMPMap (tmp, (char*) pmemLookup_p (adr), 1); + tmp += page_size; + } + } + + /* expand mapping: */ + for (adr = page_align(new_base+arg1); adr < page_align(new_base+arg2); + adr += page_size) + pmemLookup_p (adr); + + *status = new_base; + setStatReturn (ret, status); + break; + + case LIA64_mprotect: + if (!arg2) + { + /* unmap range if no access permissions: */ + end = page_align(arg0 + arg1); + for (adr = arg0; adr < end; adr += page_size) + { + if (memIsMapped (adr)) + { + if (page_offset (adr) == 0) + { + *status = munmap ((void *) pmemLookup_p (adr), page_size); + if ((long) *status != 0) + break; + } + memFree (adr); + } + } + munmapSyms (ADDPTR (arg0), ADDPTR (arg0) + arg1 - 1); + } + else + { + *status = 0; + while (arg1 > 0) + { + tmp = arg1; + if (tmp > page_size) + tmp = page_size; + + *status = mprotect ((void *) pmemLookup_p (arg0), tmp, arg2); + if ((long) *status == -1) + break; + + arg1 -= tmp; + arg0 += tmp; + } + } + setStatReturn (ret, status); + break; + + case LIA64_msync: + for (curr = arg0; curr < arg0 + arg1; curr += page_size) + { + *status = msync ((void *) pmemLookup_p (ADDPTR (curr)), page_size, arg2); + if ((int) *status == -1) + break; + } + setStatReturn (ret, status); + break; + + case LIA64_sched_getparam: + *status = sched_setparam (arg0, (struct sched_param *) buf); + if ((int) *status != -1) + memBBWrt_alloc (ADDPTR (arg1), buf, sizeof (struct sched_param)); + setStatReturn (ret, status); + break; + + case LIA64_sched_setparam: + memBBRd (ADDPTR (arg1), buf, sizeof (struct sched_param)); + *status = sched_setparam (arg0, (struct sched_param *) buf); + setStatReturn (ret, status); + break; + + case LIA64_sched_getscheduler: + *status = sched_getscheduler (arg0); + setStatReturn (ret, status); + break; + + case LIA64_sched_setscheduler: + memBBRd (ADDPTR (arg2), buf, sizeof (struct sched_param)); + *status = sched_setscheduler (arg0, arg1, (struct sched_param *) buf); + setStatReturn (ret, status); + break; + + case LIA64_sched_yield: + *status = sched_yield (); + setStatReturn (ret, status); + break; + + case LIA64_sched_get_priority_max: + *status = sched_get_priority_max (arg0); + setStatReturn (ret, status); + break; + + case LIA64_sched_get_priority_min: + *status = sched_get_priority_min (arg0); + setStatReturn (ret, status); + break; + + case LIA64_sched_rr_get_interval: + *status = sched_rr_get_interval (arg0, &host_timespec); + if ((int) *status != -1) + { + lia64_timespec.tv_sec = host_timespec.tv_sec; + lia64_timespec.tv_nsec = host_timespec.tv_nsec; + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_timespec, + sizeof (lia64_timespec)); + } + setStatReturn (ret, status); + break; + + case LIA64_nanosleep: + memBBRd (ADDPTR (arg0), (BYTE *) &lia64_timespec, + sizeof (lia64_timespec)); + host_timespec.tv_sec = lia64_timespec.tv_sec; + host_timespec.tv_nsec = lia64_timespec.tv_nsec; + *status = nanosleep (&host_timespec, &host_timespec); + if (arg1 != 0) + { + if ((int) *status == 0) + memset (&lia64_timespec, 0, sizeof (lia64_timespec)); + else + { + lia64_timespec.tv_sec = host_timespec.tv_sec; + lia64_timespec.tv_nsec = host_timespec.tv_nsec; + } + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_timespec, + sizeof (lia64_timespec)); + } + setStatReturn (ret, status); + break; + + case LIA64_nfsservctl: + sprintf ((char *)msg, "Ignoring unimplemented call to nfsservctl()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_prctl: + sprintf ((char *)msg, "Ignoring unimplemented call to prctl()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_rt_sigaction: + CHECK_SIGNUM (arg0); + + sa = sig_act + arg0; + lia64_sigact = *sa; + + if (arg1) + memBBRd (ADDPTR (arg1), (BYTE *) sa, sizeof (lia64_sigact)); + + if (arg2) + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &lia64_sigact, + sizeof (lia64_sigact)); + + memset (&act, 0, sizeof (act)); + act.sa_flags = sa->sa_flags & ~SA_ONSTACK; + if (sa->lia_handler == (ADDR) SIG_DFL + || sa->lia_handler == (ADDR) SIG_IGN) + act.sa_handler = (void (*)()) (long) sa->lia_handler; + else + act.sa_handler = signal_queue; + *status = sigaction (arg0, &act, 0); + setStatReturn (ret, status); + break; + + case LIA64_rt_sigprocmask: + *status = 0; + *ret = 0; + if (arg2) + memBBWrt_alloc (arg2, (BYTE *) &masked_signals, + sizeof (masked_signals)); + if (arg1) + { + memBBRd (arg1, (BYTE *) &lia64_sigset, sizeof (lia64_sigset)); + switch (arg0) + { + case SIG_BLOCK: + lia64_sigset |= masked_signals; + break; + + case SIG_UNBLOCK: + lia64_sigset = masked_signals & ~lia64_sigset; + break; + + case SIG_SETMASK: + break; + + default: + *status = -1; *ret = EINVAL; + break; + } + if (status >= 0) + masked_signals = lia64_sigset; + } + break; + + case 1171: /* was getpagesize(); we keep this for backwards compat. */ + *status = page_size; + setStatReturn (ret, status); + break; + + case LIA64_sigaltstack: + /* Don't print a warning here---we'll print a warning when we + attempt to deliver a signal on an alternate stack instead. */ + break; + + case LIA64_rt_sigsuspend: + lia64_sigset = masked_signals; /* save masked_signals */ + memBBRd (arg0, (BYTE *) &masked_signals, sizeof (masked_signals)); + /* + * Block the host OS from delivering signals to avoid a + * race condition between checking pending_signals and calling + * sigsuspend: + */ + sigfillset (&sigset); + sigprocmask (SIG_BLOCK, &sigset, &saved_sigset); + + /* + * Expose all signals to simulator; we filter out/defer signals + * ourselves and always want to get Ctrl-C when in non-batch + * mode... + */ + sigemptyset (&sigset); + + *status = -1; + errno = EINTR; + + /* If no signals pending, call host's sigsuspend. */ + while (!signal_pending() && !userint) + *status = sigsuspend (&sigset); + + if (signal_pending()) + signal_invoke_handler (1); + else if (userint) { + *status = -1; + errno = EINTR; + } + masked_signals = lia64_sigset; /* restore masked signals */ + sigprocmask (SIG_SETMASK, &saved_sigset, 0); + setStatReturn (ret, status); + break; + + case LIA64_rt_sigpending: + memBBWrt_alloc (arg0, (BYTE *) &pending_signals, + sizeof (pending_signals)); + *status = *ret = 0; + break; + + case LIA64_rt_sigqueueinfo: + case LIA64_rt_sigtimedwait: + sprintf ((char *)msg, "Ignoring system call %d\n", num); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + *status = 0; + setStatReturn (ret, status); + break; + + case LIA64_getcwd: + ENSURE_SIZE (arg1); + cp = getcwd ((char *)malargbuf, arg1); + if (cp) + { + *status = strlen ((char *)malargbuf) + 1; + memBBWrt_alloc (ADDPTR (arg0), malargbuf, *status); + } + setStatReturn (ret, status); + break; + + case LIA64_capget: + /* GNU libc 2.0 doesn't seem to provide access to the capget() + syscall */ + sprintf ((char *)msg, "Ignoring unimplemented call to capget()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_capset: + /* GNU libc 2.0 doesn't seem to provide access to the capset() + syscall */ + sprintf ((char *)msg, "Ignoring unimplemented call to capset()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_sendfile: + /* GNU libc 2.0 doesn't seem to provide access to the sendfile() + syscall */ + sprintf ((char *)msg, "Ignoring unimplemented call to sendfile()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_getpmsg: + /* GNU libc 2.0 doesn't seem to provide access to the getpmsg() + syscall */ + sprintf ((char *)msg, "Ignoring unimplemented call to getpmsg()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_putpmsg: + /* GNU libc 2.0 doesn't seem to provide access to the putpmsg() + syscall */ + sprintf ((char *)msg, "Ignoring unimplemented call to putpmsg()\n"); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + break; + + case LIA64_socket: + *status = socket (arg0, arg1, arg2); + if ((int)*status > -1) + *status = fdmap_alloc (*status); + setStatReturn (ret, status); + break; + + case LIA64_bind: + CHECK_FD (arg0); + addrlen = arg2; + if (addrlen > 0) + { + ENSURE_SIZE (addrlen); + memBBRd (ADDPTR(arg1), malargbuf, addrlen); + } + *status = bind (fdmap[arg0], (struct sockaddr *) malargbuf, addrlen); + setStatReturn (ret, status); + break; + + case LIA64_connect: + CHECK_FD (arg0); + addrlen = arg2; + if (addrlen > 0) + { + ENSURE_SIZE (addrlen); + memBBRd (ADDPTR(arg1), malargbuf, addrlen); + } + *status = connect (fdmap[arg0], (struct sockaddr *) malargbuf, addrlen); + setStatReturn (ret, status); + break; + + case LIA64_listen: + CHECK_FD (arg0); + *status = listen (fdmap[arg0], arg1); + setStatReturn (ret, status); + break; + + case LIA64_accept: + CHECK_FD (arg0); + addrlen = 0; + sockaddr = NULL; + if (arg2) + memBBRd (ADDPTR (arg2), (BYTE *) &addrlen, 4); + if (addrlen > 0) + { + ENSURE_SIZE (addrlen); + sockaddr = (struct sockaddr *) malargbuf; + } + *status = accept (fdmap[arg0], sockaddr, &addrlen); + if ((int) *status != -1) + { + if (arg1) + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) sockaddr, addrlen); + if (arg2) + memBBWrt_alloc (ADDPTR (arg2), (BYTE *) &addrlen, 4); + *status = fdmap_alloc (*status); + } + setStatReturn (ret, status); + break; + + case LIA64_getsockname: + CHECK_FD (arg0); + memBBRd (ADDPTR(arg2), (BYTE *) &addrlen, 4); + ENSURE_SIZE (addrlen); + *status = getsockname (fdmap[arg0], + (struct sockaddr *) malargbuf, &addrlen); + if ((int) *status != -1) + { + memBBWrt_alloc(ADDPTR(arg1), malargbuf, addrlen); + memBBWrt_alloc(ADDPTR(arg2), (BYTE *) &addrlen, 4); + } + setStatReturn (ret, status); + break; + + case LIA64_getpeername: + CHECK_FD (arg0); + memBBRd (ADDPTR(arg2), (BYTE *) &addrlen, 4); + ENSURE_SIZE (addrlen); + *status = getpeername (fdmap[arg0], + (struct sockaddr *) malargbuf, &addrlen); + if ((int) *status != -1) + { + memBBWrt_alloc(ADDPTR(arg1), malargbuf, addrlen); + memBBWrt_alloc(ADDPTR(arg2), (BYTE *) &addrlen, 4); + } + setStatReturn (ret, status); + break; + + case LIA64_socketpair: + { + int sv[2]; + int *svp = NULL; + + if (arg3) + svp = sv; + *status = socketpair (arg0, arg1, arg2, svp); + if ((int)*status > -1) + { + sv[0] = fdmap_alloc (sv[0]); + sv[1] = fdmap_alloc (sv[1]); + memBBWrt_alloc (ADDPTR(arg3), (BYTE *)svp, 2*sizeof(int)); + } + } + setStatReturn (ret, status); + break; + + case LIA64_send: + { + CHECK_FD (arg0); + + /* make sure we have enough space in malargbuf */ + ENSURE_SIZE (arg2); + if (arg2 > 0) + memBBRd (ADDPTR(arg1), malargbuf, arg2); + + *status = send (fdmap[arg0], malargbuf, arg2, arg3); + setStatReturn (ret, status); + } + break; + + case LIA64_sendto: + CHECK_FD (arg0); + ENSURE_SIZE (arg2); + if (arg2 > 0) + memBBRd (ADDPTR (arg1), malargbuf, arg2); + addrlen = (int) arg5; + ENSURE_SIZE2 (addrlen); + if (arg4 && addrlen > 0) + memBBRd (ADDPTR (arg4), malargbuf2, addrlen); + *status = sendto (fdmap[arg0], malargbuf, arg2, arg3, + (struct sockaddr *) malargbuf2, addrlen); + setStatReturn (ret, status); + break; + + case LIA64_recv: + { + CHECK_FD (arg0); + + /* make sure we have enough space in malargbuf */ + ENSURE_SIZE (arg2); + *status = recv (fdmap[arg0], malargbuf, arg2, arg3); + if ((int)*status > -1) + memBBWrt_alloc (ADDPTR (arg1), malargbuf, *status); + setStatReturn (ret, status); + } + break; + + case LIA64_recvfrom: + CHECK_FD (arg0); + ENSURE_SIZE (arg2); /* message buffer size */ + addrlen = 0; + if (arg5) + memBBRd (ADDPTR(arg5), (BYTE *) &addrlen, 4); + ENSURE_SIZE2 (addrlen); + *status = recvfrom (fdmap[arg0], malargbuf, arg2, arg3, + (struct sockaddr *) malargbuf2, &addrlen); + if ((int) *status != -1) + { + memBBWrt_alloc (ADDPTR (arg1), malargbuf, (int) *status); + if (arg4) + memBBWrt_alloc (ADDPTR (arg4), (BYTE *) malargbuf2, addrlen); + if (arg5) + memBBWrt_alloc (ADDPTR (arg5), (BYTE *) &addrlen, 4); + } + setStatReturn (ret, status); + break; + + case LIA64_shutdown: + CHECK_FD (arg0); + *status = shutdown (fdmap[arg0], arg1); + setStatReturn (ret, status); + break; + + case LIA64_setsockopt: + { + /* + * We support all integer type paramter + struct linger + * (because it's explicitly using int. All other options I am + * aware of are single ints so we should be fine. + */ + CHECK_FD (arg0); + + if (arg4 != sizeof (int) && arg4 != sizeof (struct linger)) + { + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit("NR_setsockopt(%d): non-supported parameter *len=%d not " + "supported\n", (int)arg2, (int)arg4); + } + ENSURE_SIZE(arg4); + + if (arg4 > 0) + memBBRd (ADDPTR (arg3), malargbuf, (unsigned)arg4); + *status = setsockopt (fdmap[arg0], arg1, arg2, malargbuf, (int)arg4); + setStatReturn (ret, status); + } + break; + + case LIA64_getsockopt: + { + socklen_t len; + + /* + * We support all integer type parameters + struct linger + * (because it's explicitly using int. All other options I am + * aware of are single ints so we should be fine. + */ + CHECK_FD (arg0); + memBBRd (ADDPTR (arg4), (BYTE *) &len, 4); + + if (len != sizeof (int) && len != sizeof (struct linger)) + { + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit ("NR_getsockopt(%d): parameter *len=%d not supported\n", + (int)arg2, (int)len); + } + ENSURE_SIZE(len); + + *status = getsockopt (fdmap[arg0], arg1, arg2, malargbuf, &len); + if ((int)*status == 0) + { + memBBWrt_alloc (ADDPTR (arg3), (BYTE *)malargbuf, len); + memBBWrt_alloc (ADDPTR (arg4), (BYTE *)&len, 4); + } + setStatReturn (ret, status); + } + break; + + case LIA64_sendmsg: + { + struct lia64_msghdr lia64_msghdr; + struct lia64_iovec *lia64_iovec; + struct msghdr msghdr; + struct iovec iovec; + size_t len, size; + + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_msghdr, sizeof (lia64_msghdr)); + memset (&msghdr, 0, sizeof (msghdr)); + if (lia64_msghdr.msg_name && lia64_msghdr.msg_namelen > 0) + { + ENSURE_SIZE(lia64_msghdr.msg_namelen); + memBBRd (ADDPTR (lia64_msghdr.msg_name), (BYTE *) malargbuf, + lia64_msghdr.msg_namelen); + msghdr.msg_name = malargbuf; + msghdr.msg_namelen = lia64_msghdr.msg_namelen; + } + + size = lia64_msghdr.msg_iovlen * sizeof (struct lia64_iovec); + msghdr.msg_iovlen = 0; + if (size > 0) + { + /* translate iovec into a single contiguous buffer: */ + lia64_iovec = alloca (size); + memBBRd (ADDPTR (lia64_msghdr.msg_iov), + (BYTE *) lia64_iovec, size); + for (size = 0, i = 0; i < lia64_msghdr.msg_iovlen; ++i) + size += lia64_iovec[i].iov_len; + ENSURE_SIZE2 (size); + bp = malargbuf2; + for (i = 0; i < lia64_msghdr.msg_iovlen; ++i) + { + len = lia64_iovec[i].iov_len; + if (len > 0) + memBBRd (ADDPTR (lia64_iovec[i].iov_base), bp, len); + bp += len; + } + iovec.iov_base = malargbuf2; + iovec.iov_len = size; + msghdr.msg_iovlen = 1; + msghdr.msg_iov = &iovec; + } + + if (lia64_msghdr.msg_control && lia64_msghdr.msg_controllen > 0) + { + ENSURE_SIZE3 (lia64_msghdr.msg_controllen); + msghdr.msg_control = malargbuf3; + cmsg_lia642host (&lia64_msghdr, &msghdr); + } + + msghdr.msg_flags = lia64_msghdr.msg_flags; + + *status = sendmsg (fdmap[arg0], &msghdr, arg2); + + setStatReturn (ret, status); + } + break; + + case LIA64_recvmsg: + { + struct lia64_msghdr lia64_msghdr; + struct lia64_iovec *lia64_iovec = 0; + struct msghdr msghdr; + struct iovec iovec; + size_t len, size; + + memBBRd (ADDPTR (arg1), (BYTE *) &lia64_msghdr, sizeof (lia64_msghdr)); + memset (&msghdr, 0, sizeof (msghdr)); + if (lia64_msghdr.msg_name && lia64_msghdr.msg_namelen > 0) + { + ENSURE_SIZE(lia64_msghdr.msg_namelen); + msghdr.msg_name = malargbuf; + msghdr.msg_namelen = lia64_msghdr.msg_namelen; + } + + size = lia64_msghdr.msg_iovlen * sizeof (struct lia64_iovec); + msghdr.msg_iovlen = 0; + if (size > 0) + { + /* translate iovec into a single contiguous buffer: */ + lia64_iovec = alloca (size); + memBBRd (ADDPTR (lia64_msghdr.msg_iov), + (BYTE *) lia64_iovec, size); + for (size = 0, i = 0; i < lia64_msghdr.msg_iovlen; ++i) + size += lia64_iovec[i].iov_len; + ENSURE_SIZE2 (size); + iovec.iov_base = malargbuf2; + iovec.iov_len = size; + msghdr.msg_iovlen = 1; + msghdr.msg_iov = &iovec; + } + + if (lia64_msghdr.msg_control && lia64_msghdr.msg_controllen > 0) + { + ENSURE_SIZE3 (lia64_msghdr.msg_controllen); + msghdr.msg_control = malargbuf3; + } + + msghdr.msg_flags = lia64_msghdr.msg_flags; + + *status = recvmsg (fdmap[arg0], &msghdr, arg2); + + if (*status != -1) + { + lia64_msghdr.msg_namelen = msghdr.msg_namelen; + lia64_msghdr.msg_flags = msghdr.msg_flags;; + + /* copy peer address, if necessary: */ + + if (lia64_msghdr.msg_name && lia64_msghdr.msg_namelen > 0) + memBBWrt_alloc (ADDPTR (lia64_msghdr.msg_name), + (BYTE *) malargbuf, msghdr.msg_namelen); + + /* copy message back into iovec: */ + + bp = malargbuf2; + nbytes = *status; + for (i = 0; nbytes > 0 && i < lia64_msghdr.msg_iovlen; ++i) + { + len = lia64_iovec[i].iov_len; + if (nbytes < len) + len = nbytes; + if (len > 0) + memBBWrt_alloc (ADDPTR (lia64_iovec[i].iov_base), bp, len); + nbytes -= len; + } + + cmsg_host2lia64 (&lia64_msghdr, &msghdr); + + /* copy back message header: */ + memBBWrt_alloc (ADDPTR (arg1), (BYTE *) &lia64_msghdr, + sizeof (lia64_msghdr)); + } + setStatReturn (ret, status); + } + break; + + case LIA64_pivot_root: + case LIA64_mincore: + case LIA64_madvise: + default: + sprintf ((char *)msg, "doSyscall: unimplemented system call %u\n", num); + sysWrite (STDERR_FILENO, msg, strlen ((char *)msg)); + } + done: + if (trace_syscalls) + cmdwPrint ("0x%llx/%lld\n", *ret, *status); +} + +static inline int +iskbdio (void) +{ + int r, nb = 0; + + /* + * we read from console in 2 steps to avoid breaking too much code + * (ioctl, then read) + */ + r = ioctl (noConsole ? 0 : cfd, FIONREAD, &nb); + if (r == -1) + { + GrWrtx (8, -1 << 8, 0); /* set exit status */ + progExit("isbkbdio: ioctl=%d\n", errno); + } + return nb > 0 ? 1 : 0; +} + +static void +writeConsole (char *buf) +{ + /* + * always use raw mode so we get a clean output + * 05/07/99 S.Eranian + */ + write (noConsole ? 1: cfd, buf, strlen (buf)); +} + +static void +allocMem (ADDR start, REG size) +{ + ADDR adr; + + for (adr = start; adr <= page_base(start + size - 1); adr += page_size) + pmemLookup_p (adr); +} + +static BOOL +addSscReq (unsigned fd, unsigned size) +{ + SscReqNode *np, *p; + int prevcnt = 0; + + if (!(np = malloc (sizeof *np))) + return NO; + for (p = sscPend; p; p = p->next) + prevcnt += p->irptcnt; + np->fd = fd; + np->count = size; + np->irptcnt = IO_IRPT_CNT - prevcnt; + np->next = 0; + if (!sscHead) + sscHead = np; + else + { + for (p = sscHead; p->next; p = p->next) + ; + p->next = np; + } + if (!sscPend) + sscPend = np; + return YES; +} + +static void +delSscReq (SscReqNode *p) +{ + SscReqNode *q = sscHead; + + if (p == sscHead) + sscHead = sscHead->next; + else + { + while (q->next != p) + q = q->next; + q->next = p->next; + } + if (p == sscPend) + sscPend = sscPend->next; + free (p); +} + +static BOOL +completeXfer (unsigned fd, WORD *count) +{ + SscReqNode *p; + + for (p = sscPend; p; p = p->next) + if (p->fd == fd) + { + *count = p->count; + delSscReq (p); + return YES; + } + return NO; +} + +static BOOL +getXfer (unsigned *fd, WORD *count) +{ + SscReqNode *p = sscHead; + + if (p == sscPend) + return NO; + else + { + *fd = p->fd; + *count = p->count; + delSscReq (p); + return YES; + } +} + +void +pendSscIrpt (unsigned type) +{ + unsigned i, reg, bit, vector; + REG *p = &IRR0; /* assume IRR0-3 are contiguous */ + + for (i = 0; i < irptTop; i++) + if (type == irptTbl[i].type) + { + vector = irptTbl[i].irrBit; + if (vector == 1 || (vector >= 3 && vector <= 15)) + continue; /* ignore vectors 1 and 3 - 15 */ + + reg = vector >> 6 & 0x3; + bit = vector & 0x3F; + *(p + reg) |= (REG)1 << bit; + } + + if (acceptIrpt()) + intrsim = extint = YES; +} + + +#ifdef SKINET_ENABLE + +static void +async_handler (int sig) +{ + /*signal (SIGIO, async_handler);*/ + + /* + * We check on both possible events just in case + * they're both ready + */ + if (iskbdio()) pendSscIrpt (KEYBOARD_IRPT); + if (isnetio()) pendSscIrpt (NETWORK_IRPT); +} + +#else + +static void +asynckb (int sig) +{ + signal (SIGIO, asynckb); + pendSscIrpt (KEYBOARD_IRPT); +} + +#endif + +void +doSSC (HWORD num, REG arg0, REG arg1, REG arg2, REG arg3, REG *ret) +{ + static struct timezone tzp1, tzp2; + static struct timeval tp1, tp2; +#ifdef SKINET_ENABLE + static unsigned char ether[ETH_ALEN]; + /* frame: try good alignment but does not really matter because of MemRRD */ + static unsigned long frame[512]; +#endif + SscTimezone sscTimezone; + SscTimeval sscTimeval; + SscDiskStat diskStat; + SscDiskReq diskReq; + struct tm *uxTimeP; + unsigned diskXfer; + SscTime sscTime; + ssize_t nbytes; + BYTE buf[100]; + unsigned i; + BOOL olddt; + ADDR adr; + + switch (num) + { + case SSC_STOP: + progStop ("SSC breakpoint\n"); + break; + + case SSC_CTL_TRACE: +#ifdef TRACE_DAVIDM + { + extern int davidm_trace; + + davidm_trace = arg0; + } +#endif + break; + + case SSC_GET_ARGS: + { + extern char commandline[]; + extern unsigned commandline_len; + + olddt = PSR_DT; + PSR_DT = 0; + + memBBWrt(arg0, (BYTE *)commandline, commandline_len); + *ret = commandline_len; + + PSR_DT = olddt; + break; + } + + case SSC_OPEN: + olddt = PSR_DT; + PSR_DT = 0; + memBBRd (arg0, buf, 0); + PSR_DT = olddt; + if (arg1 == SSC_READ_ACCESS) + *ret = open ((char *)buf, O_RDONLY); + else if (arg1 == SSC_WRITE_ACCESS) + *ret = open ((char *)buf, O_WRONLY); + else if (arg1 == (SSC_READ_ACCESS | SSC_WRITE_ACCESS)) + *ret = open ((char *)buf, O_RDWR); + else + progExit ("doSSC (SSC_OPEN): arg1 has an illegal access type\n"); + break; + + case SSC_READ: + if ((*ret = lseek (arg0, arg3, SEEK_SET)) == -1) + return; + olddt = PSR_DT; + PSR_DT = 0; + adr = arg2; + *ret = 0; + for (i = 0, diskXfer = 0; i < arg1; i++) + { + memBBRd (adr, (BYTE *)&diskReq, sizeof (SscDiskReq)); + if ((int) diskReq.len > malargbufsize) + { + if (!(malargbuf = realloc (malargbuf, diskReq.len))) + { + *ret = -1; + break; + } + malargbufsize = diskReq.len; + } + nbytes = read (arg0, malargbuf, diskReq.len); + if (nbytes > 0) + { + diskXfer += nbytes; + allocMem (diskReq.addr, nbytes); + memBBWrt_opt (diskReq.addr, malargbuf, nbytes); + } + else if (!nbytes) + break; + else + { + *ret = -1; + break; + } + adr += sizeof (SscDiskReq); + } + if (!addSscReq (arg0, diskXfer)) + *ret = -1; + PSR_DT = olddt; +#if 0 + pendSscIrpt(SIMSCSI_IRPT); +#endif + break; + + case SSC_WRITE: + if ((*ret = lseek (arg0, arg3, SEEK_SET)) == -1) + return; + olddt = PSR_DT; + PSR_DT = 0; + adr = arg2; + for (i = 0, diskXfer = 0; i < arg1; i++) + { + memBBRd (adr, (BYTE *)&diskReq, sizeof (SscDiskReq)); + if ((int) diskReq.len > malargbufsize) + { + if (!(malargbuf = realloc (malargbuf, diskReq.len))) + { + *ret = -1; + break; + } + malargbufsize = diskReq.len; + } + if (diskReq.len > 0) + memBBRd (diskReq.addr, malargbuf, diskReq.len); + nbytes = write (arg0, malargbuf, diskReq.len); + if (nbytes > 0) + diskXfer += nbytes; + else if (!nbytes) + break; + else + { + *ret = -1; + break; + } + adr += sizeof (SscDiskReq); + } + if (!addSscReq (arg0, diskXfer)) + *ret = -1; + PSR_DT = olddt; +#if 0 + pendSscIrpt(SIMSCSI_IRPT); +#endif + break; + + case SSC_CLOSE: + *ret = close (arg0); + break; + + case SSC_WAIT_COMPLETION: + olddt = PSR_DT; + PSR_DT = 0; + memBBRd (arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + if (completeXfer (diskStat.fd, &diskStat.count)) + { + memBBWrt(arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + *ret = 0; + } + else + *ret = -1; + PSR_DT = olddt; + break; + + case SSC_CONNECT_INTERRUPT: + { + BOOL found = NO; + + for (i = 0; i < irptTop && !found; i++) + if (irptTbl[i].type == arg0) + { + irptTbl[i].irrBit = arg1; + found = YES; + } + if (!found) + { + irptTbl[irptTop].type = arg0; + irptTbl[irptTop].irrBit = arg1; + irptTop++; + } + if (arg0 == KEYBOARD_IRPT) + { + /* enable async keyboard input */ +#if defined SKINET_ENABLE + signal (SIGIO, async_handler); +#else /* !defined SKINET_ENABLE */ + /* FIXME_laurentm: is this correct? */ + signal (SIGIO, asynckb); +#endif /* !defined SKINET_ENABLE */ + /* + * S.Eranian 01/20/1999 + * + * Fixed the missing F_SETOWN to actually enable + * the SIGIO delivery on the resource. + */ + if (noConsole) { + fcntl (0, F_SETOWN, getpid()); + fcntl (0, F_SETFL, fcntl(0,F_GETFL,0)|O_ASYNC|O_NONBLOCK); + } else { + fcntl (cfd, F_SETOWN, getpid()); + fcntl (cfd, F_SETFL, fcntl(cfd,F_GETFL,0)|O_ASYNC|O_NONBLOCK); + } + } + /* no return value */ + break; + } + + case SSC_GENERATE_INTERRUPT: + pendSscIrpt (arg0); + /* no return value */ + break; + + case SSC_GET_COMPLETION: + olddt = PSR_DT; + PSR_DT = 0; + if (getXfer (&diskStat.fd, &diskStat.count)) + { + memBBWrt (arg0, (BYTE *)&diskStat, sizeof (SscDiskStat)); + *ret = 0; + } + else + *ret = -1; + PSR_DT = olddt; + break; + + case SSC_GET_RTC: + olddt = PSR_DT; + PSR_DT = 0; + gettimeofday (&tp1, &tzp1); + + uxTimeP = localtime ((const time_t *)&tp1.tv_sec); + sscTime.year = uxTimeP->tm_year; + sscTime.mon = uxTimeP->tm_mon; + sscTime.mday = uxTimeP->tm_mday; + sscTime.hour = uxTimeP->tm_hour; + sscTime.min = uxTimeP->tm_min; + sscTime.sec = uxTimeP->tm_sec; + sscTime.msec = tp1.tv_usec/1000; + sscTime.wday = uxTimeP->tm_wday; + olddt = PSR_DT; + PSR_DT = 0; + memBBWrt (arg0, (BYTE *)&sscTime, sizeof (SscTime)); + PSR_DT = olddt; + /* no return value */ + break; + + case SSC_GET_TOD: + olddt = PSR_DT; + PSR_DT = 0; + + gettimeofday (&tp2, &tzp2); + sscTimeval.ssc_Sec = tp2.tv_sec; + sscTimeval.ssc_Usec = tp2.tv_usec; + sscTimezone.ssc_Minuteswest = tzp2.tz_minuteswest; + sscTimezone.ssc_Dsttime = tzp2.tz_dsttime; + memBBWrt (arg0, (BYTE *)&sscTimeval, sizeof (SscTimeval)); + if ( arg1 ) memBBWrt (arg1, (BYTE *)&sscTimezone, + sizeof (SscTimezone)); + PSR_DT = olddt; + /* no return value */ + break; + + case SSC_LOAD_SYMBOLS: + olddt = PSR_DT; + PSR_DT = 0; + memBBRd (arg1, buf, 0); + /* arg0, arg2, and arg3 are currently not used */ + if (elfSymLoad((char *)buf)) + *ret = 0; + else + *ret = -1; + PSR_DT = olddt; + break; + + case SSC_SET_PERIODIC_INTERRUPT: + if (arg0 == CLK_TIMER_IRPT) + clkTmr = clkTmrSve = arg1; + else if (arg0 == PROF_TIMER_IRPT) + profTmr = profTmrSve = arg1; + else + progExit("SSC_SET_PERIODIC: arg0 has an illegal interrupt type\n"); + /* no return value */ + break; + + case SSC_CONSOLE_INIT: + if (noConsole) + { + struct termios ttyIos; + + /* + * this code is just to make sure that we get the same behavior + * from the real tty as we would with the xterm + * 05/07/99 S.Eranian + */ + tcgetattr (0, &ttyIos); + sane_ttyIos = ttyIos; + + atexit (restore_tty); + + /* termios makes it easy to go raw... */ + cfmakeraw (&ttyIos); + + ttyIos.c_cc[VMIN] = 0; + ttyIos.c_cc[VTIME] = 0; + + tcsetattr (0, TCSANOW, &ttyIos); + } + else + *ret = cfd = initConsole (1); + break; + + case SSC_EXIT: + GrWrtx (8, arg0, 0); +#ifdef SKINET_ENABLE + netdev_cleanup(); +#endif + progExit ("kernel exited with status %d\n", (int)arg0); + break; + + case SSC_PUTCHAR: + buf[0] = arg0; + buf[1] = '\0'; + writeConsole ((char *)buf); + /* no return value */ + break; + + case SSC_GETCHAR: + { + char c; + readConsole (&c); + + *ret = c; + GrWrtx (8, c, 0); + } + break; + +#ifdef SKINET_ENABLE + + case SSC_NETDEV_PROBE: + { + olddt = PSR_DT; + PSR_DT = 0; + memBBRd (arg0, buf, 0); + + /* buf holds the device name to open on the host */ + *ret = (long)netdev_open ((char *)buf, ether); + + /* copy back the link level addr */ + memBBWrt (arg1, (BYTE *)ether, sizeof (ether)); + + PSR_DT = olddt; + } + break; + + case SSC_NETDEV_SEND: + { + extern long netdev_send (int, char *, int); + olddt = PSR_DT; + PSR_DT = 0; + if (arg2 > 0) + memBBRd (arg1, (BYTE *)frame, arg2); + PSR_DT = olddt; + *ret = netdev_send (arg0, (char *)frame, arg2); + } + break; + + case SSC_NETDEV_RECV: + { + extern long netdev_recv (int, char *, int); + + *ret = netdev_recv (arg0, (char *)frame, arg2); + olddt = PSR_DT; + PSR_DT = 0; + memBBWrt (arg1, (BYTE *)frame, *ret); + PSR_DT = olddt; + } + break; + + case SSC_NETDEV_ATTACH: + *ret = netdev_attach ((int)arg0, (unsigned int)arg1); + signal (SIGIO, async_handler); + break; + + case SSC_NETDEV_DETACH: + *ret = netdev_detach ((int)arg0); + break; +#endif /* SKINET_ENABLE */ + } +} + +REG +sys_get_cycle_count (void) +{ + if (!unixABI) + return ITC; + else + { +# define CYCLES_PER_SEC 700 + struct timeval now; + + gettimeofday (&now, 0); + + return (1000000 * (REG) now.tv_sec + now.tv_usec) * CYCLES_PER_SEC; + } +} + +static void doEFI_GetTime(REG arg0, REG *ret0) +{ + *ret0 = 0; + (void)memMWrt(arg0, 8, 0); + (void)memMWrt(arg0+8, 8, 0); +} + +static void doPAL(REG *ret0, REG *ret1, REG *ret2, REG *ret3) +{ + REG arg0, arg1, arg2, arg3; + BOOL junk; + + GrRd(28, arg0, junk, NO); + GrRd(29, arg1, junk, NO); + GrRd(30, arg2, junk, NO); + GrRd(31, arg3, junk, NO); + + *ret0 = *ret1 = *ret2 = *ret3 = 0; + if (arg0 == 0x4ULL) { /* PAL_CACHE_SUMMARY */ + *ret1 = 3; /* CACHE_LEVELS_MIN */ + } else if (arg0 == 0x2ULL) { /* PAL_CACHE_INFO */ + /* XXX - are these cache parameters OK? */ + switch ((int)arg1) { + case 0: + *ret1 = 4<<8; /* L1I_INST_DAT_CACHE_ASSOC */ + *ret2 = 0x4000; /* L1I_INST_DAT_CACHE_SZ */ + break; + case 1: + *ret1 = arg2 == 1 ? 0 : 6<<8; /* L2_UNIF_CACHE_ASSOC */ + *ret2 = arg2 == 1 ? 0 : 0x18000;/* L2_UNIF_CACHE_SZ */ + break; + case 2: + /* L3 Unified Cache w/ line size = 32, assoc = 4 */ + *ret1 = arg2 == 1 ? 0 : 5<<16|4<<8; + *ret2 = arg2 == 1 ? 0 : 0x200000;/* L3_UNIF_CACHE_SZ */ + break; + } + } else if (arg0 == 0x8ULL) { /* PAL_VM_SUMMARY */ + *ret1 = 7ULL<<40 | 7ULL<<32 | 15ULL<<16 | 18ULL<<8; + *ret2 = 18ULL<<8 | 50; + } else if (arg0 == 0x9ULL) { /* PAL_BUS_GET_FEATURES */ + *ret1 = 0; /* avail */ + *ret2 = 0; /* status */ + *ret3 = 0; /* control */ + } else if (arg0 == 0xBULL) { /* PAL_DEBUG_INFO */ + *ret1 = 4; + *ret2 = 4; + } else if (arg0 == 0xEULL) { /* PAL_FREQ_RATIOS */ + *ret1 = 0x800000002ULL; + *ret2 = 0x100000001ULL; + *ret3 = 0x800000002ULL; + } else if (arg0 == 0xFULL) { /* PAL_PERF_MON_INFO */ + *ret1 = 0ULL<<24 | 0ULL<<16 | 0ULL<<8 | 4; + } else if (arg0 == 0x11ULL) { /* PAL_PROC_GET_FEATURES */ + *ret1 = 0; /* avail */ + *ret2 = 0; /* status */ + *ret3 = 0; /* control */ + } else if (arg0 == 0x14ULL) { /* PAL_VERSION */ + *ret1 = 0; /* min_pal_ver */ +#if 0 + *ret2 = 0xFFULL<<24; /* cur_pal_ver (vendor == INTEL) */ +#else + *ret2 = 0; /* cur_pal_ver */ +#endif + } else if (arg0 == 0x22ULL) { /* PAL_VM_PAGE_SIZE */ + *ret1 = 15557ULL << 12; + } else + progStop("bad PAL call\n"); +} + +static HWORD pciCmd; +static BYTE pciCacheLineSz, pciLatTmr; +WORD pciBar[6] = {0xFFFFE001, 0xFFFFE000, 0xFFFFE000}; + +static REG pciConfigRd(REG arg1, REG arg2) +{ + BYTE segno, busno, devno, fnno, regno; + + segno = BitfR(arg1,32,8); + busno = BitfR(arg1,40,8); + devno = BitfR(arg1,48,5); + fnno = BitfR(arg1,53,3); + regno = BitfR(arg1,56,8); + if (arg1 == 0x7800) /* Azusa platform */ + return arg2 == 2 ? 0x1000 : 0x000c1000; + if (arg1 == 0x7804 && arg2 == 2) /* command */ + return pciCmd; + if (arg1 == 0x7804 && arg2 == 4) /* command/status */ + return pciCmd; + if (arg1 == 0x7806 && arg2 == 2) /* status */ + return 0x0000; + if (arg1 == 0x7808 && arg2 == 4) /* revision ID and class code */ + return 0x0100000A; + if (arg1 == 0x780A && arg2 == 2) /* class */ + return 0x0100; /* SCSI bus controller */ + if (arg1 == 0x780C && arg2 == 2) /* cache line size & latency timer */ + return (HWORD)pciLatTmr << 8 | pciCacheLineSz; + if (arg1 == 0x780E && arg2 == 1) /* header type */ + return 0x00; + if (arg1 >= 0x7810 && arg1 <= 0x7824 && arg2 == 4) /* BARs */ + return pciBar[(arg1-0x7810)>>2]; + if (arg1 == 0x7830 && arg2 == 4) /* Expansion ROM */ + return 0x00000000; + if (arg1 == 0x783D && arg2 == 1) /* Interrupt Pin */ + return 0x01; + if (!segno && !busno && !fnno && !regno && arg2 == 4) + return 0xFFFFFFFF; + progStop("bad FW call\n"); + return 0; +} + +static void pciConfigWr(REG arg1, REG arg2, REG arg3) +{ + BYTE segno, busno, devno, fnno, regno; + + segno = BitfR(arg1,32,8); + busno = BitfR(arg1,40,8); + devno = BitfR(arg1,48,5); + fnno = BitfR(arg1,53,3); + regno = BitfR(arg1,56,8); + if (arg1 == 0x7804 && arg2 == 2) { /* command */ + pciCmd = arg3; + return; + } +/* XXX - this case seems to only be currently used in a situation that + probably should never occur, so perhaps move this to the end? + */ + if (arg1 == 0x780C && arg2 == 1) { /* cache line size */ + pciCacheLineSz = BitfR(arg3,56,8); + return; + } + if (arg1 == 0x780C && arg2 == 2) { /* cache line size & latency timer */ + pciCacheLineSz = BitfR(arg3,56,8); + pciLatTmr = BitfR(arg3,48,8); + return; + } + if (arg1 == 0x7810 && arg2 == 4) { /* I/O BAR */ + pciBar[(arg1-0x7810)>>2] = (arg3 & ~0x1FFFULL) | 1; + return; + } + if (arg1 >= 0x7814 && arg1 <= 0x7818 && arg2 == 4) { /* Memory BARs */ + pciBar[(arg1-0x7810)>>2] = arg3 & ~0x1FFFULL; + return; + } + if (arg1 >= 0x781C && arg1 <= 0x7824 && arg2 == 4) /* unimpl. BARs */ + return; + if (arg1 == 0x7830 && arg2 == 4) /* Expansion ROM */ + return; + progStop("bad FW call\n"); +} + +REG doFW(REG imm, REG arg0, REG arg1, REG arg2, REG arg3) +{ + REG ret0 = 0, ret1 = 0, ret2 = 0, ret3 = 0; + + if (ip == 0x12FFFFB0ULL) + doEFI_GetTime(arg0, &ret0); + else if (arg0 < 0x100ULL) /* XXX - hack that should detect PAL calls */ + doPAL(&ret0, &ret1, &ret2, &ret3); + else if (arg0 == 0x1000000ULL) /* SAL_SET_VECTORS */ + ; + else if (arg0 == 0x1000001ULL) /* SAL_GET_STATE_INFO */ + ret0 = -5ULL; + else if (arg0 == 0x1000002ULL) /* SAL_GET_STATE_INFO_SIZE */ + ret1 = 1; + else if (arg0 == 0x1000003ULL) /* SAL_CLEAR_STATE_INFO */ + ; + else if (arg0 == 0x1000005ULL) /* SAL_MC_SET_PARAMS */ + ; + else if (arg0 == 0x1000010ULL) /* SAL_PCI_CONFIG_READ */ + ret1 = pciConfigRd(arg1, arg2); + else if (arg0 == 0x1000011ULL) /* SAL_PCI_CONFIG_WRITE */ + pciConfigWr(arg1, arg2, arg3); + else if (arg0 == 0x1000012ULL) /* SAL_FREQ_BASE */ + ret1 = 10000000ULL/*140000000ULL*/, + ret2 = 100ULL; + else + progStop("bad FW call\n"); + GrWrtx(9, ret1, 0); + GrWrtx(10, ret2, 0); + GrWrtx(11, ret3, 0); + return ret0; +} + +void saveOpenFiles(FILE *f) +{ + unsigned i, offset; + + for (i = 3; i < FDMAX; i++) { + if (!fdInfo[i].name) + continue; +#if 0 + fsync(fdmap[i]); +#endif + offset = lseek(fdmap[i], 0, SEEK_CUR); + fprintf(f, "ski_file %s %o %o %x\n", fdInfo[i].name, + fdInfo[i].oflag, fdInfo[i].mode, offset); + } +} + +void restoreOpenFile(char *name, unsigned oflag, unsigned mode, unsigned offset) +{ + int fd; + + fd = open(name, oflag, mode); + lseek(fd, offset, SEEK_SET); + fdmap[fd] = fd; +} + diff --git a/src/linux/syscall-linux.h b/src/linux/syscall-linux.h new file mode 100644 index 0000000..3191b0f --- /dev/null +++ b/src/linux/syscall-linux.h @@ -0,0 +1,241 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * IA-64 Linux syscall numbers and inline-functions. + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_SYSCALL_LINUX_H +#define _SKI_SYSCALL_LINUX_H + +#define LIA64_ni_syscall 1024 +#define LIA64_exit 1025 +#define LIA64_read 1026 +#define LIA64_write 1027 +#define LIA64_open 1028 +#define LIA64_close 1029 +#define LIA64_creat 1030 +#define LIA64_link 1031 +#define LIA64_unlink 1032 +#define LIA64_execve 1033 +#define LIA64_chdir 1034 +#define LIA64_fchdir 1035 +#define LIA64_utimes 1036 +#define LIA64_mknod 1037 +#define LIA64_chmod 1038 +#define LIA64_chown 1039 +#define LIA64_lseek 1040 +#define LIA64_getpid 1041 +#define LIA64_getppid 1042 +#define LIA64_mount 1043 +#define LIA64_umount 1044 +#define LIA64_setuid 1045 +#define LIA64_getuid 1046 +#define LIA64_geteuid 1047 +#define LIA64_ptrace 1048 +#define LIA64_access 1049 +#define LIA64_sync 1050 +#define LIA64_fsync 1051 +#define LIA64_fdatasync 1052 +#define LIA64_kill 1053 +#define LIA64_rename 1054 +#define LIA64_mkdir 1055 +#define LIA64_rmdir 1056 +#define LIA64_dup 1057 +#define LIA64_pipe 1058 +#define LIA64_times 1059 +#define LIA64_brk 1060 +#define LIA64_setgid 1061 +#define LIA64_getgid 1062 +#define LIA64_getegid 1063 +#define LIA64_acct 1064 +#define LIA64_ioctl 1065 +#define LIA64_fcntl 1066 +#define LIA64_umask 1067 +#define LIA64_chroot 1068 +#define LIA64_ustat 1069 +#define LIA64_dup2 1070 +#define LIA64_setreuid 1071 +#define LIA64_setregid 1072 +#define LIA64_getresuid 1073 +#define LIA64_setresuid 1074 +#define LIA64_getresgid 1075 +#define LIA64_setresgid 1076 +#define LIA64_getgroups 1077 +#define LIA64_setgroups 1078 +#define LIA64_getpgid 1079 +#define LIA64_setpgid 1080 +#define LIA64_setsid 1081 +#define LIA64_getsid 1082 +#define LIA64_sethostname 1083 +#define LIA64_setrlimit 1084 +#define LIA64_getrlimit 1085 +#define LIA64_getrusage 1086 +#define LIA64_gettimeofday 1087 +#define LIA64_settimeofday 1088 +#define LIA64_select 1089 +#define LIA64_poll 1090 +#define LIA64_symlink 1091 +#define LIA64_readlink 1092 +#define LIA64_uselib 1093 +#define LIA64_swapon 1094 +#define LIA64_swapoff 1095 +#define LIA64_reboot 1096 +#define LIA64_truncate 1097 +#define LIA64_ftruncate 1098 +#define LIA64_fchmod 1099 +#define LIA64_fchown 1100 +#define LIA64_getpriority 1101 +#define LIA64_setpriority 1102 +#define LIA64_statfs 1103 +#define LIA64_fstatfs 1104 +/* unused; used to be LIA64_ioperm */ +#define LIA64_semget 1106 +#define LIA64_semop 1107 +#define LIA64_semctl 1108 +#define LIA64_msgget 1109 +#define LIA64_msgsnd 1110 +#define LIA64_msgrcv 1111 +#define LIA64_msgctl 1112 +#define LIA64_shmget 1113 +#define LIA64_shmat 1114 +#define LIA64_shmdt 1115 +#define LIA64_shmctl 1116 +/* also known as klogctl() in GNU libc: */ +#define LIA64_syslog 1117 +#define LIA64_setitimer 1118 +#define LIA64_getitimer 1119 +#define LIA64_old_stat 1120 +#define LIA64_old_lstat 1121 +#define LIA64_old_fstat 1122 +#define LIA64_vhangup 1123 +#define LIA64_lchown 1124 +#define LIA64_vm86 1125 +#define LIA64_wait4 1126 +#define LIA64_sysinfo 1127 +#define LIA64_clone 1128 +#define LIA64_setdomainname 1129 +#define LIA64_uname 1130 +#define LIA64_adjtimex 1131 +#define LIA64_create_module 1132 +#define LIA64_init_module 1133 +#define LIA64_delete_module 1134 +#define LIA64_get_kernel_syms 1135 +#define LIA64_query_module 1136 +#define LIA64_quotactl 1137 +#define LIA64_bdflush 1138 +#define LIA64_sysfs 1139 +#define LIA64_personality 1140 +#define LIA64_afs_syscall 1141 +#define LIA64_setfsuid 1142 +#define LIA64_setfsgid 1143 +#define LIA64_getdents 1144 +#define LIA64_flock 1145 +#define LIA64_readv 1146 +#define LIA64_writev 1147 +#define LIA64_pread 1148 +#define LIA64_pwrite 1149 +#define LIA64__sysctl 1150 +#define LIA64_mmap 1151 +#define LIA64_munmap 1152 +#define LIA64_mlock 1153 +#define LIA64_mlockall 1154 +#define LIA64_mprotect 1155 +#define LIA64_mremap 1156 +#define LIA64_msync 1157 +#define LIA64_munlock 1158 +#define LIA64_munlockall 1159 +#define LIA64_sched_getparam 1160 +#define LIA64_sched_setparam 1161 +#define LIA64_sched_getscheduler 1162 +#define LIA64_sched_setscheduler 1163 +#define LIA64_sched_yield 1164 +#define LIA64_sched_get_priority_max 1165 +#define LIA64_sched_get_priority_min 1166 +#define LIA64_sched_rr_get_interval 1167 +#define LIA64_nanosleep 1168 +#define LIA64_nfsservctl 1169 +#define LIA64_prctl 1170 +/* 1171 is reserved for backwards compatibility with old LIA64_getpagesize */ +#define LIA64_mmap2 1172 +#define LIA64_pciconfig_read 1173 +#define LIA64_pciconfig_write 1174 +#define LIA64_perfmonctl 1175 +#define LIA64_sigaltstack 1176 +#define LIA64_rt_sigaction 1177 +#define LIA64_rt_sigpending 1178 +#define LIA64_rt_sigprocmask 1179 +#define LIA64_rt_sigqueueinfo 1180 +#define LIA64_rt_sigreturn 1181 +#define LIA64_rt_sigsuspend 1182 +#define LIA64_rt_sigtimedwait 1183 +#define LIA64_getcwd 1184 +#define LIA64_capget 1185 +#define LIA64_capset 1186 +#define LIA64_sendfile 1187 +#define LIA64_getpmsg 1188 +#define LIA64_putpmsg 1189 +#define LIA64_socket 1190 +#define LIA64_bind 1191 +#define LIA64_connect 1192 +#define LIA64_listen 1193 +#define LIA64_accept 1194 +#define LIA64_getsockname 1195 +#define LIA64_getpeername 1196 +#define LIA64_socketpair 1197 +#define LIA64_send 1198 +#define LIA64_sendto 1199 +#define LIA64_recv 1200 +#define LIA64_recvfrom 1201 +#define LIA64_shutdown 1202 +#define LIA64_setsockopt 1203 +#define LIA64_getsockopt 1204 +#define LIA64_sendmsg 1205 +#define LIA64_recvmsg 1206 +#define LIA64_pivot_root 1207 +#define LIA64_mincore 1208 +#define LIA64_madvise 1209 +#define LIA64_stat 1210 +#define LIA64_lstat 1211 +#define LIA64_fstat 1212 +#define LIA64_clone2 1213 +#define LIA64_getdents64 1214 +/* 1215? */ +/* 1216? */ +/* 1217? */ +/* 1218? */ +/* 1219? */ +/* 1220? */ +/* 1221? */ +/* 1222? */ +/* 1223? */ +/* 1224? */ +/* 1225? */ +/* 1226? */ +/* 1227? */ +/* 1228? */ +/* 1229? */ +/* 1230? */ +/* 1230? */ +/* 1231? */ +/* 1232? */ +/* 1233? */ +/* 1234? */ +/* 1235? */ +#define LIA64_exit_group 1236 /* same as LIA64_exit? */ + +#endif /* _SKI_SYSCALL_LINUX_H */ diff --git a/src/lm.h b/src/lm.h new file mode 100644 index 0000000..2bdda96 --- /dev/null +++ b/src/lm.h @@ -0,0 +1,33 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LM_H +#define _SKI_LM_H + +#define MAX_LOAD_MODULES 12 + +typedef struct { + char *name; + ADDR text_base, text_end; + ADDR unwind_base; +} LMINFO; + +extern unsigned numLms; + +#endif /* _SKI_LM_H */ diff --git a/src/load.c b/src/load.c new file mode 100644 index 0000000..e85a645 --- /dev/null +++ b/src/load.c @@ -0,0 +1,1488 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator File Loading Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include +#if defined __linux +#include +#endif +#include +#include +#include +#if defined HAVE_LIBELF_LIBELF_H +# include +#else /* !defined HAVE_LIBELF_LIBELF_H */ +# include +#endif /* !defined HAVE_LIBELF_LIBELF_H */ +#include +#include +#include +#include /* NEW for mmap */ +#include +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#define NPROC 1 +#include "program.h" +#include "libsym.h" +#include "libcore.h" +#include "exportui.h" +#include "coreui.h" +#include "lm.h" +#include "sim.h" +#include "memory.h" +#include "osload.h" + +#if defined(__FreeBSD__) +/* + * XXX There's a nasty conflict with the libelf library on FreeBSD and + * the system provided ELF headers. You either have undeclared symbols + * or conflicting types. Define what we're missing by hand. It appears + * that the libelf port is broken in this regard :-( + */ +#define ELF64_ST_BIND(info) ((info) >> 4) +#define ELF64_ST_TYPE(info) ((info) & 0xf) +#endif + +#define BSP32_ADDR 0x2000000062800000ULL +#define BSP64_ADDR 0x9FFFFFFF7F600000ULL + +#define ADDPTR(addr) (addr = (BitfX(addr,32,32) | BitfX(addr,32,2) << 61)) + +void initDwUnitTbl(int fd); + +BOOL force_user = NO; +BOOL force_system = NO; + +static ADDR text_base, text_end; +static ADDR entry_ip; +static REG psrval = 0; + +/* Command code (how argument) for elfOpen() */ +#define EO_EXEC 0 /* Executable */ +#define EO_DYN 1 /* Interpreter and/or shared libraries */ +#define EO_SYMS 2 /* Any ELF - we want symbols */ + +#define LI_TRACE 0x2 /* from load_info.h or crt0.h */ + + +extern void addLM (const char*, Elf64_Phdr*, int, ADDR, int); + +extern char *sim_root; +extern size_t sim_root_len; + +/*##################### Globals - Exports ##################################*/ + +ADDR dataStart = 0; /* used to set initial location of data window */ +BOOL alwaysNat = NO; +unsigned numLms = 0; + +LMINFO lminfo[MAX_LOAD_MODULES]; + +/*##################### Functions and Subroutines ##########################*/ + +#include +#include +#if !defined __linux__ +#include +#endif /* !defined __linux__ */ +#include +#include + +static void vminfo(char *s) +{ +#if 0 + struct pst_status pst; + struct pst_vm_status pstvm; + int target = (int)getpid(); + + puts(s); + pstat_getproc(&pst, sizeof pst, 0, target); + printf("data real pages = %lx\n", pst.pst_dsize); + printf("data virt pages = %lx\n", pst.pst_vdsize); + printf("mmap virt pages = %lx\n\n", pst.pst_vmmsize); + fflush(stdout); + fflush(stderr); +#endif +} + + +/* Insert symbols from the ELF section scn into the symbol table + * the symbol's address must be in the range low..high + * the st_name field must be nonzero + * the binding part of the st_info field must be STB_GLOBAL or STB_LOCAL + * the type part of the st_info field must be STT_FUNC or STT_OBJECT + * the st_shndx field must not be SHN_UNDEF? + * the address in the ELF section will be increased by reloc_addr + */ +static void elf64_symbols(Elf *elfptr, Elf_Scn *scn, Elf64_Word strndx, + ADDR reloc_addr, ADDR low, ADDR high) +{ + Elf_Data *data; + Elf_Scn *strscn; + Elf64_Sym *syms; + Elf64_Half shndx; + int i, nsyms; + unsigned bind, type; + + /* XXX - will this "fall out" naturally? */ + if (strndx == SHN_UNDEF) /* No symbols found */ + return; + data = elf_getdata(scn, 0); + syms = data->d_buf; + /* Use sh_entsize instead of sizeof? */ + nsyms = data->d_size / sizeof (Elf64_Sym); + strscn = elf_getscn(elfptr, strndx); + data = elf_getdata(strscn, 0); + for (i = 1; i < nsyms; i++) { + char *name; + Elf64_Addr value; + + if (!syms[i].st_name) + continue; + name = (char *)data->d_buf + syms[i].st_name; + if ((shndx = syms[i].st_shndx) == SHN_UNDEF) + continue; + value = syms[i].st_value; +#if 0 + /* XXX - is this right? No: _end is ABSOL! */ + if (shndx == SHN_ABS || shndx == SHN_COMMON) + continue; +#endif + if (value < low || value > high) + continue; + if (reloc_addr) { +/* value -= elf64_getshdr(elf_getscn(elfptr, shndx))->sh_addr;*/ + value -= low; + value += reloc_addr; + } + /* XXX - the cast below is used to silence the 703 Migration warning; + it might be better to place this cast in the definition of the + ELF macro or to fix the compiler to not complain here */ + bind = ELF64_ST_BIND((unsigned)syms[i].st_info); + type = ELF64_ST_TYPE(syms[i].st_info); + /* XXX - Should dataStart be based on something else like address of + lowest data segment? */ + if (!strcmp(name, "_data_start") || !strcmp(name, "__data_start")) { + dataStart = value; + if (!lp64) + ADDPTR(dataStart); + } + /* XXX - what to do with STB_WEAK symbols? */ +#if 1 /* XXX - hack to avoid inserting $DEBUG_xxx symbols which are + currently of type OBJT */ + if (strlen(name) > 12 && !strncmp(name, "$DEBUG_", 7)) + continue; +#endif +#if 0 + if (bind != STB_GLOBAL) + continue; +#else + if (bind != STB_GLOBAL && bind != STB_LOCAL) + continue; +#endif + if (type != STT_FUNC && type != STT_OBJECT && type != STT_NOTYPE) + continue; + symInsert(name, value, 0); + } +} + +static void elf32_symbols(Elf *elfptr, Elf_Scn *scn, Elf32_Word strndx, + ADDR reloc_addr, ADDR low, ADDR high) +{ + Elf_Data *data; + Elf_Scn *strscn; + Elf32_Sym *syms; + Elf32_Half shndx; + int i, nsyms; + unsigned bind, type; + + /* XXX - will this "fall out" naturally? */ + if (strndx == SHN_UNDEF) /* No symbols found */ + return; + data = elf_getdata(scn, 0); + syms = data->d_buf; + /* Use sh_entsize instead of sizeof? */ + nsyms = data->d_size / sizeof (Elf32_Sym); + strscn = elf_getscn(elfptr, strndx); + data = elf_getdata(strscn, 0); + for (i = 1; i < nsyms; i++) { + char *name; + ADDR value; + + if (!syms[i].st_name) + continue; + name = (char *)data->d_buf + syms[i].st_name; + if ((shndx = syms[i].st_shndx) == SHN_UNDEF) + continue; + type = ELF32_ST_TYPE(syms[i].st_info); + if (type == STT_SECTION) + continue; + value = syms[i].st_value; + ADDPTR(value); /* XXX - check lp64? */ + if (value < low || value > high) + continue; + if (reloc_addr) { +/* value -= elf32_getshdr(elf_getscn(elfptr, shndx))->sh_addr;*/ + value -= low; + value += reloc_addr; + } + /* XXX - the cast below is used to silence the 703 Migration warning; + it might be better to place this cast in the definition of the + ELF macro or to fix the compiler to not complain here */ + bind = ELF32_ST_BIND((unsigned)syms[i].st_info); + /* XXX - Should dataStart be based on something else like address of + lowest data segment? */ + if (!strcmp(name, "_data_start") || !strcmp(name, "__data_start")) { + dataStart = value; + if (!lp64) + ADDPTR(dataStart); + } + /* XXX - what to do with STB_WEAK symbols? */ +#if 1 /* XXX - hack to avoid inserting $DEBUG_xxx symbols which are + currently of type OBJT */ + if (strlen(name) > 12 && !strncmp(name, "$DEBUG_", 7)) + continue; +#endif +#if 0 + if (bind != STB_GLOBAL) + continue; +#else + if (bind != STB_GLOBAL && bind != STB_LOCAL) + continue; +#endif + if (type != STT_FUNC && type != STT_OBJECT) + continue; + symInsert(name, value, 0); + } +} + +static void elfClose(Elf *elfptr, int fd) +{ + (void)elf_end(elfptr); + (void)close(fd); +} + +static int +elf_is_executable(int type) +{ +#ifdef __linux + return (type == ET_EXEC || type == ET_DYN) ? 1 : 0; +#else + return (type == ET_EXEC) ? 1 : 0; +#endif +} + +static int +elf_is_shared_object(int type) +{ +#ifdef __hpux + return (type == ET_EXEC || type == ET_DYN) ? 1 : 0; +#else + return (type == ET_DYN) ? 1 : 0; +#endif +} + +static Elf *elfOpen(const char *file_name, FILE *errf, int *fd, int how, + unsigned char *class) +{ + Elf *elfptr; + char *ident; + + /* XXX - use cmdOpenFile and fileno? */ + if ((*fd = open(file_name, O_RDONLY)) == -1) { + if (errf) + (void)fprintf(errf, "%s - %s\n", file_name, strerror(errno)); + return NULL; + } + (void)elf_version(EV_CURRENT); + if (!(elfptr = elf_begin(*fd, ELF_C_READ, 0))) { + if (errf) + (void)fprintf(errf, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, *fd); /* XXX - OK to call elf_end(NULL)? */ + return NULL; + } + if (elf_kind(elfptr) != ELF_K_ELF) { + if (errf) + (void)fprintf(errf, "%s is not an ELF file\n", file_name); + elfClose(elfptr, *fd); + return NULL; + } + if (!(ident = elf_getident(elfptr, NULL))) { + if (errf) + (void)fprintf(errf, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, *fd); + return NULL; + } + *class = ident[EI_CLASS]; + if (*class != ELFCLASS32 && *class != ELFCLASS64) { + if (errf) + (void)fprintf(errf, "%s - unsupported ELF file class (%u)\n", + file_name, *class); + elfClose(elfptr, *fd); + return NULL; + } + if (ident[EI_DATA] != ELFDATA2LSB && ident[EI_DATA] != ELFDATA2MSB) { + if (errf) + (void)fprintf(errf, "%s - unsupported ELF data encoding (%u)\n", + file_name, ident[EI_DATA]); + elfClose(elfptr, *fd); + return NULL; + } + + if (*class == ELFCLASS64) { + Elf64_Ehdr *ehdr; + + ehdr = elf64_getehdr(elfptr); + if (ehdr == NULL) { + if (errf) + (void)fprintf(errf, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, *fd); + return NO; + } + if (ehdr->e_machine != ELF_IA_64) { + if (errf) + (void)fprintf(errf, "%s - wrong architecture (%u)\n", + file_name, ehdr->e_machine); + elfClose(elfptr, *fd); + return NO; + } + + if (how == EO_EXEC) { + if (!elf_is_executable(ehdr->e_type)) { + if (errf) + (void)fprintf(stderr, "%s - not an executable file\n", + file_name); + elfClose(elfptr, *fd); + return NO; + } + } else if (how == EO_DYN) { + if (!elf_is_shared_object(ehdr->e_type)) { + if (errf) + (void)fprintf(stderr, "%s - not a dynamic object\n", + file_name); + elfClose(elfptr, *fd); + return NO; + } + } + + if (!os_elf64_abi(ident, ehdr, (how == EO_EXEC))) { + if (errf) + (void)fprintf(stderr, "%s - unsupported ABI\n", file_name); + elfClose(elfptr, *fd); + return NO; + } + } else { + Elf32_Ehdr *ehdr; + + ehdr = elf32_getehdr(elfptr); + if (ehdr == NULL) { + if (errf) + (void)fprintf(errf, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, *fd); + return NO; + } + if (ehdr->e_machine != ELF_IA_64) { + if (errf) + (void)fprintf(errf, "%s - wrong architecture (%u)\n", + file_name, ehdr->e_machine); + elfClose(elfptr, *fd); + return NO; + } + + if (how == EO_EXEC) { + if (!elf_is_executable(ehdr->e_type)) { + if (errf) + (void)fprintf(stderr, "%s - not an executable file\n", + file_name); + elfClose(elfptr, *fd); + return NO; + } + } else if (how == EO_DYN) { + if (!elf_is_shared_object(ehdr->e_type)) { + if (errf) + (void)fprintf(stderr, "%s - not a dynamic object\n", + file_name); + elfClose(elfptr, *fd); + return NO; + } + } + + if (!os_elf32_abi(ident, ehdr, (how == EO_EXEC))) { + if (errf) + (void)fprintf(stderr, "%s - unsupported ABI\n", file_name); + elfClose(elfptr, *fd); + return NO; + } + } + + return elfptr; +} + +static void +elf64_slurp_all_symbols (Elf *elfptr, Elf64_Ehdr *ehdr, Elf64_Phdr *phdr, + ADDR load_base) +{ + Elf64_Shdr *shdr; + Elf_Scn *scn; + int i; + + for (scn = NULL; (scn = elf_nextscn(elfptr, scn)) != NULL;) { + shdr = elf64_getshdr(scn); + if (shdr->sh_type == SHT_SYMTAB || shdr->sh_type == SHT_DYNSYM) { + for (i = 0; i < ehdr->e_phnum; ++i) { + if (phdr[i].p_type != PT_LOAD) + continue; + elf64_symbols(elfptr, scn, shdr->sh_link, load_base, + phdr[i].p_vaddr, + phdr[i].p_vaddr + phdr[i].p_memsz - 1); + } + } + } +} + +static void +elf32_slurp_all_symbols (Elf *elfptr, Elf32_Ehdr *ehdr, Elf32_Phdr *phdr, + ADDR load_base) +{ + Elf32_Shdr *shdr; + Elf_Scn *scn; + int i; + + for (scn = NULL; (scn = elf_nextscn(elfptr, scn)) != NULL;) { + shdr = elf32_getshdr(scn); + if (shdr->sh_type == SHT_SYMTAB || shdr->sh_type == SHT_DYNSYM) { + for (i = 0; i < ehdr->e_phnum; ++i) { + if (phdr[i].p_type != PT_LOAD) + continue; + elf32_symbols(elfptr, scn, shdr->sh_link, load_base, + phdr[i].p_vaddr, + phdr[i].p_vaddr + phdr[i].p_memsz - 1); + } + } + } +} + +void mmapSyms(int fd, ADDR start, ADDR len, ADDR offset) +{ + Elf *elfptr; + char *ident; + unsigned char class; + ADDR end = start + len - 1; + + if (!(elfptr = elf_begin(fd, ELF_C_READ, 0))) { + (void)elf_end(elfptr); + return; + } + if (elf_kind(elfptr) != ELF_K_ELF) { + (void)elf_end(elfptr); + return; + } + if (!(ident = elf_getident(elfptr, NULL))) { + (void)elf_end(elfptr); + return; + } + if ((class = ident[EI_CLASS]) != ELFCLASS32 && class != ELFCLASS64) { + (void)elf_end(elfptr); + return; + } + if (class == ELFCLASS64) { + Elf64_Ehdr *ehdr; + Elf64_Phdr *phdr; + ADDR pstart = 0, pend = 0; + unsigned i; + + if (!(ehdr = elf64_getehdr(elfptr))) { + (void)elf_end(elfptr); + return; + } +#if 0 + if (ehdr->e_type != ET_DYN) { + (void)elf_end(elfptr); + return; + } +#endif + if (!(phdr = elf64_getphdr(elfptr))) { + (void)elf_end(elfptr); + return; + } + symDeleteAddr(start, end); + + for (i = 0; i < ehdr->e_phnum; i++) { + if (phdr[i].p_type == PT_IA_64_UNWIND) { + addLM("shlib", phdr, ehdr->e_phnum, start, 0); + break; + } + } + + for (i = 0; i < ehdr->e_phnum; i++) { + ADDR fstart, fend; + + if (phdr[i].p_type != PT_LOAD) + continue; + fstart = phdr[i].p_offset; + fend = fstart + phdr[i].p_filesz; + if (offset >= fstart && offset < fend) { + pstart = phdr[i].p_vaddr + offset - fstart; + pend = pstart + len - 1; + break; + } + } + elf64_slurp_all_symbols(elfptr, ehdr, phdr, start); + } else { /* ELFCLASS32 */ + Elf32_Ehdr *ehdr; + Elf32_Phdr *phdr; + ADDR pstart = 0, pend = 0; + unsigned i; + + if (!(ehdr = elf32_getehdr(elfptr))) { + (void)elf_end(elfptr); + return; + } +#if 0 + if (ehdr->e_type != ET_DYN) { + (void)elf_end(elfptr); + return; + } +#endif + if (!(phdr = elf32_getphdr(elfptr))) { + (void)elf_end(elfptr); + return; + } + symDeleteAddr(start, end); + for (i = 0; i < ehdr->e_phnum; i++) { + ADDR fstart, fend; + + if (phdr[i].p_type != PT_LOAD) + continue; + fstart = phdr[i].p_offset; + fend = fstart + phdr[i].p_filesz; + if (offset >= fstart && offset < fend) { + pstart = phdr[i].p_vaddr + offset - fstart; + ADDPTR(pstart); /* XXX - check lp64? */ + pend = pstart + len - 1; + break; + } + } + elf32_slurp_all_symbols(elfptr, ehdr, phdr, start); + } +} + +void munmapSyms(ADDR low, ADDR high) +{ + symDeleteAddr(low, high); +} + +void dynBlock(ADDR start, ADDR len) +{ + static char blkName[16]; + static unsigned dynCnt = 0; + + (void)sprintf(blkName, " dynBlock%u", dynCnt++); + symInsert(blkName, start, 0); +} + +static void segload(BYTE *p, ADDR addr, unsigned len, unsigned flags) +{ + unsigned size; + + for (; len; len -= size, addr += size, p += size) { + if (len + page_offset(addr) < page_size) + size = len; + else + size = page_size - page_offset(addr); + if (flags & PF_X) + memMPIWrt(addr, p, size); + else + memMPWrt(addr, p, size); + } +} + +static BOOL elf64SegmentLoad(const Elf64_Phdr *phdr, ADDR addr, int fd, + const char *file_name) +{ + BYTE *segbuf; + + if (phdr->p_filesz > phdr->p_memsz) { + fprintf(stderr, "%s - bad ELF header (file size > memory size)\n", + file_name); + return NO; + } + + if (!(segbuf = calloc(phdr->p_memsz, 1))) { + (void)fprintf(stderr, "out of memory loading %s\n", file_name); + return NO; + } + if (lseek(fd, phdr->p_offset, SEEK_SET) == -1) { + perror(file_name); + free(segbuf); + return NO; + } + if (read(fd, segbuf, phdr->p_filesz) == -1) { + perror(file_name); + free(segbuf); + return NO; + } + segload(segbuf, addr, phdr->p_memsz, phdr->p_flags); + free(segbuf); + return YES; +} + +static BOOL elf32SegmentLoad(const Elf32_Phdr *phdr, ADDR addr, int fd, + const char *file_name) +{ + BYTE *segbuf; + + if (phdr->p_filesz > phdr->p_memsz) { + (void)fprintf(stderr, + "%s - bad ELF header (file size > memory size)\n", + file_name); + return NO; + } +#if 0 +/* NEW */ + vminfo("Before segload:"); + if (phdr->p_flags & PF_X) { + void *hostadr; + + /*text_base = addr;*/ + text_end = addr + phdr->p_memsz; + hostadr = mmap(0, phdr->p_filesz, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_VARIABLE|MAP_FILE, fd, phdr->p_offset); + if (hostadr == (void *)-1) { + perror("mmap"); + return NO; + } + memMPMap(addr, hostadr, phdr->p_filesz); + return YES; + } else { + void *hostadr, *temp, *bssadr; + int i; + size_t datasz, bsssz; + + temp = mmap(0, phdr->p_memsz, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_VARIABLE|MAP_ANONYMOUS, 0, 0); + i = munmap(temp, phdr->p_memsz); + if (i == -1) { + perror("munmap"); + return NO; + } + datasz = (phdr->p_filesz + 0xFFF) & ~0xFFF; + bsssz = phdr->p_memsz - datasz; + hostadr = mmap(temp, datasz, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_FIXED|MAP_FILE, fd, phdr->p_offset); + if (hostadr != temp) { + perror("mmap"); + return NO; + } + bssadr = mmap((char *)temp+datasz, bsssz, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0); + if (bssadr != (char *)temp+datasz) { + perror("mmap"); + return NO; + } + memMPMap(addr, hostadr, phdr->p_memsz); + return YES; + } +/* NEW */ +#endif + if (!(segbuf = calloc(phdr->p_memsz, 1))) { + (void)fprintf(stderr, "out of memory loading %s\n", file_name); + return NO; + } + if (lseek(fd, phdr->p_offset, SEEK_SET) == -1) { + perror(file_name); + free(segbuf); + return NO; + } + if (read(fd, segbuf, phdr->p_filesz) == -1) { + perror(file_name); + free(segbuf); + return NO; + } + vminfo("Before segload:"); + segload(segbuf, addr, phdr->p_memsz, phdr->p_flags); + free(segbuf); + return YES; +} + +static BOOL interp(int fd, off_t offset, unsigned sz) +{ + char buffer[PATH_MAX]; + char *interpName; + Elf *elfptr; + ADDR rtld_text, rtld_data = 0, unwind_base = 0; + unsigned char class; + + strncpy(buffer, sim_root, sizeof(buffer)); + buffer[sizeof(buffer) - 1] = 0; + interpName = buffer + sim_root_len; + + if (numLms == MAX_LOAD_MODULES) { + (void)fprintf(stderr, "Too many load modules\n"); + return NO; + } + lseek(fd, offset, SEEK_SET); + read(fd, interpName, sz); + + /* skip interp info past first colon */ + (void)strtok(interpName, ":"); + interpName = buffer; + elfptr = elfOpen(interpName, stderr, &fd, EO_DYN, &class); + if (elfptr == NULL) + return NO; + + if (class == ELFCLASS64) { + Elf64_Ehdr *ehdr; + Elf64_Phdr *phdr; + unsigned i; + + if (!(ehdr = elf64_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + X_PSR_BE(psrval) = ehdr->e_flags & EF_IA_64_BE ? YES : NO; + + if (!(phdr = elf64_getphdr(elfptr))) { + (void)fprintf(stderr, "%s - %s\n", interpName, elf_errmsg(0)); + elfClose(elfptr, fd); + return NO; + } + + rtld_text = os_rtld64_text(phdr); + + for (i = 0; i < ehdr->e_phnum; i++) { + if (phdr[i].p_type == PT_IA_64_UNWIND) { + addLM("ld.so", phdr, ehdr->e_phnum, rtld_text, 1); + unwind_base = phdr[i].p_vaddr; + } + if (phdr[i].p_type != PT_LOAD) + continue; + if (phdr[i].p_flags & PF_X) { + entry_ip = rtld_text + ehdr->e_entry - phdr[i].p_vaddr; + unwind_base += rtld_text - phdr[i].p_vaddr; + if (!elf64SegmentLoad(phdr + i, rtld_text, fd, interpName)) { + elfClose(elfptr, fd); + return NO; + } + text_base = rtld_text; + text_end = text_base + phdr[i].p_memsz - 1; + } else { + rtld_data = os_rtld64_data(phdr + i); + if (!elf64SegmentLoad(phdr + i, rtld_data, fd, interpName)) { + elfClose(elfptr, fd); + return NO; + } + } + } + elf64_slurp_all_symbols(elfptr, ehdr, phdr, rtld_text); + } else { /* ELFCLASS32 */ + Elf32_Ehdr *ehdr; + Elf32_Phdr *phdr; + unsigned i; + + if (!(ehdr = elf32_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + X_PSR_BE(psrval) = ehdr->e_flags & EF_IA_64_BE ? YES : NO; + + if (!(phdr = elf32_getphdr(elfptr))) { + (void)fprintf(stderr, "%s - %s\n", interpName, elf_errmsg(0)); + elfClose(elfptr, fd); + return NO; + } + + rtld_text = os_rtld32_text(phdr); + + for (i = 0; i < ehdr->e_phnum; i++) { + if (phdr[i].p_type == PT_IA_64_UNWIND) + unwind_base = phdr[i].p_vaddr; + if (phdr[i].p_type != PT_LOAD) + continue; + if (phdr[i].p_flags & PF_X) { + entry_ip = rtld_text + ehdr->e_entry - phdr[i].p_vaddr; + unwind_base += rtld_text - phdr[i].p_vaddr; + if (!elf32SegmentLoad(phdr + i, rtld_text, fd, interpName)) { + elfClose(elfptr, fd); + return NO; + } + text_base = rtld_text; + text_end = text_base + phdr[i].p_memsz - 1; + } else { + rtld_data = os_rtld32_data(phdr + i); + if (!elf32SegmentLoad(phdr + i, rtld_data, fd, interpName)) { + elfClose(elfptr, fd); + return NO; + } + } + } + elf32_slurp_all_symbols(elfptr, ehdr, phdr, rtld_text); + } + + if (entry_ip == 0) { + (void)fprintf(stderr, "%s - missing text segment\n", interpName); + elfClose(elfptr, fd); + return NO; + } + if (rtld_data == 0) { + (void)fprintf(stderr, "%s - missing data segment\n", interpName); + elfClose(elfptr, fd); + return NO; + } + + elfClose(elfptr, fd); + lminfo[numLms].text_base = text_base; + lminfo[numLms].text_end = text_end; + lminfo[numLms].unwind_base = unwind_base; + /* XXX - replace call to strdup */ + lminfo[numLms].name = strdup(interpName); + numLms++; + return YES; +} + +/*-------------------------------------------------------------------------- + * elfSymbolLoad - This routine loads the symbol table of the file given + * as an argument. This routine is very similar to elfLoad. Make sure + * that changes in the sections that are the same in the two functions get + * reflected in both functions. + *-------------------------------------------------------------------------*/ +BOOL elfSymLoad(const char *file_name) +{ + Elf *elfptr; + int fd; + unsigned char class; + ADDR unwind_base = 0; + + if (numLms == MAX_LOAD_MODULES) + return NO; + /* XXX - should 2nd arg be stderr? What if not ELF? */ + elfptr = elfOpen(file_name, NULL, &fd, EO_SYMS, &class); + if (elfptr == NULL) + return NO; + + if (class == ELFCLASS64) { + Elf64_Ehdr *ehdr; + Elf64_Phdr *phdr; + unsigned i; + + if (!(ehdr = elf64_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + if (ehdr->e_type != ET_EXEC) { + elfClose(elfptr, fd); + return NO; + } + if (!(phdr = elf64_getphdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } +#if 0 + symlDelete(); +#endif + for (i = 0; i < ehdr->e_phnum; i++) + if (phdr[i].p_type == PT_IA_64_UNWIND) + unwind_base = phdr[i].p_vaddr; + else if (phdr[i].p_type == PT_LOAD && phdr[i].p_flags & PF_X) { + text_base = phdr[i].p_vaddr; + text_end = text_base + phdr[i].p_memsz - 1; + } + + addLM(file_name, phdr, ehdr->e_phnum, 0, 1); + elf64_slurp_all_symbols(elfptr, ehdr, phdr, 0); + } else { /* ELFCLASS32 */ + Elf32_Ehdr *ehdr; + Elf32_Phdr *phdr; + unsigned i; + + if (!(ehdr = elf32_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + if (ehdr->e_type != ET_EXEC) { + elfClose(elfptr, fd); + return NO; + } + if (!(phdr = elf32_getphdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } +#if 0 + symlDelete(); +#endif + for (i = 0; i < ehdr->e_phnum; i++) + if (phdr[i].p_type == PT_IA_64_UNWIND) + unwind_base = phdr[i].p_vaddr; + else if (phdr[i].p_type == PT_LOAD && phdr[i].p_flags & PF_X) { + text_base = phdr[i].p_vaddr; + ADDPTR(text_base); /* XXX - check lp64? */ + text_end = text_base + phdr[i].p_memsz - 1; + } + elf32_slurp_all_symbols(elfptr, ehdr, phdr, 0); + + } + if (interface != BATCH) + initDwUnitTbl(fd); + elfClose(elfptr, fd); + lminfo[numLms].text_base = text_base; + lminfo[numLms].text_end = text_end; + lminfo[numLms].unwind_base = unwind_base; + /* XXX - replace call to strdup */ + lminfo[numLms].name = strdup(file_name); + numLms++; + return YES; +} + +/* XXX - from peload.c */ +static BOOL peLoad(int fd, int s_argc, char *s_argv[]); +static int peChk(const char *name); + +/* XXX - NonStop hack */ +static ADDR getNSgp(Elf *elfptr) +{ + Elf_Scn *scn = NULL; + Elf64_Shdr *shdr; + Elf_Data *data; + Elf64_Dyn *dyn; + unsigned ndyn, i; + + while ((scn = elf_nextscn(elfptr, scn))) + if ((shdr = elf64_getshdr(scn))->sh_type == SHT_DYNAMIC) + break; + data = elf_getdata(scn, 0); + dyn = data->d_buf; + ndyn = data->d_size / sizeof (Elf64_Dyn); + for (i = 0; i < ndyn; i++) + if (dyn[i].d_tag == DT_PLTGOT) + return dyn[i].d_un.d_val; + return 0; +} + +/*-------------------------------------------------------------------------- + * elfLoad - This routine loads the ELF file text and data segments into + * memory. It also reads the file symbol table. + * + * elfSymLoad is based on this routine. Make sure that changes in the + * sections that are the same in the two functions get reflected in both + * functions. + *-------------------------------------------------------------------------*/ +BOOL elfLoad(const char *file_name, int s_argc, char *s_argv[]) +{ + struct os_proc proc; + Elf *elfptr; + int fd; + unsigned char class; + ADDR unwind_base = 0, end_addr = 0; + REG rsc; + BOOL abi; + + if ((fd = peChk(file_name)) != -1) + return peLoad(fd, s_argc, s_argv); + elfptr = elfOpen(file_name, stderr, &fd, EO_EXEC, &class); + if (elfptr == NULL) + return NO; + + /* + * XXX - setABI() clobbers unixABI. In fact, it clobbers dosABI as well. + * Rather bogus. In anyway, save unixABI here so that we can recover + * later. + */ + abi = unixABI; + + /* XXX - for now so that memory pages are auto-allocated */ + setABI(YES); + + proc.has_rtld = 0; + proc.aout_base = ~0ULL; + proc.aout_phdr = ~0ULL; + + if (class == ELFCLASS64) { + Elf64_Ehdr *ehdr; + Elf64_Phdr *phdr; + unsigned i; + ADDR pstart, pend; + + if (!(ehdr = elf64_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + +/* XXX - NonStop hack */ +if (ehdr->e_type == 100) { + ehdr->e_type = ET_EXEC; + ehdr->e_flags |= EF_IA_64_BE; + (void)grSet(0, GP_ID, getNSgp(elfptr)); +} + + if (!(phdr = elf64_getphdr(elfptr))) { + (void)fprintf(stderr, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, fd); + return NO; + } + + entry_ip = ehdr->e_entry; + proc.ehdr_flags = ehdr->e_flags; + + for (i = 0; i < ehdr->e_phnum; i++) + switch (phdr[i].p_type) { +#ifdef __hpux + case PT_PHDR: + /* XXX - check alignment? Must be 4K aligned? */ + proc.aout_phdr = phdr[i].p_vaddr; + break; +#endif + case PT_IA_64_UNWIND: + addLM(file_name, phdr, ehdr->e_phnum, 0, 1); + unwind_base = phdr[i].p_vaddr; + /*unwind_end = phdr[i].p_vaddr + phdr[i].p_filesz;*/ + break; + case PT_INTERP: + if (!abi) { + (void)fprintf(stderr, + "%s - PT_INTERP segment not allowed\n", + file_name); + elfClose(elfptr, fd); + return NO; + } + if (!interp(fd, phdr[i].p_offset, phdr[i].p_filesz)) + return NO; + proc.has_rtld = 1; + proc.rtld_base = text_base; + break; + case PT_LOAD: + pstart = phdr[i].p_vaddr; + pend = pstart + phdr[i].p_memsz - 1; + if (!elf64SegmentLoad(&phdr[i], pstart, fd, file_name)) { + elfClose(elfptr, fd); + return NO; + } + if (phdr[i].p_flags & PF_X) { + /* XXX - shouldn't assume aout_base == text_base? */ + /* XXX - especially if aout_base needs swapping? */ + text_base = proc.aout_base = pstart; + text_end = pend; + } else + end_addr = pend + 1; + } + elf64_slurp_all_symbols(elfptr, ehdr, phdr, 0); + proc.phdr_count = ehdr->e_phnum; + proc.phdr_addr = proc.aout_base + ehdr->e_phoff; + proc.proc_entry = ehdr->e_entry; + } else { /* ELFCLASS32 */ + Elf32_Ehdr *ehdr; + Elf32_Phdr *phdr; + unsigned i; + ADDR pstart, pend; + + if (!(ehdr = elf32_getehdr(elfptr))) { + elfClose(elfptr, fd); + return NO; + } + + if (!(phdr = elf32_getphdr(elfptr))) { + (void)fprintf(stderr, "%s - %s\n", file_name, elf_errmsg(0)); + elfClose(elfptr, fd); + return NO; + } + + entry_ip = ehdr->e_entry; + ADDPTR(entry_ip); /* XXX - check lp64? If so, not set yet! */ + proc.ehdr_flags = ehdr->e_flags; + + for (i = 0; i < ehdr->e_phnum; i++) + switch (phdr[i].p_type) { +#ifdef __hpux + case PT_PHDR: + proc.aout_phdr = phdr[i].p_vaddr; + break; +#endif + case PT_IA_64_UNWIND: + unwind_base = phdr[i].p_vaddr; + /*unwind_end = phdr[i].p_vaddr + phdr[i].p_filesz;*/ + break; + case PT_INTERP: + if (!abi) { + (void)fprintf(stderr, + "%s - PT_INTERP segment not allowed\n", + file_name); + elfClose(elfptr, fd); + return NO; + } + if (!interp(fd, phdr[i].p_offset, phdr[i].p_filesz)) + return NO; + proc.has_rtld = 1; + proc.rtld_base = text_base; + break; + case PT_LOAD: + pstart = phdr[i].p_vaddr; + ADDPTR(pstart); /* XXX - check lp64? */ + pend = pstart + phdr[i].p_memsz - 1; + if (!elf32SegmentLoad(&phdr[i], pstart, fd, file_name)) { + elfClose(elfptr, fd); + return NO; + } + if (phdr[i].p_flags & PF_X) { + text_base = proc.aout_base = pstart; + text_end = pend; + } else + end_addr = pend + 1; + } + elf32_slurp_all_symbols(elfptr, ehdr, phdr, 0); + proc.phdr_count = ehdr->e_phnum; + proc.phdr_addr = proc.aout_base + ehdr->e_phoff; + proc.proc_entry = ehdr->e_entry; + } + +#ifdef __hpux + if (proc.aout_phdr == ~0ULL) { + (void)fprintf(stderr, "%s - missing PT_PHDR segment\n", file_name); + elfClose(elfptr, fd); + return NO; + } + + if (proc.aout_base == ~0ULL) { + (void)fprintf(stderr, "%s - missing text segment\n", file_name); + elfClose(elfptr, fd); + return NO; + } +#endif + + lp64 = proc.ehdr_flags & EF_IA_64_ABI64 ? YES : NO; + X_PSR_BE(psrval) = proc.ehdr_flags & EF_IA_64_BE ? YES : NO; + /* XXX - this is OK for app mode, but if norecov is set for sys mode, + we need to set itlb.ed in page table entries for code pages */ +#if 0 + /* XXX - set norecov BOOL based on PF_IA_64_NORECOV */ + X_PSR_ED(psrval) = alwaysNat && norecov ? YES : NO; +#else + X_PSR_ED(psrval) = alwaysNat ? YES : NO; +#endif + + lminfo[numLms].text_base = text_base; + lminfo[numLms].text_end = text_end; + lminfo[numLms].unwind_base = unwind_base; + /* XXX - replace call to strdup */ + lminfo[numLms].name = strdup(file_name); + numLms++; + if (interface != BATCH) + initDwUnitTbl(fd); + elfClose(elfptr, fd); + fileLoaded = YES; + setABI(abi); + + (void)ipSet(0, entry_ip); + setPrgwIP(entry_ip); + rsc = arGet(0, RSC_ID); + XRSC_BE(rsc) = X_PSR_BE(psrval); + (void)arSet(0, RSC_ID, rsc); + setLp64(0, lp64); + (void)psrSet(0, psrval); + + /* initialize heap pointer */ + heapSet(0, 16 * ((end_addr + 15)/16)); + + if (!unixABI) + return YES; + + os_setup_process(file_name, s_argc, s_argv, &proc); + + X_PSR_CPL(psrval) = 3; /* XXX - needed? */ + (void)psrSet(0, psrval); + XRSC_PL(rsc) = 3; + (void)arSet(0, RSC_ID, rsc); + + return YES; +} + +static int peChk(const char *name) +{ + int fd; + + if ((fd = open(name, O_RDONLY)) == -1) + (void)fprintf(stderr, "%s - %s\n", name, strerror(errno)); + else { + char id[2]; + + read(fd, id, 2); + if (id[0] != 'M' || id[1] != 'Z') { + close(fd); + fd = -1; + } + } + return fd; +} + +#define IMAGE_FILE_MACHINE_IA64 0x200 +#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 +#define SYSTEM_TABLE_SIZE 0x78 +#define RUNTIME_TABLE_SIZE 0x70 +#define BOOT_TABLE_SIZE 0x170 + +static BOOL peLoad(int fd, int s_argc, char *s_argv[]) +{ + int i; + unsigned argv_sz, ptr_sz, aout_sz, str_sz, arg_sz; + ADDR sp, base_sp, arg_p, str_p, aout_path; + ADDR addr, end_addr = 0; + REG psrval = 0, rsc; + ADDR image_base, entry, entry_gp; + WORD ep, code_base, z, symTblOfs, num_syms, *sec_addr, strTblBase; + HWORD machine, opt_hdr_size, subsyst; + unsigned char buf2[2], buf4[4], buf8[8]; + unsigned num_sections; + + lseek(fd, 0x3C, SEEK_SET); + read(fd, buf4, 4); + z = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + + lseek(fd, z, SEEK_SET); + read(fd, buf4, 4); + if (memcmp(buf4, "PE\0", 4)) { + (void)fprintf(stderr, "Incorrect signature\n"); + return NO; + } + read(fd, buf2, 2); + machine = (HWORD)buf2[1] << 8 | buf2[0]; + if (machine != IMAGE_FILE_MACHINE_IA64) { + (void)fprintf(stderr, "Incorrect machine type\n"); + return NO; + } + read(fd, buf2, 2); + num_sections = (HWORD)buf2[1] << 8 | buf2[0]; + + lseek(fd, 4, SEEK_CUR); /* skip TimeDateStamp */ + read(fd, buf4, 4); + symTblOfs = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + read(fd, buf4, 4); + num_syms = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + strTblBase = symTblOfs+18*num_syms; /* 18 is size of a symbol entry */ + + read(fd, buf2, 2); + opt_hdr_size = (HWORD)buf2[1] << 8 | buf2[0]; + + lseek(fd, z+0x28, SEEK_SET); + read(fd, buf4, 4); + ep = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + + /* XXX - code_base not used */ + read(fd, buf4, 4); + code_base = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + + read(fd, buf8, 8); + image_base = (ADDR)buf8[7] << 56 | (ADDR)buf8[6] << 48 | + (ADDR)buf8[5] << 40 | (ADDR)buf8[4] << 32 | + (ADDR)buf8[3] << 24 | (ADDR)buf8[2] << 16 | + (ADDR)buf8[1] << 8 | (ADDR)buf8[0]; + + lseek(fd, 36, SEEK_CUR); /* Skip to subsystem */ + read(fd, buf2, 2); + subsyst = (HWORD)buf2[1] << 8 | buf2[0]; + if (subsyst != IMAGE_SUBSYSTEM_EFI_APPLICATION) { + (void)fprintf(stderr, "Incorrect subsystem (%d)\n", subsyst); + return NO; + } + + lp64 = YES; + X_PSR_BE(psrval) = NO; + X_PSR_ED(psrval) = NO; + X_PSR_IS(psrval) = NO; + setABI(YES); /* XXX - for now so that memory pages are auto-allocated */ + unixABI = NO; + + lseek(fd, z+0x18+opt_hdr_size, SEEK_SET); + + sec_addr = malloc(num_sections * sizeof *sec_addr); + for (i = 0; i < num_sections; i++) { + WORD mem_size, mem_addr, file_size, file_ofs; + off_t sav; + char *buf; + + lseek(fd, 8, SEEK_CUR); /* name */ + read(fd, buf4, 4); + mem_size = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + read(fd, buf4, 4); + mem_addr = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + read(fd, buf4, 4); + file_size = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + read(fd, buf4, 4); + file_ofs = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + sav = lseek(fd, 16, SEEK_CUR); + lseek(fd, file_ofs, SEEK_SET); + buf = calloc(mem_size, 1); + if (file_size > mem_size) + file_size = mem_size; + read(fd, buf, file_size); + sec_addr[i] = image_base+mem_addr; +{ +ADDR a, s, e; +s = image_base+mem_addr; +e = s + mem_size - 1; + for (a = page_base(s); a <= page_base(e); a += page_size) + memZerosPageSet(a); +} + memBBWrt(image_base+mem_addr, (BYTE *)buf, mem_size); + free(buf); + lseek(fd, sav, SEEK_SET); + } + + memMRd(image_base+ep, 8, &entry); + memMRd(image_base+ep+8, 8, &entry_gp); + (void)ipSet(0, entry); + (void)grSet(0, GP_ID, entry_gp); +{ + lseek(fd, symTblOfs, SEEK_SET); + for (i = 0; i < num_syms; i++) { + char *sym_name; + WORD sym_value; + HWORD section_num, sym_type; + BYTE sym_class, num_aux; + + read(fd, buf8, 8); + if (buf8[0] || buf8[1] || buf8[2] || buf8[3]) { + sym_name = malloc(9); + memcpy(sym_name, buf8, 8); + sym_name[8] = '\0'; + } else { + off_t sav = lseek(fd, 0, SEEK_CUR); + WORD strTblOfs; + size_t sym_len = 0; + unsigned char ch; + + strTblOfs = (WORD)buf8[7] << 24 | (WORD)buf8[6] << 16 | + (WORD)buf8[5] << 8 | buf8[4]; + lseek(fd, strTblBase+strTblOfs, SEEK_SET); + do { + read(fd, &ch, 1); + sym_len++; + } while (ch); + lseek(fd, strTblBase+strTblOfs, SEEK_SET); + sym_name = malloc(sym_len); + read(fd, sym_name, sym_len); + lseek(fd, sav, SEEK_SET); + } + read(fd, buf4, 4); + sym_value = (WORD)buf4[3] << 24 | (WORD)buf4[2] << 16 | + (WORD)buf4[1] << 8 | buf4[0]; + read(fd, buf2, 2); + section_num = (HWORD)buf2[1] << 8 | buf2[0]; + read(fd, buf2, 2); + sym_type = (HWORD)buf2[1] << 8 | buf2[0]; + /* XXX - sym_type is always 0, add check? */ + read(fd, &sym_class, 1); + /* XXX - sym_class is always 2 or 3, add check? */ + read(fd, &num_aux, 1); + /* XXX - num_aux is always 0, add check? */ +#if 0 + printf("%08x %d %d %s\n", + sym_value, section_num, sym_class, sym_name); +#endif + if (section_num > 0) + symInsert(sym_name, sec_addr[section_num-1]+sym_value, 0); + free(sym_name); + } + free(sec_addr); +} + + close(fd); + fileLoaded = YES; + setABI(unixABI); + + setPrgwIP(ipGet(0)); + rsc = arGet(0, RSC_ID); + XRSC_BE(rsc) = X_PSR_BE(psrval); + (void)arSet(0, RSC_ID, rsc); + setLp64(0, lp64); + (void)psrSet(0, psrval); + + /* initialize heap pointer */ +#if 0 + heapSet(page_size * ((end_addr + (page_size-1))/page_size)); +#else + heapSet(0, 16 * ((end_addr + 15)/16)); +#endif + + /* Runtime stack */ + for (argv_sz = i = 0; i < s_argc; i++) + argv_sz += strlen(s_argv[i]) + 1; + aout_sz = strlen(s_argv[0]) + 1; + + ptr_sz = lp64 ? sizeof (DWORD) : sizeof (WORD); + if (ptr_sz == 8) + sp = 0xFFFFFFULL; + else + sp = 0x200000007FFFFFFFULL; + sp++; + setMaxSP(sp); + + str_sz = argv_sz + aout_sz; + arg_sz = (s_argc + 2) * ptr_sz; + arg_p = base_sp = (sp - (str_sz + arg_sz + 0x800000)) & ~(ADDR)0xF; + str_p = base_sp + arg_sz; + aout_path = sp - aout_sz; + + /* Allocate all necessary pages */ + for (addr = page_base(base_sp); addr < sp; addr += page_size) + memZerosPageSet(addr); + + (void)grSet(0, SP_ID, base_sp); + (void)grSet(0, 32, 0); + (void)grSet(0, 33, arg_p); + for (i = 0; i < s_argc; i++) { + memBBWrt(str_p, (BYTE *)s_argv[i], strlen(s_argv[i]) + 1); + memMWrt(arg_p, ptr_sz, str_p); + str_p += strlen(s_argv[i]) + 1; + arg_p += ptr_sz; + } + memMWrt(arg_p, ptr_sz, 0); + arg_p += ptr_sz; + + memBBWrt(aout_path, (BYTE *)s_argv[0], aout_sz); + + /* Backing Store */ + if (ptr_sz == 8) { +#ifdef __linux__ + arSet(0, BSP_ID, 0x9FFFFFFF80000000ULL); + arSet(0, BSPST_ID, 0x9FFFFFFF80000000ULL); +#else + (void)arSet(0, BSP_ID, 0x9FFFFFFF7F600000ULL); + (void)arSet(0, BSPST_ID, 0x9FFFFFFF7F600000ULL); +#endif + } else { + (void)arSet(0, BSP_ID, 0x200000007A800000ULL); + (void)arSet(0, BSPST_ID, 0x200000007A800000ULL); + } + return YES; +} diff --git a/src/lp64struct.h b/src/lp64struct.h new file mode 100644 index 0000000..6da9f09 --- /dev/null +++ b/src/lp64struct.h @@ -0,0 +1,177 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Datatypes For LP64 System Calls + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_LP64STRUCT_H +#define _SKI_LP64STRUCT_H + +#define _SPARE4_SIZE 3 + +/* + * The following are LP64 typedef and struct definitions as of Feb/96 + * for selected structs needed for LP64 system call implementation. + */ + +#if 0 +/* The following typedefs for LP64 are equivalent to ILP32's */ + +typedef uint16_t __cnode_t; /* see stat.h */ +typedef uint16_t __site_t; /* see stat.h */ +typedef uint16_t mode_t; /* For file types and modes */ +typedef uint16_t nlink_t; /* For link counts */ + +typedef int32_t daddr_t; +typedef int32_t dev_t; /* For device numbers */ +typedef int32_t gid_t; /* For group IDs */ +typedef int32_t pid_t; /* For process and session IDs */ +typedef int32_t time_t; /* For times in seconds */ +typedef int32_t uid_t; /* For user IDs */ + +typedef uint32_t clock_t; /* For clock ticks */ + +#endif + +typedef int64_t ad_long_t; /* For block size */ +#ifdef HPUX1020 /* XXX - needed on earlier OSes? */ +typedef uint64_t ino64_t; /* Just API goes wide for now... */ +#endif + +typedef int64_t time64_t; + + +/* + * File record locking structure used by fcntl() + */ +struct flock64 { + short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */ + short l_whence; /* SEEK_SET, SEEK_CUR, SEEK_END */ + off64_t l_start; /* starting offset relative to l_whence */ + off64_t l_len; /* len == 0 means "until end of file" */ + pid_t l_pid; /* Process ID of the process holding the + lock, returned with F_GETLK */ +}; + + +/* + * The stat structure filled in by stat(), lstat(), and fstat() + */ +/* For LP64 applications */ +struct stat64 { + dev_t st_dev; + ino64_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + unsigned short st_reserved1; /* old st_uid,replaced spare positions*/ + unsigned short st_reserved2; /* old st_gid,replaced spare positions*/ + dev_t st_rdev; + off64_t st_size; + time64_t st_atime; + int st_spare1; + time64_t st_mtime; + int st_spare2; + time64_t st_ctime; + int st_spare3; + ad_long_t st_blksize; + blkcnt_t st_blocks; + unsigned int st_pad:30; + unsigned int st_acl:1; /* set if there are optional */ + /* ACL entries */ + unsigned int st_remote:1; /* Set if file is remote */ + dev_t st_netdev; /* ID of device containing */ + /* network special file */ + ino64_t st_netino; /* Inode number of network special file */ + __cnode_t st_cnode; + __cnode_t st_rcnode; + __site_t st_netsite; /* The site where the network device lives */ + short st_fstype; + dev_t st_realdev; /* Real device number of device containing */ + /* the inode for this file */ + /* Steal three spare for the device site number */ + unsigned short st_basemode; + unsigned short st_spareshort; + uid_t st_uid; + gid_t st_gid; + int32_t st_spare4[_SPARE4_SIZE]; +}; + +/* For ILP32 applications with _FILE_OFFSET_BITS=64 */ +struct stat64x { + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + unsigned short st_reserved1; /* old st_uid,replaced spare positions*/ + unsigned short st_reserved2; /* old st_gid,replaced spare positions*/ + dev_t st_rdev; + off64_t st_size; + time_t st_atime; + int st_spare1; + time_t st_mtime; + int st_spare2; + time_t st_ctime; + int st_spare3; + long st_blksize; + blkcnt_t st_blocks; + unsigned int st_pad:30; + unsigned int st_acl:1; /* set if there are optional */ + /* ACL entries */ + unsigned int st_remote:1; /* Set if file is remote */ + dev_t st_netdev; /* ID of device containing */ + /* network special file */ + ino_t st_netino; /* Inode number of network special file */ + __cnode_t st_cnode; + __cnode_t st_rcnode; + __site_t st_netsite; /* The site where the network device lives */ + short st_fstype; + dev_t st_realdev; /* Real device number of device containing */ + /* the inode for this file */ + /* Steal three spare for the device site number */ + unsigned short st_basemode; + unsigned short st_spareshort; + uid_t st_uid; + gid_t st_gid; + int32_t st_spare4[_SPARE4_SIZE]; +}; + + +/* + * Structure used by ustat() + * bh: "Our subset doesn't have this file, but sys/types.h lists daddr_t as + * being an int32_t and ino_t as a uint64_t." + */ +struct ustat64 { + daddr_t f_tfree; /* total free */ + ino64_t f_tinode; /* total inodes free */ + char f_fname[6]; /* filsys name */ + char f_fpack[6]; /* filsys pack name */ + int f_blksize; /* filsys block size */ +}; + +struct timeval64 { + int64_t tv_sec; + int64_t tv_usec; +}; + +struct rlimit64 { + int64_t rlim_cur; + int64_t rlim_max; +}; + +#endif /* _SKI_LP64STRUCT_H */ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..e232b5e --- /dev/null +++ b/src/main.c @@ -0,0 +1,307 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Main Function and Command-Line Parsing + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#include +#include "std.h" +#if defined HAVE_ALLOCA_H +#include +#endif /* defined HAVE_ALLOCA_H */ +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "ski.h" +#include "ssDCmd.h" +#include "asm.h" +#include "exportui.h" +#include "coreui.h" +#include "libsym.h" +#include "libcore.h" /* for initAppState,initState,initSysState */ +#include "platform.h" + +extern Interface interface; + +static char *initfile = NULL; +static char *restfile = NULL; +extern BOOL bstats, alwaysNat, natStats; +extern WORD maxNats; +static BOOL dispargs = NO; +extern char *icntfile; +static WORD xcnt = 0; +static REG rcnt = 0; +#ifdef NEW_MP +/* XXX - make this static and pass to libcore when ready. */ +/*static*/ WORD numcpus = 1; +#endif + +#ifdef SKINET_ENABLE +extern BOOL ski_nonet; +#endif +#ifdef __linux__ +extern char *src_root; +extern BOOL force_user; +extern BOOL force_system; +extern BOOL trace_syscalls; +#endif + +#if defined(__FreeBSD__) +#define DEFAULT_SIM_ROOT "/compat/ski" +#else +#define DEFAULT_SIM_ROOT "" +#endif + +char *sim_root = NULL; +size_t sim_root_len; + +static char *progname; +char *fileName; + +#if defined __linux__ +/* XXX S.Eranian added to capture the command line */ +extern char commandline[1024]; +extern REG commandline_count; +extern unsigned commandline_len; +#endif /* defined __linux__ */ + +/************************************* + * Command line option processing * + *************************************/ + +static void argsInit(void) +{ + argIns("-help", &dispargs, ARG_BOOL, "bcx", + "-help Display command-line options"); + argIns("-i", &initfile, ARG_STRING, "bcx", + "-i Process initialization file at startup"); + argIns("-icnt", &icntfile, ARG_STRING, "b", + "-icnt Store instruction counts in "); +#if 0 + argIns("-nat", &alwaysNat, ARG_BOOL, "bcx", + "-nat Force speculative loads to load a NaT"); +#else + argIns("-nat", &alwaysNat, ARG_BOOL, "bcx", ""); + argIns("-natcount", &maxNats, ARG_INT4, "bcx", ""); + argIns("-natstats", &natStats, ARG_BOOL, "bcx", ""); +#endif + argIns("-r", &rcnt, ARG_INT8, "c", ""); + argIns("-rest", &restfile, ARG_STRING, "bcx", + "-rest Restore simulation state from "); +#ifdef NEW_MP + argIns("-cpus", &numcpus, ARG_INT4, "bcx", + "-cpus Number of simulated cpus"); +#endif + argIns("-stats", &bstats, ARG_BOOL, "b", + "-stats Display execution run-time and instruction rate"); + argIns("-x", &xcnt, ARG_INT4, "x", ""); + +#ifdef SKINET_ENABLE + argIns("-nonet", &ski_nonet, ARG_BOOL, "bcx", + "-nonet Disable networking feature"); +#endif + +#ifdef __linux__ + argIns("-srcroot", &src_root, ARG_STRING, "cx", + "-srcroot Source Root Directory"); + + argIns("-forceuser", &force_user, ARG_BOOL, "bcx", + "-forceuser Force user-level simulation"); + + argIns("-forcesystem", &force_system, ARG_BOOL, "bcx", + "-forcesystem Force system-level simulation"); + + argIns("-strace", &trace_syscalls, ARG_BOOL, "bcx", + "-strace Trace system call execution"); +#endif + + argIns("-simroot", &sim_root, ARG_STRING, "bcx", + "-simroot Simulated root directory"); +} + +static void Usage(void) +{ + fprintf(stderr, "Usage: %s [options] [file [args]]\n", progname); +} + +int main(int argc, char *argv[]) +{ + char *p; + int ndx; + + + /* + * For system-mode, it's sometimes useful to increase the + * granularity of the physical memory allocations. For example, + * data-breakpoints cannot cross a (host) page-size boundary and + * if you need to watch a large data area for modifications, it + * can be achieved by setting SKI_PAGE_SIZE to a large + * integer-power-of-2 value. Nobody said it's pretty, but it + * seems to work quite well and keeps the code impact to a + * minimum. + */ + p = getenv ("SKI_PAGE_SIZE"); + page_size = 0; + if (p) { + page_size = atol (p); + if ((page_size & (page_size - 1)) != 0 || page_size < getpagesize()) + page_size = 0; + } + if (!page_size) + page_size = getpagesize(); + + /* we are assuming that page_size is a power of 2 */ + if ((page_size & (page_size - 1)) != 0) { + (void)fprintf(stderr, "%s: Invalid page size (%ld)\n", + progname, page_size); + return EXIT_FAILURE; + } + + /* compute log2_page_size */ + page_mask = page_size; + log2_page_size = 0; + while (page_mask >>= 1) { + ++log2_page_size; + } + + page_mask = ~((DWORD) page_size - 1); + +/* XXX - use basename(3) in 10.X? */ + progname = (p = strrchr(argv[0], '/')) ? p + 1 : argv[0]; + + switch (progname[0]) { + case 'b': + interface = BATCH; + break; + case 's': + interface = CURSES_INTERFACE; + break; + case 'x': + interface = X_INTERFACE; + break; + default: + interface = BATCH; + break; + } + +#if defined __linux__ + if (strcmp (progname, "bskinc") == 0) { + extern BOOL noConsole; + force_user = 1; + noConsole = 1; + } +#endif /* defined __linux */ + + argsInit(); + implArgs(); + + if ((ndx = parseOptions(argc, argv)) == -1) { + Usage(); + displayOptions(); + return EXIT_FAILURE; + } else if (dispargs == YES) { + displayOptions(); + return EXIT_FAILURE; + } + + if (icntfile) + setIcntEnb(); + initSysState(); +#ifdef NEW_MP +{ + int i; + for (i = 0; i < 4; i++) + initState(i); +} +#else + initState(0); +#endif + InitPlatform(); + symInit(); + if (asm_init() != AsmOK) { + (void)fprintf(stderr, "%s: Out of memory during asm_init\n", progname); + return EXIT_FAILURE; + } + + if (ndx < argc) { + fileName = argv[ndx]; + +#ifdef __linux__ + /* + * S.Eranian added for kernel command line arguments + * each argument is added to a single string which is zero terminated + * a \0 is inserted between each argument + */ + { + int i; + + p = commandline; + for (i = ndx + 1; i < argc ; i++ ) { + if (p + strlen (argv[i]) + 1 + >= commandline + sizeof(commandline)) + { + break; + } + p += sprintf(p, "%s", argv[i]); + *p++ = ' '; + commandline_count++; + } + commandline_len = p - commandline; + } +#endif /* __linux__ */ + + if (sim_root == NULL) { + sim_root = DEFAULT_SIM_ROOT; + if ((p = getenv("SKI_SIMROOT")) != NULL) + sim_root = p; + } + sim_root_len = strlen(sim_root); + + if (!elfLoad(fileName, argc-ndx, &argv[ndx])) { + (void)fprintf(stderr, "%s: Could not open %s for reading\n", + progname, argv[ndx]); + return EXIT_FAILURE; + } +#ifdef GET_INFO + printf("delta is %d\n", getInfo()->delta); +#endif + initAppState(0); + } + + uiInit(); + implInit(); + scrnInit(); + if (restfile) { + /* XXX - this calls a menu fn directly which isn't very elegant */ + if (!stateRest(1, &restfile)) + exitSim(EXIT_FAILURE); + } else if (initfile) { + if (!readCmdFile(initfile) && interface == BATCH) + exitSim(EXIT_FAILURE); + scrnUpdate(); + } + cmdLoop(); + /*NOTREACHED*/ + return EXIT_SUCCESS; +} diff --git a/src/make_asm b/src/make_asm new file mode 100755 index 0000000..a34b94e --- /dev/null +++ b/src/make_asm @@ -0,0 +1,198 @@ +#!/bin/sh +# +# Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. +# +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# + +(gperf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`gperf' installed to generate asm_hash.c" + exit 1 +} + +srcdir=`dirname $0` +test -z "${srcdir}" && srcdir=. + +encdir=${srcdir}/encodings + +export SHLIB_PATH=/opt/gnu/lib + +c_file="asm_hash.c" +err_file="asm_hash.err" +cmd_opts="" +awk="all" +rm="yes" +lets="a b c d e f g h i j k l m n o p q r s t u v w x y z" + +while getopts Ac:de:l:p:RS name +do + case $name in + A) awk="only";; + c) c_file="$OPTARG";; + d) cmd_opts="$cmd_opts -$name";; + e) err_file="$OPTARG";; + l) lets="$OPTARG";; + p) encdir="$OPTARG";; + R) rm="no";; + S) awk="skip";; + ?) printf "Usage: %s [-A] [-d] [-l lets] [-R] [-S]\n" $0 1>&2 + exit 2;; + esac +done + +if [ $awk != "skip" ] +then + sort -b -k2 < ${encdir}/encoding.opcode | \ + awk -f $srcdir/asm.awk -v prefix=$srcdir/ - +fi + +if [ $awk = "only" ] +then + exit +fi + +# keywords hash entries min +a_opts="-j 1 -n -k 2,4,6,8" # 11, 11 * +b_opts="-D -j 3 -k 3-5,7-11,13-15,16,17,19-21,23-25,$" # 471, 5253 +c_opts="-o -j 1 -n -k 4-8,10-16,18-20" # 117, 280 +d_opts="-n -k 6,8" # 4, 4 * +e_opts="-n -k 2,5" # 3, 3 * +f_opts="-o -j 1 -k 2-18" # 242, 796 +g_opts="-n -k 6-7" # 4, 4 * +h_opts="-o -j 1 -n -k 2,6" # 7, 7 * +i_opts="-j 1 -n -k 3,5,10" # 7, 7 * +j_opts="" # 0, 0 # +k_opts="" # 0, 0 # +#l_opts="-o -j 3 -k 3-17,21,$" # 715, 4247 +#l_opts="-o -j 3 -k 2,3-17,21,$" # 721, 5747 +#l_opts="-o -j 1 -k 2,3-17,21,$" # 721, 4876 +l_opts="-o -j 1 -k 3-17,21,$" # 721, 4643 +m_opts="-D -o -j 1 -k 4-12,14-17,19,21-23,$" # 235, 1164 +n_opts="-j 1 -n -k 5" # 5, 5 * +o_opts="-n -k 5" # 2, 2 * +p_opts="-o -j 1 -k 3-5,7-9,11" # 70, 111 +q_opts="" # 0, 0 # +r_opts="-n -k 2,4" # 4, 4 * +s_opts="-j 1 -k 2-4,6" # 77, 135 +t_opts="-j 1 -n -k 2,6,10,11" # 20, 20 * +u_opts="-j 1 -n -k 7,9" # 6, 6 * +v_opts="" # 0, 0 # +w_opts="" # 0, 0 # +x_opts="-o -j 1 -n -k 5,6,9" # 17, 17 * +y_opts="" # 0, 0 # +z_opts="-n -k 4" # 3, 3 * + +# old attempts at optimal option values +#a_opts="-n -k 2,4,6,8" # 11, 31 +#a_opts="-j 3 -n -k 2,4,6,8" # 11, 19 +#c_opts="-n -k 4-8,10-16,19,20" # 110, 460 +#c_opts="-j 1 -n -k 4-8,10-16,19,20" # 110, 318 +#c_opts="-o -j 1 -n -k 4-8,10-16,19,20" # 110, 304 +#f_opts="-n -k 2-18" # 242, 1239 +#i_opts="-k 5,$" # 7, 18 +#i_opts="-j 1 -k 5,$" # 7, 17 +#l_opts="-j 3 -k 3-17,21,$" # 715, 6003 +#m_opts="-k 4-12,14-17,19,21-23,$" # 235, 1322 +#n_opts="-n -k 5" # 5, 8 +#n_opts="-j 3 -n -k 5" # 5, 7 +#p_opts="-n -k 3,4,5,7,8,9,$" # 70, 378 +#p_opts="-j 3 -n -k 3,4,5,7,8,9,$" # 70, 313 +#p_opts="-j 1 -n -k 3,4,5,7,8,9,$" # 70, 213 +#p_opts="-j 1 -k 3,4,5,7,8,9,$" # 70, 155 +#p_opts="-j 1 -k 3,4,5,7,8,9,11" # 70, 148 +#s_opts="-k 2-6" # 77, 243 +#s_opts="-k 2,3,4,6" # 77, 227 +#s_opts="-j 3 -k 2,3,4,6" # 77, 192 +#t_opts="-k 2,8,$" # 20, 46 +#t_opts="-j 1 -k 2,8" # 20, 36 +#t_opts="-j 1 -k 2,10" # 20, 28 +#t_opts="-o -j 1 -n -k 2,10,11" # 20, 26 +#x_opts="-j 1 -n -k 5,6,9" # 17, 31 + +cat << EOF > $c_file +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* DO NOT EDIT - Automatically generated using: + make_asm + */ +EOF +cat $srcdir/Copyright >> $c_file +cat << EOF >> $c_file + +#include +EOF +for let in $lets +do + file="asm_$let.gperf" + if [ -r $file ] + then + echo $file":" 1>&2 + echo "" + eval gperf -t -L ANSI-C -p -C -E -H ${let}_hash -N ${let}_lookup \ + \$${let}_opts -T $cmd_opts $file | + sed 's/^const struct asm_id .$/static const struct asm_id */' + if [ $rm = "yes" ] + then + rm -f $file + fi + else + cat << EOF + +static const struct asm_id * +${let}_lookup (register const char *str, register unsigned int len) +{ + return 0; +} +EOF + fi +done >> $c_file 2> $err_file +cat << EOF >> $c_file + +const struct asm_id * inst_lookup(const char *str) +{ + size_t len = strlen(str); + + switch (str[0]) { + case 'a': return a_lookup(str, len); + case 'b': return b_lookup(str, len); + case 'c': return c_lookup(str, len); + case 'd': return d_lookup(str, len); + case 'e': return e_lookup(str, len); + case 'f': return f_lookup(str, len); + case 'g': return g_lookup(str, len); + case 'h': return h_lookup(str, len); + case 'i': return i_lookup(str, len); + case 'j': return j_lookup(str, len); + case 'k': return k_lookup(str, len); + case 'l': return l_lookup(str, len); + case 'm': return m_lookup(str, len); + case 'n': return n_lookup(str, len); + case 'o': return o_lookup(str, len); + case 'p': return p_lookup(str, len); + case 'q': return q_lookup(str, len); + case 'r': return r_lookup(str, len); + case 's': return s_lookup(str, len); + case 't': return t_lookup(str, len); + case 'u': return u_lookup(str, len); + case 'v': return v_lookup(str, len); + case 'w': return w_lookup(str, len); + case 'x': return x_lookup(str, len); + case 'y': return y_lookup(str, len); + case 'z': return z_lookup(str, len); + } + return 0; +} +EOF diff --git a/src/mem_exec.c b/src/mem_exec.c new file mode 100644 index 0000000..2753632 --- /dev/null +++ b/src/mem_exec.c @@ -0,0 +1,1309 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Execution Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" + +Status fetchaddEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r1)) { + illegalOpFault(); + return StFault; + } + if (SRCNAT2) { + regNatConsumptionFault(MEM_SEMA_ACCESS); + return StFault; + } + FM_mem_cache_update(SRC2, info); + return 0; +} + +Status ld1Ex(INSTINFO *info) +{ + LD_EX(BYTE,1,NO); + return 0; +} + +Status ld2Ex(INSTINFO *info) +{ + LD_EX(HWORD,2,NO); + return 0; +} + +Status ld4Ex(INSTINFO *info) +{ + LD_EX(WORD,4,NO); + return 0; +} + +Status ld8Ex(INSTINFO *info) +{ + LD_EX(DWORD,8,NO); + return 0; +} + +Status ld16Ex(INSTINFO *info) +{ + LD16_EX(QWORD,16,NO); + return 0; +} + +Status ldFillEx(INSTINFO *info) +{ + BOOL nat1 = BitfX(UNAT,63-BitfX(SRC1,55,6),1); + + LD_EX(DWORD,8,nat1); + return 0; +} + +Status ld1PiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_EX(BYTE,1,NO); + POST_INC(); + return 0; +} + +Status ld2PiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_EX(HWORD,2,NO); + POST_INC(); + return 0; +} + +Status ld4PiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_EX(WORD,4,NO); + POST_INC(); + return 0; +} + +Status ld8PiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_EX(DWORD,8,NO); + POST_INC(); + return 0; +} + +Status ldFillPiEx(INSTINFO *info) +{ + BOOL nat1 = BitfX(UNAT,63-BitfX(SRC1,55,6),1); + + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_EX(DWORD,8,nat1); + POST_INC(); + return 0; +} + +Status ld1aEx(INSTINFO *info) +{ + LD_A_EX(BYTE,1); + return 0; +} + +Status ld2aEx(INSTINFO *info) +{ + LD_A_EX(HWORD,2); + return 0; +} + +Status ld4aEx(INSTINFO *info) +{ + LD_A_EX(WORD,4); + return 0; +} + +Status ld8aEx(INSTINFO *info) +{ + LD_A_EX(DWORD,8); + return 0; +} + +Status ld1aPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_A_EX(BYTE,1); + POST_INC(); + return 0; +} + +Status ld2aPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_A_EX(HWORD,2); + POST_INC(); + return 0; +} + +Status ld4aPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_A_EX(WORD,4); + POST_INC(); + return 0; +} + +Status ld8aPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_A_EX(DWORD,8); + POST_INC(); + return 0; +} + +Status ld1sEx(INSTINFO *info) +{ + LD_S_EX(BYTE,1); + return 0; +} + +Status ld2sEx(INSTINFO *info) +{ + LD_S_EX(HWORD,2); + return 0; +} + +Status ld4sEx(INSTINFO *info) +{ + LD_S_EX(WORD,4); + return 0; +} + +Status ld8sEx(INSTINFO *info) +{ + LD_S_EX(DWORD,8); + return 0; +} + +Status ld1sPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_S_EX(BYTE,1); + POST_INC_SPEC(); + return 0; +} + +Status ld2sPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_S_EX(HWORD,2); + POST_INC_SPEC(); + return 0; +} + +Status ld4sPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_S_EX(WORD,4); + POST_INC_SPEC(); + return 0; +} + +Status ld8sPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_S_EX(DWORD,8); + POST_INC_SPEC(); + return 0; +} + +Status ld1saEx(INSTINFO *info) +{ + LD_SA_EX(BYTE,1); + return 0; +} + +Status ld2saEx(INSTINFO *info) +{ + LD_SA_EX(HWORD,2); + return 0; +} + +Status ld4saEx(INSTINFO *info) +{ + LD_SA_EX(WORD,4); + return 0; +} + +Status ld8saEx(INSTINFO *info) +{ + LD_SA_EX(DWORD,8); + return 0; +} + +Status ld1saPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_SA_EX(BYTE,1); + POST_INC_SPEC(); + return 0; +} + +Status ld2saPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_SA_EX(HWORD,2); + POST_INC_SPEC(); + return 0; +} + +Status ld4saPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_SA_EX(WORD,4); + POST_INC_SPEC(); + return 0; +} + +Status ld8saPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_SA_EX(DWORD,8); + POST_INC_SPEC(); + return 0; +} + +Status ld1cncEx(INSTINFO *info) +{ + LD_C_NC_EX(BYTE,1); + return 0; +} + +Status ld2cncEx(INSTINFO *info) +{ + LD_C_NC_EX(HWORD,2); + return 0; +} + +Status ld4cncEx(INSTINFO *info) +{ + LD_C_NC_EX(WORD,4); + return 0; +} + +Status ld8cncEx(INSTINFO *info) +{ + LD_C_NC_EX(DWORD,8); + return 0; +} + +Status ld1cncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_NC_EX(BYTE,1); + POST_INC(); + return 0; +} + +Status ld2cncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_NC_EX(HWORD,2); + POST_INC(); + return 0; +} + +Status ld4cncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_NC_EX(WORD,4); + POST_INC(); + return 0; +} + +Status ld8cncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_NC_EX(DWORD,8); + POST_INC(); + return 0; +} + +Status ld1cclrEx(INSTINFO *info) +{ + LD_C_CLR_EX(BYTE,1); + return 0; +} + +Status ld2cclrEx(INSTINFO *info) +{ + LD_C_CLR_EX(HWORD,2); + return 0; +} + +Status ld4cclrEx(INSTINFO *info) +{ + LD_C_CLR_EX(WORD,4); + return 0; +} + +Status ld8cclrEx(INSTINFO *info) +{ + LD_C_CLR_EX(DWORD,8); + return 0; +} + +Status ld1cclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_CLR_EX(BYTE,1); + POST_INC(); + return 0; +} + +Status ld2cclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_CLR_EX(HWORD,2); + POST_INC(); + return 0; +} + +Status ld4cclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_CLR_EX(WORD,4); + POST_INC(); + return 0; +} + +Status ld8cclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LD_C_CLR_EX(DWORD,8); + POST_INC(); + return 0; +} + +Status ldfsEx(INSTINFO *info) +{ + LDF_EX(WORD,4,sgl); + return 0; +} + +Status ldfdEx(INSTINFO *info) +{ + LDF_EX(DWORD,8,dbl); + return 0; +} + +Status ldf8Ex(INSTINFO *info) +{ + LDF_EX(DWORD,8,dword); + return 0; +} + +Status ldfeEx(INSTINFO *info) +{ + LDF_EX(QWORD,16,ext); + return 0; +} + +Status ldfFillEx(INSTINFO *info) +{ + LDF_EX(QWORD,16,qword); + return 0; +} + +Status ldfpsEx(INSTINFO *info) +{ + DWORD dval; + + LDFP_MEM(8,&dval); + LDFP_DST_S(); + LDFP_POST_INC(8); + return 0; +} + +Status ldfpdEx(INSTINFO *info) +{ + QWORD val; + + LDFP_MEM(16,&val); + LDFP_DST_D(); + LDFP_POST_INC(16); + return 0; +} + +Status ldfp8Ex(INSTINFO *info) +{ + QWORD mant; + + LDFP_MEM(16,&mant); + LDFP_DST_8(); + LDFP_POST_INC(16); + return 0; +} + +Status ldfsPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_EX(WORD,4,sgl); + POST_INC(); + return 0; +} + +Status ldfdPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_EX(DWORD,8,dbl); + POST_INC(); + return 0; +} + +Status ldf8PiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_EX(DWORD,8,dword); + POST_INC(); + return 0; +} + +Status ldfePiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_EX(QWORD,16,ext); + POST_INC(); + return 0; +} + +Status ldfFillPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_EX(QWORD,16,qword); + POST_INC(); + return 0; +} + +Status ldfsaEx(INSTINFO *info) +{ + LDF_A_EX(WORD,4,sgl,val); + return 0; +} + +Status ldfdaEx(INSTINFO *info) +{ + LDF_A_EX(DWORD,8,dbl,val); + return 0; +} + +Status ldf8aEx(INSTINFO *info) +{ + LDF_A_EX(DWORD,8,dword,val); + return 0; +} + +Status ldfeaEx(INSTINFO *info) +{ + LDF_A_EX(QWORD,16,ext,val.left = val.right); + return 0; +} + +Status ldfpsaEx(INSTINFO *info) +{ + DWORD dval; + int ret; + + LDFP_ADV(8,&dval); + if (ret == 1) + dval = 0; + LDFP_DST_S(); + LDFP_POST_INC(8); + return 0; +} + +Status ldfpdaEx(INSTINFO *info) +{ + QWORD val; + int ret; + + LDFP_ADV(16,&val); + if (ret == 1) + val.left = val.right = 0; + LDFP_DST_D(); + LDFP_POST_INC(16); + return 0; +} + +Status ldfp8aEx(INSTINFO *info) +{ + QWORD mant; + int ret; + + LDFP_ADV(16,&mant); + if (ret == 1) + mant.left = mant.right = 0; + LDFP_DST_8(); + LDFP_POST_INC(16); + return 0; +} + +Status ldfsaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_A_EX(WORD,4,sgl,val); + POST_INC(); + return 0; +} + +Status ldfdaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_A_EX(DWORD,8,dbl,val); + POST_INC(); + return 0; +} + +Status ldf8aPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_A_EX(DWORD,8,dword,val); + POST_INC(); + return 0; +} + +Status ldfeaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_A_EX(QWORD,16,ext,val.left = val.right); + POST_INC(); + return 0; +} + +Status ldfssEx(INSTINFO *info) +{ + LDF_S_EX(WORD,4,sgl); + return 0; +} + +Status ldfdsEx(INSTINFO *info) +{ + LDF_S_EX(DWORD,8,dbl); + return 0; +} + +Status ldf8sEx(INSTINFO *info) +{ + LDF_S_EX(DWORD,8,dword); + return 0; +} + +Status ldfesEx(INSTINFO *info) +{ + LDF_S_EX(QWORD,16,ext); + return 0; +} + +Status ldfpssEx(INSTINFO *info) +{ + DWORD dval; + int ret; + + LDFP_SPEC(8,SPEC_LD_ACCESS,&dval,S); + LDFP_POST_INC_SPEC(8); + return 0; +} + +Status ldfpdsEx(INSTINFO *info) +{ + QWORD val; + int ret; + + LDFP_SPEC(16,SPEC_LD_ACCESS,&val,D); + LDFP_POST_INC_SPEC(16); + return 0; +} + +Status ldfp8sEx(INSTINFO *info) +{ + QWORD mant; + int ret; + + LDFP_SPEC(16,SPEC_LD_ACCESS,&mant,8); + LDFP_POST_INC_SPEC(16); + return 0; +} + +Status ldfssPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_S_EX(WORD,4,sgl); + POST_INC_SPEC(); + return 0; +} + +Status ldfdsPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_S_EX(DWORD,8,dbl); + POST_INC_SPEC(); + return 0; +} + +Status ldf8sPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_S_EX(DWORD,8,dword); + POST_INC_SPEC(); + return 0; +} + +Status ldfesPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_S_EX(QWORD,16,ext); + POST_INC_SPEC(); + return 0; +} + +Status ldfssaEx(INSTINFO *info) +{ + LDF_SA_EX(WORD,4,sgl); + return 0; +} + +Status ldfdsaEx(INSTINFO *info) +{ + LDF_SA_EX(DWORD,8,dbl); + return 0; +} + +Status ldf8saEx(INSTINFO *info) +{ + LDF_SA_EX(DWORD,8,dword); + return 0; +} + +Status ldfesaEx(INSTINFO *info) +{ + LDF_SA_EX(QWORD,16,ext); + return 0; +} + +Status ldfpssaEx(INSTINFO *info) +{ + DWORD dval; + int ret = 1; + + LDFP_SPEC(8,SPEC_ADV_LD_ACCESS,&dval,S); + alat_inval_single_entry(YES, f1); + if (ALAT_WRITE_CHECK && !ret) + alat_write(YES, f1, SRC1, 8); + LDFP_POST_INC_SPEC(8); + return 0; +} + +Status ldfpdsaEx(INSTINFO *info) +{ + QWORD val; + int ret = 1; + + LDFP_SPEC(16,SPEC_ADV_LD_ACCESS,&val,D); + alat_inval_single_entry(YES, f1); + if (ALAT_WRITE_CHECK && !ret) + alat_write(YES, f1, SRC1, 16); + LDFP_POST_INC_SPEC(16); + return 0; +} + +Status ldfp8saEx(INSTINFO *info) +{ + QWORD mant; + int ret = 1; + + LDFP_SPEC(16,SPEC_ADV_LD_ACCESS,&mant,8); + alat_inval_single_entry(YES, f1); + if (ALAT_WRITE_CHECK && !ret) + alat_write(YES, f1, SRC1, 16); + LDFP_POST_INC_SPEC(16); + return 0; +} + +Status ldfssaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_SA_EX(WORD,4,sgl); + POST_INC_SPEC(); + return 0; +} + +Status ldfdsaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_SA_EX(DWORD,8,dbl); + POST_INC_SPEC(); + return 0; +} + +Status ldf8saPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_SA_EX(DWORD,8,dword); + POST_INC_SPEC(); + return 0; +} + +Status ldfesaPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_SA_EX(QWORD,16,ext); + POST_INC_SPEC(); + return 0; +} + +Status ldfscncEx(INSTINFO *info) +{ + LDF_C_NC_EX(WORD,4,sgl); + return 0; +} + +Status ldfdcncEx(INSTINFO *info) +{ + LDF_C_NC_EX(DWORD,8,dbl); + return 0; +} + +Status ldf8cncEx(INSTINFO *info) +{ + LDF_C_NC_EX(DWORD,8,dword); + return 0; +} + +Status ldfecncEx(INSTINFO *info) +{ + LDF_C_NC_EX(QWORD,16,ext); + return 0; +} + +Status ldfpscncEx(INSTINFO *info) +{ + DWORD dval; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, NO) : 1; + if (miss) { + LDFP_MEM(8,&dval); + LDFP_DST_S(); + if (ALAT_WRITE_CHECK) + alat_write(YES, f1, SRC1, 8); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(8); + return 0; +} + +Status ldfpdcncEx(INSTINFO *info) +{ + QWORD val; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, NO) : 1; + if (miss) { + LDFP_MEM(16,&val); + LDFP_DST_D(); + if (ALAT_WRITE_CHECK) + alat_write(YES, f1, SRC1, 16); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(16); + return 0; +} + +Status ldfp8cncEx(INSTINFO *info) +{ + QWORD mant; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, NO) : 1; + if (miss) { + LDFP_MEM(16,&mant); + LDFP_DST_8(); + if (ALAT_WRITE_CHECK) + alat_write(YES, f1, SRC1, 16); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(16); + return 0; +} + +Status ldfscncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_NC_EX(WORD,4,sgl); + POST_INC(); + return 0; +} + +Status ldfdcncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_NC_EX(DWORD,8,dbl); + POST_INC(); + return 0; +} + +Status ldf8cncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_NC_EX(DWORD,8,dword); + POST_INC(); + return 0; +} + +Status ldfecncPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_NC_EX(QWORD,16,ext); + POST_INC(); + return 0; +} + +Status ldfscclrEx(INSTINFO *info) +{ + LDF_C_CLR_EX(WORD,4,sgl); + return 0; +} + +Status ldfdcclrEx(INSTINFO *info) +{ + LDF_C_CLR_EX(DWORD,8,dbl); + return 0; +} + +Status ldf8cclrEx(INSTINFO *info) +{ + LDF_C_CLR_EX(DWORD,8,dword); + return 0; +} + +Status ldfecclrEx(INSTINFO *info) +{ + LDF_C_CLR_EX(QWORD,16,ext); + return 0; +} + +Status ldfpscclrEx(INSTINFO *info) +{ + DWORD dval; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, YES) : 1; + if (miss) { + LDFP_MEM(8,&dval); + LDFP_DST_S(); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(8); + return 0; +} + +Status ldfpdcclrEx(INSTINFO *info) +{ + QWORD val; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, YES) : 1; + if (miss) { + LDFP_MEM(16,&val); + LDFP_DST_D(); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(16); + return 0; +} + +Status ldfp8cclrEx(INSTINFO *info) +{ + QWORD mant; + int miss; + + miss = ALAT_WRITE_CHECK ? alat_cmp(YES, f1, YES) : 1; + if (miss) { + LDFP_MEM(16,&mant); + LDFP_DST_8(); + } else { + FDST1 = FrRd(f1); + FDST2 = FrRd(f2); + } + LDFP_POST_INC(16); + return 0; +} + +Status ldfscclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_CLR_EX(WORD,4,sgl); + POST_INC(); + return 0; +} + +Status ldfdcclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_CLR_EX(DWORD,8,dbl); + POST_INC(); + return 0; +} + +Status ldf8cclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_CLR_EX(DWORD,8,dword); + POST_INC(); + return 0; +} + +Status ldfecclrPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + LDF_C_CLR_EX(QWORD,16,ext); + POST_INC(); + return 0; +} + +Status lfetchEx(INSTINFO *info) +{ + if (!SRCNAT1 && !PSR_ED) { + (void)memLPF(SRC1, LFETCH_ACCESS); + FM_mem_cache_update(SRC1, info); + } + return 0; +} + +Status lfetchFEx(INSTINFO *info) +{ + if (!PSR_ED) { + if (SRCNAT1) { + regNatConsumptionFault(LFETCH_ACCESS); + return StFault; + } + if (!memLPF(SRC1, LFETCH_FAULT_ACCESS)) + return StFault; + FM_mem_cache_update(SRC1, info); + } + return 0; +} + +Status lfetchPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + if (!SRCNAT1 && !PSR_ED) { + (void)memLPF(SRC1, LFETCH_ACCESS); + FM_mem_cache_update(SRC1, info); + } + POST_INC_SPEC(); + return 0; +} + +Status lfetchFPiEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r3)) { + illegalOpFault(); + return StFault; + } + if (!PSR_ED) { + if (SRCNAT1) { + regNatConsumptionFault(LFETCH_ACCESS); + return StFault; + } + if (!memLPF(SRC1, LFETCH_FAULT_ACCESS)) + return StFault; + FM_mem_cache_update(SRC1, info); + } + POST_INC_SPEC(); + return 0; +} + +Status stEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + DST1 = SRC1; + return 0; +} + +Status st16Ex(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + /* swap the 2 operands because memWrt16 will swap them back */ + if (PSR_BE) { + DST1 = SRC1; + DST2 = SRC3; + } else { + DST1 = SRC3; + DST2 = SRC1; + } + return 0; +} + +Status stSpillEx(INSTINFO *info) +{ + unsigned pos = BitfX(SRC2,55,6); + + if (SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + DST1 = SRC1; + DST2 = (UNAT & ~(1ULL << pos)) | ((REG)SRCNAT1 << pos); + return 0; +} + +Status stfsEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + DST1 = freg2sgl(FSRC1); + return 0; +} + +Status stfdEx(INSTINFO *info) +{ + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + DST1 = freg2dbl(FSRC1); + return 0; +} + +Status stf8Ex(INSTINFO *info) +{ + BYTE sign; + WORD exp; + + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + freg2spill(FSRC1, &sign, &exp, &DST1); + return 0; +} + +Status stfSpillEx(INSTINFO *info) +{ + BYTE sign; + WORD exp; + + if (SRCNAT2) { + regNatConsumptionFault(MEM_ST_ACCESS); + return StFault; + } + freg2spill(FSRC1, &sign, &exp, &DST2); + DST1 = SEXP(sign,exp); + return 0; +} + +Status xchgEx(INSTINFO *info) +{ + if (OUT_OF_FRAME(r1)) { + illegalOpFault(); + return StFault; + } + if (SRCNAT1 || SRCNAT2) { + regNatConsumptionFault(MEM_SEMA_ACCESS); + return StFault; + } + FM_mem_cache_update(SRC2, info); + return 0; +} diff --git a/src/memory.c b/src/memory.c new file mode 100644 index 0000000..32dc333 --- /dev/null +++ b/src/memory.c @@ -0,0 +1,2717 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Memory Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include +#include +#include +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +#include "sim.h" +#include "memory.h" +#include "tlb.h" +#include "libcore.h" +#include "libtrace.h" +#include "trace.h" +#include "interruption.h" +#include "platform.h" +#include "ia_types.h" +#include "ia_state.h" +#include "ia_exec.h" +extern BOOL use_alat; +void alat_inval_multiple_entries(ADDR pa, unsigned size); + +/* + * FreeBSD uses the traditional MAP_ANON and does not have MAP_ANONYMOUS. + * HP-UX has MAP_ANONYMOUS, but not MAP_ANON and Linux has both, but has + * deprecated MAP_ANON. Use MAP_ANONYMOUS as it has the largest following + * and deal with the cases when there's a MAP_ANON but no MAP_ANONYMOUS + * below. + */ +#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) +#define MAP_ANONYMOUS MAP_ANON +#endif + +#define PMEMHSHSZ (1024*1024) +#define PmemHash(a) (((DWORD)(a) >> log2_page_size) & (PMEMHSHSZ-1)) + +#define allocOK(adr) (autoAlloc || \ + (SP-0x1000ULL <= adr && adr < max_sp) || \ + (BSPST <= adr && adr < BSPST+0x1000ULL)) + +#define PIBSZ 0x200000 /* 2 MBytes */ +#define INTA_OFS 0x1E0000 +#define XTP_OFS 0x1E0008 +/* XXX - since ibBase rarely if ever changes, perhaps we should pre-compute + * the comparison addresses (e.g., ibBase+XTP_OFS) + */ +/* ipiAccess used by memWrt8 and memMWrt8 */ +#define ipiAccess(adr) ((adr) >= ibBase && (adr) < (ibBase + PIBSZ/2)) +/* xtpAccess used by memWrt1 and memMWrt1 but currently commented out */ +#define xtpAccess(adr) ((adr) == ibBase + XTP_OFS) +/* intaAccess not currently used */ +#define intaAccess(adr) ((adr) == ibBase + INTA_OFS) + +extern int numBptsToLoad; +extern void bptLoad (void); + +/*##################### Globals - Imports ##################################*/ + +void clearPdecode(ADDR adr, unsigned size); +BOOL dbptCheck(ADDR, unsigned, unsigned); + +/*##################### Globals - Exports ##################################*/ + +unsigned long page_size; +unsigned int log2_page_size; +DWORD page_mask; /* Why DWORD? Why not u_long? */ + +/*##################### Local Variables ####################################*/ + +typedef struct pmemStruct { + ADDR padr; /* real byte address of this page */ + struct pmemStruct *next; /* pointer to next page in hash chain */ + char *pmem; /* ptr to the actual page of memory */ + unsigned int flags; +#define PMEM_FL_BREAKPOINT 1 /* Breakpoints exist in this page. */ +} pmemStruct; + +static pmemStruct *pmemHshTbl[PMEMHSHSZ] = {NULL}; /* pmem hash table */ + +static BOOL unallocMRd(ADDR adr, int size, DWORD *pval); +static void unallocPageRd(ADDR adr, int size, DWORD *pval); +static void unallocPageWrt1(ADDR adr, BYTE val); +static void unallocPageWrt2(ADDR adr, HWORD val, BOOL be); +static void unallocPageWrt4(ADDR adr, WORD val, BOOL be); +static void unallocPageWrt8(ADDR adr, DWORD val, BOOL be); +static void unallocPageWrt16(ADDR adr, DWORD val1, DWORD val2, BOOL be); + +BOOL autoAlloc = NO; + +/*##################### Functions and Subroutines ##########################*/ + +/* + * Single-page mappings will yield a large amount of small VM objects that + * may or may not be collided into larger VM object by the kernel. Having + * a large number of small objects will generally cause a significant + * slowdown in performance. + * The pmem_new_page() function is therefore responsible to allocate a page + * in the process address space (the address space of ski) in whatever way + * is most efficient. + * XXX the current implementation is non-optimized. + */ +inline static void * +pmem_new_page(void) +{ + char *pa; + + pa = mmap(0, page_size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, + -1, 0); + if ((long)pa == -1) + pa = 0; + return (pa); +} + +/* + * This function deals with multi-process and multi-processor support. + * Multi-process support has a hashtable per application, while multi- + * processor support has a single hashtable shared between the CPUs. + * In multi-process scenarios simulated addresses (called virtual + * addresses in this module) are typically process virtual addresses. + * In multi-processor scenarios simulated addresses are typically + * simulated physical addresses. + * XXX not implemented yet. + */ +inline static pmemStruct ** +pmem_get_hashtable(void) +{ + return (pmemHshTbl); +} + +/* + * Given a virtual (=simulated) address and a physical (=process virtual) + * address, insert the mapping into the hash table. All addresses must be + * page aligned. + */ +inline static pmemStruct * +pmem_insert(ADDR va, void *pa) +{ + pmemStruct *ps, **tbl; + unsigned int bucket; + + assert(page_offset(va) == 0); + + ps = malloc(sizeof *ps); + if (ps == NULL) + abort(); + ps->padr = va; + ps->pmem = pa; + ps->flags = 0; + + tbl = pmem_get_hashtable(); + bucket = PmemHash(va); + + /* XXX lock [tbl,bucket] */ + ps->next = tbl[bucket]; + tbl[bucket] = ps; + /* XXX unlock [tbl,bucket] */ + + return (ps); +} + +inline static pmemStruct * +pmem_create(ADDR va) +{ + struct pmemStruct *ps; + void *pa; + + pa = pmem_new_page(); + if (pa == NULL) + abort(); + ps = pmem_insert(va, pa); + + return (ps); +} + +inline static pmemStruct * +pmem_lookup(ADDR va) +{ + pmemStruct *ps, **tbl; + unsigned int bucket; + ADDR pg; + + pg = page_base(va); + tbl = pmem_get_hashtable(); + bucket = PmemHash(pg); + + /* XXX lock [tbl,bucket] */ + ps = tbl[bucket]; + while (ps != NULL && ps->padr != pg) + ps = ps->next; + /* XXX unlock [tbl,bucket] */ + return (ps); +} + +inline static pmemStruct * +pmem_lookup_create(ADDR va) +{ + pmemStruct *ps; + + ps = pmem_lookup(va); + if (ps == NULL) + ps = pmem_create(page_base(va)); + assert(ps != NULL); + return (ps); +} + +inline static int +pmem_update_flags(ADDR va, unsigned int set, unsigned int clear) +{ + pmemStruct *ps; + + assert((set & clear) == 0); + + ps = pmem_lookup(va); + if (ps == NULL) + return (0); + ps->flags = (ps->flags | set) & ~clear; + return (1); +} + +/* + * Perform a load from the given address. + * XXX needs tracing. + */ +inline static int +pmem_load(ADDR va, void *buf, size_t sz, int flags) +{ + pmemStruct *ps; + + ps = pmem_lookup(va); + assert(0); +} + +/* + * Compatibility cruft. Needs reviewing and either removed or formalized. + */ + +#define pmemLookup_q(va) ((DWORD*)pmemLookupX(va, 0xf, YES)) +#define pmemMLookup_q(va) ((DWORD*)pmemLookupX(va, 0xf, NO)) +#define pmemLookup_d(va) ((DWORD*)pmemLookupX(va, 0x7, YES)) +#define pmemMLookup_d(va) ((DWORD*)pmemLookupX(va, 0x7, NO)) +#define pmemLookup_w(va) ((WORD*)pmemLookupX(va, 0x3, YES)) +#define pmemMLookup_w(va) ((WORD*)pmemLookupX(va, 0x3, NO)) +#define pmemLookup_h(va) ((HWORD*)pmemLookupX(va, 0x1, YES)) +#define pmemMLookup_h(va) ((HWORD*)pmemLookupX(va, 0x1, NO)) +#define pmemLookup_b(va) ((BYTE*)pmemLookupX(va, 0x0, YES)) +#define pmemMLookup_b(va) ((BYTE*)pmemLookupX(va, 0x0, NO)) + +static inline void * +pmemLookupX(ADDR va, unsigned int mask, int chkbp) +{ + pmemStruct *ps; + + /* + * XXX Misaligned addresses always have to fail the lookup. Why you + * then don't check alignment before you do the lookup is beyond me. + * In short: we shouldn't have to deal with this. + */ + if ((va & mask) != 0) + return NULL; + + ps = pmem_lookup(va); + if (ps == NULL) + return (NULL); + + /* + * XXX handling of watchpoints is severely broken. You don't wanna know. + * Well, maybe you do, but I don't wanna explain it :-) + */ + if (chkbp && (ps->flags & PMEM_FL_BREAKPOINT)) + return (NULL); + + return (void*)(ps->pmem + page_offset(va)); +} + +DWORD * +pmemLookup(ADDR va) +{ + pmemStruct *ps; + + ps = pmem_lookup(va); + if (ps == NULL) + return (NULL); + return (DWORD*)(ps->pmem + page_offset(va)); +} + +DWORD * +pmemLookup_p(ADDR va) +{ + pmemStruct *ps; + + ps = pmem_lookup_create(va); + return (DWORD*)(ps->pmem + page_offset(va)); +} + +BOOL +pmemMap(ADDR va, void *pa) +{ + pmem_insert(va, pa); + return YES; +} + +void +memSetDbptBit(ADDR va) +{ + pmem_update_flags(va, PMEM_FL_BREAKPOINT, 0); +} + +void +memClrDbptBit(ADDR va) +{ + pmem_update_flags(va, 0, PMEM_FL_BREAKPOINT); +} + +/* XXX - Global problem: the ALAT is supposed to store and lookup based on + physical addresses, not virtual as is done here. Easiest fix is probably + to pass physical address back from mem functions, as is done in the SDM +*/ + +/*******************************/ +/* Simulated data memory reads */ +/*******************************/ + +inline static long +segfault (ADDR addr) +{ +#ifdef __linux__ + if (unixABI) { + extern void signal_queue_info (int signal, ADDR fault_ip); + signal_queue_info (11, ip); + } else +#endif + progExit("Page at address 0x%016llx not allocated\n", addr); + return 0; +} + + + +BOOL memLPF(ADDR adr, Accesstype atype) +{ + DWORD d; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_LFETCH, DOFF_TRC_1_BYTE); + if (atype == LFETCH_ACCESS) + return YES; + if (!abi && dtlbLookup(adr, 1, LFETCH_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + if (!pmemMLookup_b(adr)) { + unallocPageRd(adr, 1, &d); + } + return YES; +} + +/* XXX - make return type an enum */ +/* return 0 for success, 1 for defer, -1 for fault */ +int memRd1(ADDR adr, Accesstype atype, BYTE *pval) +{ + BYTE *pb; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_1_BYTE); + if (!abi && (ret = dtlbLookup(adr, 1, atype, PSR_CPL, PSR_DT, &adr))) + return ret; + if ((pb = pmemLookup_b(adr))) + *pval = *pb; + else if (dbptCheck(adr, 1, 1)) + progStop("Data breakpoint encountered\n"); + else if ((pb = pmemMLookup_b(adr))) + *pval = *pb; + else { + DWORD d; + + unallocPageRd(adr, 1, &d); + *pval = d; + } + return 0; +} + +int memRd2(ADDR adr, Accesstype atype, HWORD *pval) +{ + HWORD *ph; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_2_BYTES); + if (!abi && (ret = dtlbLookup(adr, 2, atype, PSR_CPL, PSR_DT, &adr))) + return ret; + if ((ph = pmemLookup_h(adr))) + *pval = *ph; + else if (dbptCheck(adr, 1, 2)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x1) { + unalignedDataFault(MEM_LD_ACCESS); + return -1; /* never reached? */ + } else if ((ph = pmemMLookup_h(adr))) { + *pval = *ph; + } else { + DWORD d; + + unallocPageRd(adr, 2, &d); + *pval = d; + } + *pval = FIX_BYTEORDER_H(PSR_BE, *pval); + return 0; +} + +int memRd4(ADDR adr, Accesstype atype, WORD *pval) +{ + WORD *pw; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_4_BYTES); + if (!abi && (ret = dtlbLookup(adr, 4, atype, PSR_CPL, PSR_DT, &adr))) + return ret; + if ((pw = pmemLookup_w(adr))) + *pval = *pw; + else if (dbptCheck(adr, 1, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + unalignedDataFault(MEM_LD_ACCESS); + return -1; /* never reached? */ + } else if ((pw = pmemMLookup_w(adr))) { + *pval = *pw; + } else { + DWORD d; + + unallocPageRd(adr, 4, &d); + *pval = d; + } + *pval = FIX_BYTEORDER_W(PSR_BE, *pval); + return 0; +} + +int memRd8(ADDR adr, Accesstype atype, DWORD *pval) +{ + DWORD *pd; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_8_BYTES); + if (!abi && (ret = dtlbLookup(adr, 8, atype, PSR_CPL, PSR_DT, &adr))) + return ret; + if ((pd = pmemLookup_d(adr))) + *pval = *pd; + else if (dbptCheck(adr, 1, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + unalignedDataFault(MEM_LD_ACCESS); + return -1; /* never reached? */ + } else if ((pd = pmemMLookup_d(adr))) { + *pval = *pd; + } else { + unallocPageRd(adr, 8, pval); + } + *pval = FIX_BYTEORDER_D(PSR_BE, *pval); + return 0; +} + +int memRd16(ADDR adr, Accesstype atype, QWORD *pval) +{ + DWORD *pd; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_16_BYTES); + if (!abi && (ret = dtlbLookup(adr, 16, atype, PSR_CPL, PSR_DT, &adr))) + return ret; + if ((pd = pmemLookup_q(adr))) { + pval->left = *pd; + pval->right = *(pd+1); + } else if (dbptCheck(adr, 1, 16)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0xF) { + unalignedDataFault(MEM_LD_ACCESS); + return -1; /* never reached? */ + } else if ((pd = pmemMLookup_q(adr))) { + pval->left = *pd; + pval->right = *(pd+1); + } else { + unallocPageRd(adr, 16, (DWORD *)pval); + } + FIX_BYTEORDER_Q(PSR_BE, pval->left, pval->right, pval->left, pval->right); + return 0; +} + +BOOL rseRd(ADDR adr, DWORD *pval) +{ + DWORD *pd; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_RSEREAD, DOFF_TRC_8_BYTES); + if (!abi && dtlbLookup(adr, 8, RSE_LD_ACCESS, RSC_PL, PSR_RT, &adr) == -1) + return NO; + if ((pd = pmemLookup_d(adr))) + *pval = *pd; + else if (dbptCheck(adr, 1, 16)) + progStop("Data breakpoint encountered\n"); + else if ((pd = pmemMLookup_d(adr))) + *pval = *pd; + else { + unallocPageRd(adr, 8, pval); + } + *pval = FIX_BYTEORDER_D(RSC_BE, *pval); + return YES; +} + +#define PTA_VF BitfR(PTA,55,1) +#define BAD_TPA 5 +BOOL vhptRd(ADDR adr, DWORD *ptpa, DWORD *ptar, DWORD *ptag) +{ + int ret, long_format = (PTA_VF != 0); + DWORD *pd; + + if ((ret = vhptLookup(adr, &adr)) == 0) + return NO; + if (ret == -1) { + *ptpa = BAD_TPA; /* force reservedInsert() to fail */ + return YES; + } + if ((pd = pmemLookup_d(adr))) { + *ptpa = pd[0]; + if (long_format) { + *ptar = pd[1]; + *ptag = pd[2]; + } + } else if (dbptCheck(adr, 1, 32)) { + progStop("Data breakpoint encountered\n"); + } else if ((pd = pmemMLookup_d(adr))) { + *ptpa = pd[0]; + if (long_format) { + *ptar = pd[1]; + *ptag = pd[2]; + } + } else { /* XXX - Is this correct? */ + unallocPageRd(adr, 8, ptpa); + unallocPageRd(adr, 8, ptar); + unallocPageRd(adr, 8, ptag); + } + *ptpa = FIX_BYTEORDER_D(DCR_BE, *ptpa); + if (long_format) { + *ptar = FIX_BYTEORDER_D(DCR_BE, *ptar); + *ptag = FIX_BYTEORDER_D(DCR_BE, *ptag); + } + return YES; +} + +/* XXX - make return type an enum */ +/* return 0 for success, 1 for NaT, -1 for fault */ +int specRd1(ADDR adr, Accesstype atype, BYTE *pval) +{ + BYTE *pb; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_1_BYTE); + if (!abi && (ret = specLookup(adr, 1, SPEC_LD_ACCESS, &adr)) == -1) + return ret; + if ((pb = pmemLookup_b(adr))) + *pval = *pb; + else if (!ret && dbptCheck(adr, 1, 1)) + progStop("Data breakpoint encountered\n"); + else if ((pb = pmemMLookup_b(adr))) + *pval = *pb; + else if (abi) + return 1; + else if (!ret) { + DWORD d; + + unallocPageRd(adr, 1, &d); + *pval = d; +#if 0 + progExit("Speculative read to unallocated address 0x%016llx\n", adr); + /* Call unallocPageRd()? */ +#endif + } + return ret; +} + +int specRd2(ADDR adr, Accesstype atype, HWORD *pval) +{ + HWORD *ph; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_2_BYTES); + if (!abi && (ret = specLookup(adr, 2, SPEC_LD_ACCESS, &adr)) == -1) + return ret; + if ((ph = pmemLookup_h(adr))) + *pval = *ph; + else if (!ret && dbptCheck(adr, 1, 2)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x1) { + if (!PSR_IC || ITLB_ED) + return 1; + unalignedDataFault(SPEC_LD_ACCESS); + return -1; + } else if ((ph = pmemMLookup_h(adr))) { + *pval = *ph; + } else if (abi) + return 1; + else if (!ret) { + DWORD d; + + unallocPageRd(adr, 2, &d); + *pval = d; +#if 0 + progExit("Speculative read to unallocated address 0x%016llx\n", adr); + /* Call unallocPageRd()? */ +#endif + } + *pval = FIX_BYTEORDER_H(PSR_BE, *pval); + return ret; +} + +int specRd4(ADDR adr, Accesstype atype, WORD *pval) +{ + WORD *pw; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_4_BYTES); + if (!abi && (ret = specLookup(adr, 4, SPEC_LD_ACCESS, &adr)) == -1) + return ret; + if ((pw = pmemLookup_w(adr))) + *pval = *pw; + else if (!ret && dbptCheck(adr, 1, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + if (!PSR_IC || ITLB_ED) + return 1; + unalignedDataFault(SPEC_LD_ACCESS); + return -1; + } else if ((pw = pmemMLookup_w(adr))) { + *pval = *pw; + } else if (abi) + return 1; + else if (!ret) { + DWORD d; + + unallocPageRd(adr, 4, &d); + *pval = d; +#if 0 + progExit("Speculative read to unallocated address 0x%016llx\n", adr); + /* Call unallocPageRd()? */ +#endif + } + *pval = FIX_BYTEORDER_W(PSR_BE, *pval); + return ret; +} + +int specRd8(ADDR adr, Accesstype atype, DWORD *pval) +{ + DWORD *pd; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_8_BYTES); + if (!abi && (ret = specLookup(adr, 8, SPEC_LD_ACCESS, &adr)) == -1) + return ret; + if ((pd = pmemLookup_d(adr))) + *pval = *pd; + else if (!ret && dbptCheck(adr, 1, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + if (!PSR_IC || ITLB_ED) + return 1; + unalignedDataFault(SPEC_LD_ACCESS); + return -1; + } else if ((pd = pmemMLookup_d(adr))) { + *pval = *pd; + } else if (abi) + return 1; + else if (!ret) { + unallocPageRd(adr, 8, pval); +#if 0 + progExit("Speculative read to unallocated address 0x%016llx\n", adr); + /* Call unallocPageRd()? */ +#endif + } + *pval = FIX_BYTEORDER_D(PSR_BE, *pval); + return ret; +} + +int specRd16(ADDR adr, Accesstype atype, QWORD *pval) +{ + DWORD *pd; + int ret = 0; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_READ, DOFF_TRC_16_BYTES); + if (!abi && (ret = specLookup(adr, 16, SPEC_LD_ACCESS, &adr)) == -1) + return ret; + if ((pd = pmemLookup_q(adr))) { + pval->left = *pd; + pval->right = *(pd+1); + } else if (!ret && dbptCheck(adr, 1, 16)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0xF) { + if (!PSR_IC || ITLB_ED) + return 1; + unalignedDataFault(SPEC_LD_ACCESS); + return -1; + } else if ((pd = pmemMLookup_q(adr))) { + pval->left = *pd; + pval->right = *(pd+1); + } else if (abi) + return 1; + else if (!ret) { + unallocPageRd(adr, 16, (DWORD *)pval); +#if 0 + progExit("Speculative read to unallocated address 0x%016llx\n", adr); + /* Call unallocPageRd()? */ +#endif + } + FIX_BYTEORDER_Q(PSR_BE, pval->left, pval->right, pval->left, pval->right); + return ret; +} + + +/********************************/ +/* Simulated data memory writes */ +/********************************/ + +BOOL memWrt1(ADDR adr, BYTE val) +{ + BYTE *pb; + + if (use_alat) + alat_inval_multiple_entries(adr, 1); + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_1_BYTE); + if (!abi && dtlbLookup(adr, 1, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; +#if 0 + if (!abi && xtpAccess(adr)) + xtpCycle(val); +#endif + if ((pb = pmemLookup_b(adr))) + *pb = val; + else if (dbptCheck(adr, 2, 1)) + progStop("Data breakpoint encountered\n"); + else if ((pb = pmemMLookup_b(adr))) + *pb = val; + else + unallocPageWrt1(adr, val); + return YES; +} + +BOOL memWrt2(ADDR adr, HWORD val) +{ + HWORD *ph; + + if (use_alat) + alat_inval_multiple_entries(adr, 2); + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_2_BYTES); + if (!abi && dtlbLookup(adr, 2, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + if ((ph = pmemLookup_h(adr))) + *ph = FIX_BYTEORDER_H(PSR_BE, val); + else if (dbptCheck(adr, 2, 2)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x1) { + unalignedDataFault(MEM_ST_ACCESS); + return NO; /* never reached? */ + } else if ((ph = pmemMLookup_h(adr))) { + *ph = FIX_BYTEORDER_H(PSR_BE, val); + } else + unallocPageWrt2(adr, val, PSR_BE); + return YES; +} + +BOOL memWrt4(ADDR adr, WORD val) +{ + WORD *pw; + + if (use_alat) + alat_inval_multiple_entries(adr, 4); + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_4_BYTES); + if (!abi && dtlbLookup(adr, 4, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + if ((pw = pmemLookup_w(adr))) + *pw = FIX_BYTEORDER_W(PSR_BE, val); + else if (dbptCheck(adr, 2, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + unalignedDataFault(MEM_ST_ACCESS); + return NO; /* never reached? */ + } else if ((pw = pmemMLookup_w(adr))) { + *pw = FIX_BYTEORDER_W(PSR_BE, val); + } else + unallocPageWrt4(adr, val, PSR_BE); + return YES; +} + +BOOL memWrt8(ADDR adr, DWORD val) +{ + DWORD *pd; + + if (use_alat) + alat_inval_multiple_entries(adr, 8); + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_8_BYTES); + + if (!abi) { + if (dtlbLookup(adr, 8, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + +#ifdef NEW_MP + if (ipiAccess(adr)) { + sendIPI((adr >> 12) & 0xff, (adr >> 4) & 0xff, val & 0xff); + return YES; + } +#endif + } + + if ((pd = pmemLookup_d(adr))) + *pd = FIX_BYTEORDER_D(PSR_BE, val); + else if (dbptCheck(adr, 2, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + unalignedDataFault(MEM_ST_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_d(adr))) { + *pd = FIX_BYTEORDER_D(PSR_BE, val); + } else + unallocPageWrt8(adr, val, PSR_BE); + return YES; +} + +BOOL memWrt10(ADDR adr, DWORD val1, DWORD val2) +{ + DWORD *pd; + + if (use_alat) + alat_inval_multiple_entries(adr, 10); + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_10_BYTES); + if (!abi && dtlbLookup(adr, 16, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + if ((pd = pmemLookup_q(adr))) { + HWORD *ph = (HWORD*)(pd + 1); + +#if BYTE_ORDER == BIG_ENDIAN + if (PSR_BE) { + *pd = val1; + *ph = HW0(val2); + } else { + DWORD dtmp = BitfX(val1,16,48) << 16 | HW0(val2); + HWORD htmp = HW0(val1); + + *pd = swapd(dtmp); + *ph = swaph(htmp); + } +#else /* !BYTE_ORDER === BIG_ENDIAN */ + if (PSR_BE) { + *pd = swapd(val1); + *ph = swaph(HW0(val2)); + } else { + *pd = HW0(val2) | (BitfX(val1,16,48) << 16); + *ph = HW0(val1); + } +#endif /* !BYTE_ORDER === BIG_ENDIAN */ + } else if (dbptCheck(adr, 2, 10)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0xF) { + unalignedDataFault(MEM_ST_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_q(adr))) { + HWORD *ph = (HWORD*)(pd + 1); +#if BYTE_ORDER == BIG_ENDIAN + if (PSR_BE) { + *pd = val1; + *ph = HW0(val2); + } else { + DWORD dtmp = BitfX(val1,16,48) << 16 | HW0(val2); + HWORD htmp = HW0(val1); + + *pd = swapd(dtmp); + *ph = swaph(htmp); + } +#else /* !BYTE_ORDER === BIG_ENDIAN */ + if (PSR_BE) { + *pd = swapd(val1); + *ph = swaph(HW0(val2)); + } else { + *pd = HW0(val2) | (BitfX(val1,16,48) << 16); + *ph = HW0(val1); + } +#endif /* !BYTE_ORDER === BIG_ENDIAN */ + } else + unallocPageWrt16(adr, val1, val2, PSR_BE); + return YES; +} + +BOOL memWrt16(ADDR adr, DWORD val1, DWORD val2) +{ + DWORD *pd; + + if (use_alat) + alat_inval_multiple_entries(adr, 16); + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_WRITE, DOFF_TRC_16_BYTES); + if (!abi && dtlbLookup(adr, 16, MEM_ST_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + if ((pd = pmemLookup_q(adr))) { + FIX_BYTEORDER_Q(PSR_BE, *pd, *(pd+1), val1, val2); + } else if (dbptCheck(adr, 2, 16)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0xF) { + unalignedDataFault(MEM_ST_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_q(adr))) { + FIX_BYTEORDER_Q(PSR_BE, *pd, *(pd+1), val1, val2); + } else + unallocPageWrt16(adr, val1, val2, PSR_BE); + return YES; +} + +BOOL rseWrt(ADDR adr, DWORD val) +{ + DWORD *pd; + + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_RSEWRITE, DOFF_TRC_8_BYTES); + if (!abi && dtlbLookup(adr, 8, RSE_ST_ACCESS, RSC_PL, PSR_RT, &adr) == -1) + return NO; + if ((pd = pmemLookup_d(adr))) + *pd = FIX_BYTEORDER_D(RSC_BE, val); + else if (dbptCheck(adr, 2, 8)) + progStop("Data breakpoint encountered\n"); + else if ((pd = pmemMLookup_d(adr))) + *pd = FIX_BYTEORDER_D(RSC_BE, val); + else + unallocPageWrt8(adr, val, RSC_BE); + return YES; +} + + +/************************************/ +/* Simulated data memory semaphores */ +/************************************/ + +#if defined(__hppa) && defined(__hpux) +#include +#endif + +BOOL memXchg(ADDR adr, unsigned size, REG val, REG *pval) +{ + BYTE *pb; + HWORD *ph; + WORD *pw; + DWORD *pd, d; + + if (use_alat) + alat_inval_multiple_entries(adr, size); + if (!abi && + dtlbLookup(adr, size, MEM_SEMA_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + switch (size) { + case 1: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_1_BYTE); + if ((pb = pmemLookup_b(adr))) { + *pval = *pb; + *pb = val; + } else if (dbptCheck(adr, 3, 1)) { + progStop("Data breakpoint encountered\n"); + } else if ((pb = pmemMLookup_b(adr))) { + *pval = *pb; + *pb = val; + } else { + /* XXX - what to do here? */ + unallocPageRd(adr, 1, &d); + *pval = d; + } + break; + case 2: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_2_BYTES); + if ((ph = pmemLookup_h(adr))) { + *pval = *ph; + *ph = FIX_BYTEORDER_H(PSR_BE, val); + } else if (dbptCheck(adr, 3, 2)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x1) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((ph = pmemMLookup_h(adr))) { + *pval = *ph; + *ph = FIX_BYTEORDER_H(PSR_BE, val); + } + *pval = FIX_BYTEORDER_H(PSR_BE, *pval); + break; + case 4: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_4_BYTES); + if ((pw = pmemLookup_w(adr))) { +#ifndef __hppa + *pval = *pw; + *pw = FIX_BYTEORDER_W(PSR_BE, val); +#else + if (!val) { + register unsigned *addr, value; + addr = pw; +#if defined __GNUC__ + asm volatile ("ldcws 0(%1),%0" : "=r"(value) : "r"(addr)); +#else + _LDCWS(0, 0, addr, value); +#endif + *pval = value; + } else { + *pval = *pw; + *pw = FIX_BYTEORDER_W(PSR_BE, val); + } +#endif + } else if (dbptCheck(adr, 3, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pw = pmemMLookup_w(adr))) { +#ifndef __hppa + *pval = *pw; + *pw = FIX_BYTEORDER_W(PSR_BE, val); +#else + if (!val) { + register unsigned *addr, value; + addr = pw; +#if defined __GNUC__ + asm volatile ("ldcws 0(%1),%0" : "=r"(value) : "r"(addr)); +#else + _LDCWS(0, 0, addr, value); +#endif + *pval = value; + } else { + *pval = *pw; + *pw = FIX_BYTEORDER_W(PSR_BE, val); + } +#endif + } + *pval = FIX_BYTEORDER_W(PSR_BE, *pval); + break; + case 8: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_8_BYTES); + if ((pd = pmemLookup_d(adr))) { + *pval = *pd; + *pd = FIX_BYTEORDER_D(PSR_BE, val); + } else if (dbptCheck(adr, 3, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_d(adr))) { + *pval = *pd; + *pd = FIX_BYTEORDER_D(PSR_BE, val); + } + *pval = FIX_BYTEORDER_D(PSR_BE, *pval); + break; + } + return YES; +} + +BOOL memXchgAdd(ADDR adr, unsigned size, int inc, REG *pval) +{ + WORD *pw; + DWORD *pd; + + if (use_alat) + alat_inval_multiple_entries(adr, size); + if (!abi && + dtlbLookup(adr, size, MEM_FETCHADD_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + switch (size) { + case 4: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_4_BYTES); + if ((pw = pmemLookup_w(adr))) { + *pval = FIX_BYTEORDER_W(PSR_BE, *pw); + *pw = *pval + inc; + *pw = FIX_BYTEORDER_W(PSR_BE, *pw); + } else if (dbptCheck(adr, 3, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pw = pmemMLookup_w(adr))) { + *pval = FIX_BYTEORDER_W(PSR_BE, *pw); + *pw = *pval + inc; + *pw = FIX_BYTEORDER_W(PSR_BE, *pw); + } else { + unallocPageRd(adr, 4, pval); + unallocPageWrt4(adr, *pval, PSR_BE); + } + break; + case 8: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_8_BYTES); + if ((pd = pmemLookup_d(adr))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *pd); + *pd = *pval + inc; + *pd = FIX_BYTEORDER_D(PSR_BE, *pd); + } else if (dbptCheck(adr, 3, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_d(adr))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *pd); + *pd = *pval + inc; + *pd = FIX_BYTEORDER_D(PSR_BE, *pd); + } else { + unallocPageRd(adr, 8, pval); + unallocPageWrt8(adr, *pval, PSR_BE); + } + break; + } + return YES; +} + +BOOL memXchgCond(ADDR adr, unsigned size, REG val, REG *pval) +{ + BYTE *pb; + HWORD *ph; + WORD *pw; + DWORD *pd; + + /* XXX - Only invalidate ALAT if CCV matches! */ + if (use_alat) + alat_inval_multiple_entries(adr, size); + if (!abi && + dtlbLookup(adr, size, MEM_SEMA_ACCESS, PSR_CPL, PSR_DT, &adr) == -1) + return NO; + switch (size) { + case 1: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_1_BYTE); + if ((pb = pmemLookup_b(adr))) { + *pval = *pb; + if (*pb == CCV) + *pb = val; + } else if (dbptCheck(adr, 3, 1)) { + progStop("Data breakpoint encountered\n"); + } else if ((pb = pmemMLookup_b(adr))) { + *pval = *pb; + if (*pb == CCV) + *pb = val; + } else { + /* XXX - what to do here? */ + unallocPageRd(adr, 1, pval); + if (*pval == CCV) + unallocPageWrt1(adr, *pval); + } + break; + case 2: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_2_BYTES); + if ((ph = pmemLookup_h(adr))) { + *pval = FIX_BYTEORDER_H(PSR_BE, *ph); + if (*pval == CCV) + *ph = FIX_BYTEORDER_H(PSR_BE, val); + } else if (dbptCheck(adr, 3, 2)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x1) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((ph = pmemMLookup_h(adr))) { + *pval = FIX_BYTEORDER_H(PSR_BE, *ph); + if (*pval == CCV) + *ph = FIX_BYTEORDER_H(PSR_BE, val); + } else { + unallocPageRd(adr, 2, pval); + if (*pval == CCV) + unallocPageWrt2(adr, *pval, PSR_BE); + } + break; + case 4: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_4_BYTES); + if ((pw = pmemLookup_w(adr))) { + *pval = FIX_BYTEORDER_W(PSR_BE, *pw); + if (*pval == CCV) + *pw = FIX_BYTEORDER_W(PSR_BE, val); + } else if (dbptCheck(adr, 3, 4)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x3) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pw = pmemMLookup_w(adr))) { + *pval = FIX_BYTEORDER_W(PSR_BE, *pw); + if (*pval == CCV) + *pw = FIX_BYTEORDER_W(PSR_BE, val); + } else { + unallocPageRd(adr, 4, pval); + if (*pval == CCV) + unallocPageWrt4(adr, *pval, PSR_BE); + } + break; + case 8: + if (traceEnb) + WRT_DOFFSET_TR(adr, DOFF_TRC_SEMAPHORE, DOFF_TRC_8_BYTES); + if ((pd = pmemLookup_d(adr))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *pd); + if (*pval == CCV) + *pd = FIX_BYTEORDER_D(PSR_BE, val); + } else if (dbptCheck(adr, 3, 8)) + progStop("Data breakpoint encountered\n"); + else if (adr & 0x7) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_d(adr))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *pd); + if (*pval == CCV) + *pd = FIX_BYTEORDER_D(PSR_BE, val); + } else { + unallocPageRd(adr, 8, pval); + if (*pval == CCV) + unallocPageWrt8(adr, *pval, PSR_BE); + } + break; + } + return YES; +} + +BOOL memXchg16Cond(ADDR adr, REG val1, REG val2, REG *pval) +{ + DWORD *pd; + ADDR adr16 = adr & ~(ADDR)0x8; /* 16-byte align address */ + BOOL half = (adr & (ADDR)0x8) >> 3; /* the half to read/compare */ + + /* XXX - Only invalidate ALAT if CCV matches! */ + if (use_alat) + alat_inval_multiple_entries(adr16, 16); + if (!abi && + dtlbLookup(adr16, 16, MEM_SEMA_ACCESS, PSR_CPL, PSR_DT, &adr16) == -1) + return NO; + if (traceEnb) + WRT_DOFFSET_TR(adr16, DOFF_TRC_SEMAPHORE, DOFF_TRC_16_BYTES); + if ((pd = pmemLookup_q(adr16))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *(pd+half)); + if (*pval == CCV) { + *pd = FIX_BYTEORDER_D(PSR_BE, val1); + *(pd+1) = FIX_BYTEORDER_D(PSR_BE, val2); + } + } else if (dbptCheck(adr16, 3, 16)) + progStop("Data breakpoint encountered\n"); + else if (adr16 & 0xF) { + unalignedDataFault(MEM_SEMA_ACCESS); + return NO; /* never reached? */ + } else if ((pd = pmemMLookup_q(adr16))) { + *pval = FIX_BYTEORDER_D(PSR_BE, *(pd+half)); + if (*pval == CCV) { + *pd = FIX_BYTEORDER_D(PSR_BE, val1); + *(pd+1) = FIX_BYTEORDER_D(PSR_BE, val2); + } + } else { + unallocPageRd(adr+half, 8, pval); + if (*pval == CCV) { + unallocPageWrt16(adr16, val1, val2, PSR_BE); + } + } + return YES; +} + + +/*******************************/ +/* Simulator data memory reads */ +/*******************************/ + +/* XXX - Called by memBBRd and a few others */ +static BOOL memMRd1(ADDR adr, BYTE *pval) +{ + BYTE *pb; + + if ((pb = pmemMLookup_b(adr))) { + *pval = *pb; + return YES; + } else + return NO; +} + +BOOL memMRd(ADDR adr, unsigned size, DWORD *pval) +{ + BYTE *pb; + HWORD *ph; + WORD *pw; + DWORD *pd; + BOOL ret; + + if (!abi && !dtlbMLookup(adr, 0, PSR_CPL, PSR_DT, &adr)) + return NO; + + switch (size) { + case 1: + if ((pb = pmemMLookup_b(adr))) { + *(BYTE*)pval = *pb; + ret = YES; + } else + ret = NO; + break; + case 2: /* Used by elfLoad to swap ELF header values and by profCnt */ + if ((ph = pmemMLookup_h(adr))) { + *(HWORD*)pval = FIX_BYTEORDER_H(PSR_BE && !PSR_IS, *ph); + ret = YES; + } else + ret = NO; + break; + case 4: /* Used by elfLoad to swap ELF header values */ + if ((pw = pmemMLookup_w(adr))) { + *(WORD*)pval = FIX_BYTEORDER_W(PSR_BE && !PSR_IS, *pw); + ret = YES; + } else + ret = NO; + break; + case 8: /* Used by datwLine and for the '*' evaluation */ + if ((pd = pmemMLookup_d(adr))) { + *pval = FIX_BYTEORDER_D(PSR_BE && !PSR_IS, *pd); + ret = YES; + } else if (!abi) + ret = unallocMRd(adr, 8, pval); + else + ret = NO; + break; + default: + ret = NO; + } + + return ret; +} + +BOOL vhptMRd(ADDR adr, DWORD *ptpa, DWORD *ptar, DWORD *ptag) +{ + DWORD *pd; + + if (!dtlbMLookup(adr, 1, 0, YES, &adr)) + return NO; + if ((pd = pmemMLookup_d(adr))) { + *ptpa = FIX_BYTEORDER_D(DCR_BE, pd[0]); + *ptar = FIX_BYTEORDER_D(DCR_BE, pd[1]); + *ptag = FIX_BYTEORDER_D(DCR_BE, pd[2]); + return YES; + } else + return NO; +} + + + + +/********************************/ +/* Simulator data memory writes */ +/********************************/ + +/* Called by "=1" command and memBBWrt */ +static BOOL memMWrt1(ADDR adr, BYTE val) +{ + BYTE *pb; + + if (!abi && !dtlbMLookup(adr, 2, PSR_CPL, PSR_DT, &adr)) + return NO; +#if 0 + if (!abi && xtpAccess(adr)) + xtpCycle(val); +#endif + if ((pb = pmemMLookup_b(adr))) { + *pb = val; + clearPdecode(adr, 1); + return YES; + } else if (!abi) { + IS_t x; + + x.addr = adr; + x.data = val; + x.size = 1; + switch (iomStore(&x)) { + case 0: + return NO; + case 1: + *((BYTE *)pmemLookup_p(adr)) = val; + clearPdecode(adr, 1); + return YES; + case 2: + clearPdecode(adr, 1); + return YES; + } + } + return NO; +} + +/* Called by "=2" command */ +static BOOL memMWrt2(ADDR adr, HWORD val) +{ + HWORD *ph; + + if (!abi && !dtlbMLookup(adr, 2, PSR_CPL, PSR_DT, &adr)) + return NO; + val = FIX_BYTEORDER_H(PSR_BE, val); + if ((ph = pmemMLookup_h(adr))) { + *ph = val; + clearPdecode(adr, 2); + return YES; + } else if (!abi) { + IS_t x; + + x.addr = adr; + x.data = val; + x.size = 2; + switch (iomStore(&x)) { + case 0: + return NO; + case 1: + *(HWORD *)((BYTE *)pmemLookup_p(adr)) = val; + clearPdecode(adr, 2); + return YES; + case 2: + clearPdecode(adr, 2); + return YES; + } + } + return NO; +} + +/* Called by "=4" command and by elfLoad to set up runtime stack */ +static BOOL memMWrt4(ADDR adr, WORD val) +{ + WORD *pw; + + if (!abi && !dtlbMLookup(adr, 2, PSR_CPL, PSR_DT, &adr)) + return NO; + if (!PSR_BE) + val = FIX_BYTEORDER_W(PSR_BE, val); + if ((pw = pmemMLookup_w(adr))) { + *pw = val; + clearPdecode(adr, 4); + return YES; + } else if (!abi) { + IS_t x; + + x.addr = adr; + x.data = val; + x.size = 4; + switch (iomStore(&x)) { + case 0: + return NO; + case 1: + *(WORD *)((BYTE *)pmemLookup_p(adr)) = val; + clearPdecode(adr, 4); + return YES; + case 2: + clearPdecode(adr, 4); + return YES; + } + } + return NO; +} + +/* Called by "=8" command and by elfLoad to set up runtime stack */ +static BOOL memMWrt8(ADDR adr, DWORD val) +{ + DWORD *pd; + + if (!abi && !dtlbMLookup(adr, 2, PSR_CPL, PSR_DT, &adr)) + return NO; + + if (!PSR_BE) + val = FIX_BYTEORDER_D(PSR_BE, val); + + if ((pd = pmemMLookup_d(adr))) { + *pd = val; + clearPdecode(adr, 8); + return YES; + } else if (!abi) { + IS_t x; + + x.addr = adr; + x.data = val; + x.size = 8; + switch (iomStore(&x)) { + case 0: + return NO; + case 1: + *(DWORD *)((BYTE *)pmemLookup_p(adr)) = val; + clearPdecode(adr, 8); + return YES; + case 2: + clearPdecode(adr, 8); + return YES; + } + } + return NO; +} + +BOOL memMWrt(ADDR adr, unsigned size, DWORD val) +{ + + switch (size) { + case 1: + return memMWrt1(adr, val); + + case 2: + return memMWrt2(adr, val); + + case 4: + return memMWrt4(adr, val); + + case 8: + return memMWrt8(adr, val); + + default: + return NO; + } +} + + +/* Other routines */ + +BOOL memIRd(ADDR adr, DWORD *pval) +{ + DWORD *pd; + + if (!abi && !itlbLookup(adr, PSR_IT, &adr)) + return NO; + if ((pd = pmemMLookup_q(adr))) { + pval[0] = pd[0]; + pval[1] = pd[1]; + } else + return NO; /* XXX - call unallocPageEx? */ + return YES; +} + +/* Called by "pd" command, prgwLine, datwLine, ibptLoad, ibptUnload */ +/* XXX - Should be named Bundle Read (memMBRd) */ +/* Also called by the write bundle trace macros */ +BOOL memMIRd(ADDR adr, DWORD *pval) +{ + DWORD *pdw; + int i; + + if (!abi && !itlbMLookup(adr, PSR_IT, &adr)) + return NO; + + if (!(pdw = pmemMLookup_d(adr))) + return NO; + + for (i = 0; i < 2; i++) + pval[i] = *pdw++; + + return YES; +} + +/* Called by ibptLoad(), ibptUnload() */ +BOOL memMIWrt(ADDR adr, DWORD *pval) +{ + DWORD *pdw; + int i; + + if (!abi && !itlbMLookup(adr, PSR_IT, &adr)) + return NO; + + if (!(pdw = pmemMLookup_d(adr))) + return NO; + + for (i = 0; i < 2; i++) + *pdw++ = pval[i]; + + return YES; +} + + +/* Called for loading code pages */ +void memMPIWrt(ADDR adr, const BYTE *src, unsigned size) +{ + BYTE *dst = (BYTE *)pmemLookup_p(adr); + (void)memcpy(dst, src, size); +} + +/* Called for loading data pages */ +/* XXX - Can maybe merge w/ memMPIWrt if an access mode argument is passed */ +void memMPWrt(ADDR adr, const BYTE *src, unsigned size) +{ + BYTE *dst = (BYTE *)pmemLookup_p(adr); + (void)memcpy(dst, src, size); +} + +/* XXX - Assumes start is page-aligned */ +/* XXX - Ignores any failures from pmemMap */ +void memMPMap(ADDR start, char *hostadr, size_t len) +{ + ADDR adr, end = start+len-1; + + for (adr = start; adr <= end; adr += page_size, hostadr += page_size) + (void)pmemMap(adr, (void *)hostadr); +} + +/* Called by various syscalls (app-mode only) */ +BOOL memBBRd(ADDR adr, BYTE *buf, unsigned nbytes) +{ + if (nbytes) { + unsigned i; + + if (dbptCheck(adr, 1, nbytes)) + progStop("Data breakpoint encountered\n"); + /* XXX - had to clear the dbpt before I could continue simulation! */ + for (i = 0; i < nbytes; i++) { + if (!memMRd1(adr, buf)) + return NO; + adr++; + buf++; + } + } else /* XXX - checking for dbpts either done 1 at a time or need to + * keep a count of the bytes and check afterwards + */ + for (;;) { + if (!memMRd1(adr, buf)) + return NO; + if (!*buf) + break; + adr++; + buf++; + } + return YES; +} + +/* Called by elfLoad (args on runtime stack), and various syscalls */ +void memBBWrt(ADDR adr, const BYTE *buf, unsigned nbytes) +{ + unsigned i; + + /* XXX - this will cause a core dump if hit when used by elfLoad */ + if (dbptCheck(adr, 2, nbytes)) + progStop("Data breakpoint encountered\n"); + for (i = 0; i < nbytes; i++) + memMWrt1(adr++, *buf++); +} + +/* + * Optimized version of the previous function + * Mostly used by SSC_READ + * 04/21/99 S.Eranian + */ +extern void cmdwPrint(const char *, ...); +void memBBWrt_opt(ADDR adr, const BYTE *buf, unsigned nbytes) +{ + unsigned i, nwords; + unsigned long long *p = (unsigned long long *)buf; + + /* + * sanity check: note that we assume that the destination buffer + * is aligned correctly. + */ + if ((unsigned long) buf & 0x7) { + memBBWrt(adr, buf, nbytes); + return; + } + + /* let's be safe here */ + if ( adr & 0x7 ) { + memBBWrt(adr, buf, nbytes); + return; + } + + nwords = nbytes >> 3; + for (i = 0; i < nwords; i++) { + memMWrt8(adr, *p++); + adr += 8; + } + if (nbytes & 7) { + memBBWrt(adr, (BYTE *) p, (nbytes & 7)); + } +} + +/* + * Fixes a problem with system call emulation where + * we would copy into a non yet mapped page. The called to pmemLookup_p() + * ensures that we actually get a physical page at whatever address we're + * passing (user-mode only, abi=YES). + * As an optimization only call pmemLookup_p() when necessary and not + * for every byte. + * 06/23/99 S.Eranian + */ +void memBBWrt_alloc(ADDR adr, const BYTE *buf, unsigned nbytes) +{ + unsigned i; + + /* touch and possibly allocate first page */ + pmemLookup_p(page_base(adr)); + + for (i = 0; i < nbytes; i++) { + + /* only touch at page boundary */ + if ( (adr & (page_size-1)) ==0 ) { + pmemLookup_p(page_base(adr)); + } + memMWrt1(adr++, *buf++); + } +} + +/* Called by some SSCs */ +BOOL memBBRdP(ADDR adr, BYTE *buf, unsigned nbytes) +{ + ADDR pg_start, pg_end, pa; + BYTE *pb; + unsigned start_bytes, end_bytes; + + adr = BitfR(adr,1,63); /* XXX - is this necessary? */ + + if (!nbytes) + for (;;) { + if (!(pb = pmemMLookup_b(adr))) + return NO; + if (!(*buf = *pb)) + return YES; + adr++; + buf++; + } + + pg_start = page_base(adr); + pg_end = page_base(adr+nbytes-1); + + /* Special case for reading from a single page */ + if (pg_start == pg_end) { + pb = (BYTE *)pmemLookup_p(pg_start); + (void)memcpy(buf, pb+page_offset(adr), nbytes); + return YES; + } + + start_bytes = page_size - page_offset(adr); + end_bytes = adr + nbytes - pg_end; + + /* Copy partial first page */ + pb = (BYTE *)pmemLookup_p(pg_start); + (void)memcpy(buf, pb+page_offset(adr), start_bytes); + buf += start_bytes; + + /* Copy entire middle pages */ + for (pa = pg_start+page_size; pa < pg_end; pa += page_size) { + pb = (BYTE *)pmemLookup_p(pa); + (void)memcpy(buf, pb, page_size); + buf += page_size; + } + + /* Copy partial last page */ + pb = (BYTE *)pmemLookup_p(pg_end); + (void)memcpy(buf, pb, end_bytes); + return YES; +} + +/* Called by some SSCs */ +void memBBWrtP(ADDR adr, const BYTE *buf, unsigned nbytes) +{ + ADDR pg_start, pg_end, pa; + BYTE *pb; + unsigned start_bytes, end_bytes; + + adr = BitfR(adr,1,63); /* XXX - is this necessary? */ + pg_start = page_base(adr); + pg_end = page_base(adr+nbytes-1); + + /* Special case for writing to a single page */ + if (pg_start == pg_end) { + pb = (BYTE *)pmemLookup_p(pg_start); + (void)memcpy(pb+page_offset(adr), buf, nbytes); + return; + } + + start_bytes = page_size - page_offset(adr); + end_bytes = adr + nbytes - pg_end; + + /* Copy partial first page */ + pb = (BYTE *)pmemLookup_p(pg_start); + (void)memcpy(pb+page_offset(adr), buf, start_bytes); + buf += start_bytes; + + /* Copy entire middle pages */ + for (pa = pg_start+page_size; pa < pg_end; pa += page_size) { + pb = (BYTE *)pmemLookup_p(pa); + (void)memcpy(pb, buf, page_size); + buf += page_size; + } + + /* Copy partial last page */ + pb = (BYTE *)pmemLookup_p(pg_end); + (void)memcpy(pb, buf, end_bytes); +} + +void memFree(ADDR adr) +{ + pmemStruct *p, *q; + ADDR padr = page_base(adr); + unsigned hash = PmemHash(adr); + + for (q = NULL, p = pmemHshTbl[hash]; p; q = p, p = p->next) + if (p->padr == padr) { + if (q) + q->next = p->next; + else + pmemHshTbl[hash] = p->next; + free(p); + return; + } +} + +void memFreeAll(void) +{ + int i; + pmemStruct *p, *q; + + for (i = 0; i < PMEMHSHSZ; i++) { + for (p = pmemHshTbl[i]; p; p = q) { + free(p->pmem); + q = p->next; + free(p); + } + pmemHshTbl[i] = NULL; + } +} + +static BOOL unallocMRd(ADDR adr, int size, DWORD *pval) +{ + IS_t x; + + x.addr = adr; + x.size = size; + if (iomLoad(&x) == 2) { + *pval = x.data; + return YES; + } else + return NO; +} + +static void unallocPageRd(ADDR adr, int size, DWORD *pval) +{ + IS_t x; + + if (abi) { + if (allocOK(adr)) { + (void)pmemLookup_p(adr); + *pval = 0; + if (size == 16) + *(pval + 1) = 0; + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.size = size; + switch (ioLoad(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + (void)pmemLookup_p(adr); + *pval = 0; + if (size == 16) + *(pval + 1) = 0; + break; + case 2: + *pval = x.data; + if (size == 16) + *(pval + 1) = x.fpnt; + break; + } +} + +static void unallocPageWrt1(ADDR adr, BYTE val) +{ + IS_t x; + + if (abi) { + if (allocOK(adr)) { + *((BYTE *)pmemLookup_p(adr)) = val; + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.data = val; + x.size = 1; + switch (ioStore(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + *((BYTE *)pmemLookup_p(adr)) = val; + break; + case 2: + break; + } +} + +static void unallocPageWrt2(ADDR adr, HWORD val, BOOL be) +{ + IS_t x; + + val = FIX_BYTEORDER_H(be, val); + if (abi) { + if (allocOK(adr)) { + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 2); + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.data = val; + x.size = 2; + switch (ioStore(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 2); + break; + case 2: + break; + } +} + +static void unallocPageWrt4(ADDR adr, WORD val, BOOL be) +{ + IS_t x; + + val = FIX_BYTEORDER_W(be, val); + if (abi) { + if (allocOK(adr)) { + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 4); + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.data = val; + x.size = 4; + switch (ioStore(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 4); + break; + case 2: + break; + } +} + +static void unallocPageWrt8(ADDR adr, DWORD val, BOOL be) +{ + IS_t x; + + val = FIX_BYTEORDER_D(be, val); + if (abi) { + if (allocOK(adr)) { + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 8); + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.data = val; + x.size = 8; + switch (ioStore(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + (void)memcpy((BYTE *)pmemLookup_p(adr), &val, 8); + break; + case 2: + break; + } +} + +static void unallocPageWrt16(ADDR adr, DWORD val1, DWORD val2, BOOL be) +{ + IS_t x; + BYTE *p; + + FIX_BYTEORDER_Q(be, val1, val2, val1, val2); + if (abi) { + if (allocOK(adr)) { + p = (BYTE *)pmemLookup_p(adr); + (void)memcpy(p, &val1, 8); + (void)memcpy(p + 8, &val2, 8); + return; + } else { + segfault(adr); + return; + } + } + x.addr = adr; + x.data = val1; + x.fpnt = val2; + x.size = 16; + switch (ioStore(&x)) { + case 0: + progExit("Illegal address\n"); + case 1: + p = (BYTE *)pmemLookup_p(adr); + (void)memcpy(p, &val1, 8); + (void)memcpy(p + 8, &val2, 8); + break; + case 2: + break; + } +} + + +/* + * Save/Restore Routines + */ + +BOOL memGet(Meminfo_p *list) +{ + int i; + pmemStruct *p; + Meminfo_p pm; + + *list = NULL; + for (i = 0; i < PMEMHSHSZ; i++) + for (p = pmemHshTbl[i]; p; p = p->next) { + if (!(pm = malloc(sizeof *pm))) + /* XXX - free what has already been malloc'ed? */ + return NO; + pm->startadr = p->padr; + /* XXX - why always 1? -- page_size would at least be more + abstract */ + pm->numpgs = 1; + pm->mdata = (void*)p->pmem; + pm->next = *list; + *list = pm; + } + /* XXX - the memory malloc'ed here is never freed -- either add a function + to free it or have caller manage it + */ + + return YES; +} + +void memZerosPageSet(ADDR adr) +{ + (void)pmemLookup_p(page_base(adr)); +} + +void memSet(ADDR adr, REG val) +{ + DWORD *pg = pmemLookup_p(adr); + *pg = val; +} + +/******************************/ +/* iA instruction memory read */ +/******************************/ + +BOOL memIAIRd(ADDR4 eip, BYTE *pval, unsigned nbytes) +{ + BYTE *pb; + ADDR adr = IPfromEIP(eip); + + /* XXX - need to deal with CS limits/faults */ + if (!dosABI && !itlbLookup(adr, PSR_IT, &adr)) + return NO; + for ( ; nbytes; nbytes--) { + if (!(pb = pmemLookup_b(adr++))) + return NO; + *pval++ = *pb; + } + return YES; +} + +/**************************************/ +/* monitor iA instruction memory read */ +/**************************************/ + +/* called by ibptLoad() */ +BOOL memMIAIRd(ADDR4 eip, BYTE *pval, unsigned nbytes) +{ + BYTE *pb; + ADDR adr = IPfromEIP(eip); + + if (!dosABI && !itlbMLookup(adr, PSR_IT, &adr)) + return NO; + for ( ; nbytes; adr++, nbytes--) { + if (!(pb = pmemMLookup_b(adr))) + return NO; + *pval++ = *pb; + } + return YES; +} + +/***************************************/ +/* monitor iA instruction memory write */ +/***************************************/ + +/* called by cmdIALoad(), ibptLoad(), ibptUnload() */ +BOOL memMIAIWrt(ADDR adr, BYTE *pval, unsigned nbytes) +{ + BYTE *pb; + + if (!dosABI && !itlbMLookup(adr, PSR_IT, &adr)) + return NO; + for ( ; nbytes; adr++, nbytes--) { + pb = pmemMLookup_b(adr); + if (pb == NULL) + pb = (BYTE*)pmemLookup_p(adr); + *pb = *pval++; + } + return YES; +} + +/******************/ +/* iA memory read */ +/******************/ + +/* Data breakpoints and DBR matching are not supported in IA32 mode. */ +/* That's why there are no calls to dbptCheck and the size passed to */ +/* to dtlbLookup is 1 to avoid unaligned data faults. */ +Status memIAadrRd(ADDR adr, BYTE size, Accesstype acc, ADDR *padr, ADDR *padr2, + IADWORD *pval) +{ + BYTE *pb, *pb1, *pb2, *pb3, *pb4, *pb5, p1size, p2size; + unsigned i; + DWORD d; + ADDR eadr; + + switch (size) { + case 1: + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) + *pval = *pb; + else { + unallocPageRd(adr, 1, &d); + *pval = d; + } + } + break; + case 2: + if (page_base(eadr = adr + 1) == page_base(adr)) { /* 1 page */ + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + *padr2 = adr + 2; + /* XXX - should we try to optimize aligned references? */ + /* XXX - add unaligned fault */ + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) + *pval = *(pb+1) << 8 | *pb; + else { + unallocPageRd(adr, 2, &d); + *pval = d; + } + } + } else { /* page crossing */ + if (!dosABI && + (dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1 || + dtlbLookup(eadr, 1, acc, PSR_CPL, PSR_DT, &eadr) == -1)) + return 0; + *padr2 = page_base(eadr); + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr)) && + (pb1 = pmemMLookup_b(eadr))) + *pval = *pb1 << 8 | *pb; + else { + if (!pb) { + unallocPageRd(adr, 1, &d); + *pval = d; + } else + *pval = *pb; + if (!pb1) { + unallocPageRd(eadr, 1, &d); + *pval |= d << 8; + } else + *pval |= *pb1 << 8; + } + } + } + break; + case 4: + if (page_base(eadr = adr + 3) == page_base(adr)) { /* 1 page */ + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + *padr2 = adr + 4; + /* XXX - should we try to optimize aligned references? */ + /* XXX - add unaligned fault */ + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) + *pval = *(pb+3) << 24 | *(pb+2) << 16 | *(pb+1) << 8 | *pb; + else { + unallocPageRd(adr, 4, &d); + *pval = d; + } + } + } else { /* page crossing */ + if (!dosABI && + (dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1 || + dtlbLookup(eadr, 1, acc, PSR_CPL, PSR_DT, &eadr) == -1)) + return 0; + *padr2 = page_base(eadr); + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr)) && + (pb3 = pmemMLookup_b(eadr))) { + switch ((BYTE)adr & 3) { + /* case 0 is aligned and can't cross page */ + case 1: + pb1 = pb + 1; + pb2 = pb + 2; + break; + case 2: + pb1 = pb + 1; + pb2 = pb3 - 1; + break; + case 3: + pb1 = pb3 - 2; + pb2 = pb3 - 1; + break; + } + *pval = *pb3 << 24 | *pb2 << 16 | *pb1 << 8 | *pb; + } else { + /* XXX - fix this - see size 2 above */ + progExit("memIAadrRd, size 4, unalloc page crossing\n"); + } + } + } + break; + case 6: + if (page_base(eadr = adr + 5) == page_base(adr)) { /* 1 page */ + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + *padr2 = adr + 6; + /* XXX - should we try to optimize aligned references? */ + /* XXX - add unaligned fault */ + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) { + *pval = *(pb+3) << 24 | *(pb+2) << 16 | *(pb+1) << 8 | *pb; + *(pval+1) = *(pb+5) << 8 | *(pb+4); + } else { + unallocPageRd(adr, 6, &d); + *pval = (IADWORD)d; + *(pval+1) = (IADWORD)(d >> 32); + } + } + } else { /* page crossing */ + if (!dosABI && + (dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1 || + dtlbLookup(eadr, 1, acc, PSR_CPL, PSR_DT, &eadr) == -1)) + return 0; + *padr2 = page_base(eadr); + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr)) && + (pb5 = pmemMLookup_b(eadr))) { + switch ((BYTE)adr & 7) { + /* cases 0 - 2 can't cross page */ + case 3: + pb1 = pb + 1; + pb2 = pb + 2; + pb3 = pb + 3; + pb4 = pb + 4; + break; + case 4: + pb1 = pb + 1; + pb2 = pb + 2; + pb3 = pb + 3; + pb4 = pb5 - 1; + break; + case 5: + pb1 = pb + 1; + pb2 = pb + 2; + pb3 = pb5 - 2; + pb4 = pb5 - 1; + break; + case 6: + pb1 = pb + 1; + pb2 = pb5 - 3; + pb3 = pb5 - 2; + pb4 = pb5 - 1; + break; + case 7: + pb1 = pb5 - 4; + pb2 = pb5 - 3; + pb3 = pb5 - 2; + pb4 = pb5 - 1; + break; + } + *pval = *pb3 << 24 | *pb2 << 16 | *pb1 << 8 | *pb; + *(pval+1) = *pb5 << 8 | *pb4; + } else { + /* XXX - fix this - see size 2 above */ + progExit("memIAadrRd, size 6, unalloc page crossing\n"); + } + } + } + break; + case 16: /* for pusha/popa */ + if (page_base(eadr = adr + 15) == page_base(adr)) { /* 1 page */ + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + *padr2 = adr + 16; + /* XXX - should we try to optimize aligned references? */ + /* XXX - add unaligned fault */ + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) { + *pval = *(pb+1) << 8 | *pb; + *(pval+1) = *(pb+3) << 8 | *(pb+2); + *(pval+2) = *(pb+5) << 8 | *(pb+4); + *(pval+3) = *(pb+7) << 8 | *(pb+6); + *(pval+4) = *(pb+9) << 8 | *(pb+8); + *(pval+5) = *(pb+11) << 8 | *(pb+10); + *(pval+6) = *(pb+13) << 8 | *(pb+12); + *(pval+7) = *(pb+15) << 8 | *(pb+14); + } else { + unallocPageRd(adr, 2, &d); + *pval = d; + unallocPageRd(adr+2, 2, &d); + *(pval+1) = d; + unallocPageRd(adr+4, 2, &d); + *(pval+2) = d; + unallocPageRd(adr+6, 2, &d); + *(pval+3) = d; + unallocPageRd(adr+8, 2, &d); + *(pval+4) = d; + unallocPageRd(adr+10, 2, &d); + *(pval+5) = d; + unallocPageRd(adr+12, 2, &d); + *(pval+6) = d; + unallocPageRd(adr+14, 2, &d); + *(pval+7) = d; + } + } + } else { /* page crossing */ + p1size = page_base(eadr) - adr; + p2size = eadr - page_base(eadr) + 1; + if (!dosABI && + (dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1 || + dtlbLookup(eadr, 1, acc, PSR_CPL, PSR_DT, &eadr) == -1)) + return 0; + *padr2 = page_base(eadr); + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(page_base(eadr)))) { + for (i = 0; p1size; --p1size) { + if (i % 2 == 0) + *pval = 0; + *pval |= *pb++ << ((i % 2) * 8); + if (++i % 2 == 0) + pval++; + } + for ( ; p2size; --p2size) { + if (i % 2 == 0) + *pval = 0; + *pval |= *pb2++ << ((i % 2) * 8); + if (++i % 2 == 0) + pval++; + } + } else { + /* XXX - fix this - see above */ + progExit("memIAadrRd, size 16, unalloc page crossing\n"); + } + } + } + break; + case 32: /* for pushad/popad */ + if (page_base(eadr = adr + 31) == page_base(adr)) { /* 1 page */ + if (!dosABI && dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1) + return 0; + *padr2 = adr + 32; + /* XXX - should we try to optimize aligned references? */ + /* XXX - add unaligned fault */ + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr))) { + *pval = + *(pb+3) << 24 | *(pb+2) << 16 | + *(pb+1) << 8 | *pb; + *(pval+1) = + *(pb+7) << 24 | *(pb+6) << 16 | + *(pb+5) << 8 | *(pb+4); + *(pval+2) = + *(pb+11) << 24 | *(pb+10) << 16 | + *(pb+9) << 8 | *(pb+8); + *(pval+3) = + *(pb+15) << 24 | *(pb+14) << 16 | + *(pb+13) << 8 | *(pb+12); + *(pval+4) = + *(pb+19) << 24 | *(pb+18) << 16 | + *(pb+17) << 8 | *(pb+16); + *(pval+5) = + *(pb+23) << 24 | *(pb+22) << 16 | + *(pb+21) << 8 | *(pb+20); + *(pval+6) = + *(pb+27) << 24 | *(pb+26) << 16 | + *(pb+25) << 8 | *(pb+24); + *(pval+7) = + *(pb+31) << 24 | *(pb+30) << 16 | + *(pb+29) << 8 | *(pb+28); + } else { + unallocPageRd(adr, 4, &d); + *pval = d; + unallocPageRd(adr+4, 4, &d); + *(pval+1) = d; + unallocPageRd(adr+8, 4, &d); + *(pval+2) = d; + unallocPageRd(adr+12, 4, &d); + *(pval+3) = d; + unallocPageRd(adr+16, 4, &d); + *(pval+4) = d; + unallocPageRd(adr+20, 4, &d); + *(pval+5) = d; + unallocPageRd(adr+24, 4, &d); + *(pval+6) = d; + unallocPageRd(adr+28, 4, &d); + *(pval+7) = d; + } + } + } else { /* page crossing */ + p1size = page_base(eadr) - adr; + p2size = eadr - page_base(eadr) + 1; + if (!dosABI && + (dtlbLookup(adr, 1, acc, PSR_CPL, PSR_DT, &adr) == -1 || + dtlbLookup(eadr, 1, acc, PSR_CPL, PSR_DT, &eadr) == -1)) + return 0; + *padr2 = page_base(eadr); + if (acc & READ_ACCESS) { + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(page_base(eadr)))) { + for (i = 0; p1size; --p1size) { + if (i % 4 == 0) + *pval = 0; + *pval |= *pb++ << ((i % 4) * 8); + if (++i % 4 == 0) + pval++; + } + for ( ; p2size; --p2size) { + if (i % 4 == 0) + *pval = 0; + *pval |= *pb2++ << ((i % 4) * 8); + if (++i % 4 == 0) + pval++; + } + } else { + /* XXX - fix this - see above */ + progExit("memIAadrRd, size 32, unalloc page crossing\n"); + } + } + } + break; + default: + progExit("memIAadrRd - unsupported size %d\n", size); + break; + } + /* padr gets physical address corresponding to adr passed in. + * padr2 gets padr + size if access is all on one page or + * the physical address of the base of the second page if the access + * crossed a 4K page boundary. + */ + *padr = adr; + return 1; +} + +Status memIARd(BYTE seg, ADDR4 ofs, BYTE size, Accesstype acc, ADDR *padr, + ADDR *padr2, IADWORD *pval) +{ + ADDR adr; + IASegDescPtr segd = &SEGD(seg); + + /* XXX - add segment limit check, null segment check, etc. */ + adr = segd->base + ofs; + return memIAadrRd(adr, size, acc, padr, padr2, pval); +} + +/*******************/ +/* iA memory write */ +/*******************/ + +/* Data breakpoints are not supported in IA32 mode */ + +void memIAWrt(BYTE size, ADDR adr, ADDR adr2, IADWORD val) +{ + BYTE *pb, *pb2; + + switch (size) { + case 1: + if ((pb = pmemMLookup_b(adr))) + *pb = val; + else + unallocPageWrt1(adr, val); + break; + case 2: + if (adr2 == adr + 2) { /* 1 page */ + /* XXX - should we try to optimize aligned references? */ + if ((pb = pmemMLookup_b(adr))) { + *pb = val; + *(pb+1) = val >> 8; + } else + unallocPageWrt2(adr, val, NO); + } else { /* page crossing */ + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(adr2))) { + *pb = val; + *pb2 = val >> 8; + } else { + unallocPageWrt1(adr, val); + unallocPageWrt1(adr2, val >> 8); + } + } + break; + case 4: + if (adr2 == adr + 4) { /* 1 page */ + /* XXX - should we try to optimize aligned references? */ + if ((pb = pmemMLookup_b(adr))) { + *pb = val; + *(pb+1) = val >> 8; + *(pb+2) = val >> 16; + *(pb+3) = val >> 24; + } else + unallocPageWrt4(adr, val, NO); + } else { /* page crossing */ + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(adr2))) { + *pb = val; + switch ((BYTE)adr & 3) { + /* case 0 is aligned and can't cross page */ + case 1: + *(pb+1) = val >> 8; + *(pb+2) = val >> 16; + *pb2 = val >> 24; + break; + case 2: + *(pb+1) = val >> 8; + *pb2 = val >> 16; + *(pb2+1) = val >> 24; + break; + case 3: + *pb2 = val >> 8; + *(pb2+1) = val >> 16; + *(pb2+2) = val >> 24; + break; + } + } else { + unallocPageWrt1(adr, val); + switch ((BYTE)adr & 3) { + case 1: + unallocPageWrt1(adr+1, val >> 8); + unallocPageWrt1(adr+2, val >> 16); + unallocPageWrt1(adr2, val >> 24); + break; + case 2: + unallocPageWrt1(adr+1, val >> 8); + unallocPageWrt1(adr2, val >> 16); + unallocPageWrt1(adr2+1, val >> 24); + break; + case 3: + unallocPageWrt1(adr2, val >> 8); + unallocPageWrt1(adr2+1, val >> 16); + unallocPageWrt1(adr2+2, val >> 24); + break; + } + } + } + break; + case 6: + /* XXX - fix this */ + progExit("memIAWrt called with size 6\n"); + break; + case 16: /* for pusha */ + /* although size is 16, we only write 2 bytes - caller loops 8 times */ + if (page_base(adr) == page_base(adr+1)) { /* 1 page */ + /* XXX - should we try to optimize aligned references? */ + if ((pb = pmemMLookup_b(adr))) { + *pb = val; + *(pb+1) = val >> 8; + } else + unallocPageWrt2(adr, val, NO); + } else { /* page crossing */ + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(adr2))) { + *pb = val; + *pb2 = val >> 8; + } else { + unallocPageWrt1(adr, val); + unallocPageWrt1(adr2, val >> 8); + } + } + break; + case 32: /* for pushad */ + /* although size is 32, we only write 4 bytes - caller loops 8 times */ + if (page_base(adr) == page_base(adr+3)) { /* 1 page */ + /* XXX - should we try to optimize aligned references? */ + if ((pb = pmemMLookup_b(adr))) { + *pb = val; + *(pb+1) = val >> 8; + *(pb+2) = val >> 16; + *(pb+3) = val >> 24; + } else + unallocPageWrt4(adr, val, NO); + } else { /* page crossing */ + if ((pb = pmemMLookup_b(adr)) && + (pb2 = pmemMLookup_b(adr2))) { + *pb = val; + switch ((BYTE)adr & 3) { + /* case 0 is aligned and can't cross page */ + case 1: + *(pb+1) = val >> 8; + *(pb+2) = val >> 16; + *pb2 = val >> 24; + break; + case 2: + *(pb+1) = val >> 8; + *pb2 = val >> 16; + *(pb2+1) = val >> 24; + break; + case 3: + *pb2 = val >> 8; + *(pb2+1) = val >> 16; + *(pb2+2) = val >> 24; + break; + } + } else { + unallocPageWrt1(adr, val); + switch ((BYTE)adr & 3) { + case 1: + unallocPageWrt1(adr+1, val >> 8); + unallocPageWrt1(adr+2, val >> 16); + unallocPageWrt1(adr2, val >> 24); + break; + case 2: + unallocPageWrt1(adr+1, val >> 8); + unallocPageWrt1(adr2, val >> 16); + unallocPageWrt1(adr2+1, val >> 24); + break; + case 3: + unallocPageWrt1(adr2, val >> 8); + unallocPageWrt1(adr2+1, val >> 16); + unallocPageWrt1(adr2+2, val >> 24); + break; + } + } + } + break; + default: + progExit("memIAWrt - unsupported size %d\n", size); + break; + } +} + +void setABI(BOOL val) +{ + abi = dosABI = unixABI = val; +} + + +/*******************************/ +/* Page Table Display routines */ +/*******************************/ + +size_t pageTableDisplaySize(void) +{ + int i; + pmemStruct *p; + size_t size = 0; + + for (i = 0; i < PMEMHSHSZ; i++) + for (p = pmemHshTbl[i]; p; p = p->next) +#if 0 + size += 17; +#else + size += 40; +#endif + return size; +} + +void getPageTableInfo(char buf[]) +{ + int i; + pmemStruct *p; + char *s = buf; + + for (i = 0; i < PMEMHSHSZ; i++) + for (p = pmemHshTbl[i]; p; p = p->next) +#if 0 + s += sprintf(s, "%016llx\n", p->padr); +#else + s += sprintf(s, "%016llx %p\n", p->padr, (void *)p->pmem); +#endif +} diff --git a/src/memory.h b/src/memory.h new file mode 100644 index 0000000..10b3867 --- /dev/null +++ b/src/memory.h @@ -0,0 +1,198 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Memory Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_MEMORY_H_ +#define _SKI_MEMORY_H_ + +#include "types.h" +#include "sim.h" + +/* Access Types */ + +typedef enum { + READ_ACCESS = 1, + WRITE_ACCESS = 1 << 1, + MEM_ACCESS = 1 << 2, + SPEC_ACCESS = 1 << 3, + ADV_ACCESS = 1 << 4, + RSE_ACCESS = 1 << 5, + VHPT_ACCESS = 1 << 6, + NA_ACCESS = 1 << 7, + PROBE_ACCESS = 1 << 8, + FAULT_ACCESS = 1 << 9, + TPA_MASK = 1 << 10, + FC_MASK = 1 << 11, + TAK_MASK = 1 << 12, + FETCHADD_ACCESS = 1 << 13 +} Accesstypemask; + +typedef enum { + EXECUTE_ACCESS, + MEM_LD_ACCESS = MEM_ACCESS | READ_ACCESS, + MEM_ST_ACCESS = MEM_ACCESS | WRITE_ACCESS, + MEM_SEMA_ACCESS = MEM_ACCESS | READ_ACCESS | WRITE_ACCESS, + MEM_FETCHADD_ACCESS = MEM_SEMA_ACCESS | FETCHADD_ACCESS, + MEM_LDST_ACCESS = MEM_ACCESS | READ_ACCESS | WRITE_ACCESS, + SPEC_LD_ACCESS = MEM_ACCESS | READ_ACCESS | SPEC_ACCESS, + ADV_LD_ACCESS = MEM_ACCESS | READ_ACCESS | ADV_ACCESS, + SPEC_ADV_LD_ACCESS = MEM_ACCESS | READ_ACCESS | SPEC_ACCESS | ADV_ACCESS, + RSE_LD_ACCESS = RSE_ACCESS | READ_ACCESS, + RSE_ST_ACCESS = RSE_ACCESS | WRITE_ACCESS, + VHPT_RD_ACCESS = VHPT_ACCESS | READ_ACCESS, + LFETCH_ACCESS = MEM_ACCESS | NA_ACCESS | READ_ACCESS, + LFETCH_FAULT_ACCESS = MEM_ACCESS | NA_ACCESS | READ_ACCESS | FAULT_ACCESS, + /* LFETCH_FAULT_ACCESS is not currently used. LFETCH_ACCESS is + used by lfetch.fault */ + PROBER_ACCESS = PROBE_ACCESS | NA_ACCESS | READ_ACCESS, + PROBEW_ACCESS = PROBE_ACCESS | NA_ACCESS | WRITE_ACCESS, + PROBERF_ACCESS = PROBER_ACCESS | FAULT_ACCESS, + PROBEWF_ACCESS = PROBEW_ACCESS | FAULT_ACCESS, + PROBERW_ACCESS = PROBER_ACCESS | PROBEW_ACCESS | FAULT_ACCESS, + TPA_ACCESS = TPA_MASK | NA_ACCESS, + FC_ACCESS = FC_MASK | NA_ACCESS | READ_ACCESS, + TPA_FC_ACCESS = TPA_MASK | FC_MASK | NA_ACCESS, + TAK_ACCESS = TAK_MASK | NA_ACCESS +} Accesstype; + +typedef union { + WORD w[2]; + DWORD d; +} CDT; + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +#define swaph(src) ((((src) >> 8) & 0xff) | (((src) & 0xff) << 8)) +#define swapw(src) (((src) >> 24) | (((src) >> 8) & 0xff00) | \ + (((src) << 8) & 0xff0000) | ((src) << 24)) +#if BYTE_ORDER == BIG_ENDIAN +# define swapd(src) (((REG)swapw(((CDT *)&src)->w[1]) << 32) | \ + swapw(((CDT *)&src)->w[0])) +#else /* BYTE_ORDER == LITTLE_ENDIAN */ +# define swapd(src) (((REG)swapw(((CDT *)&src)->w[0]) << 32) | \ + swapw(((CDT *)&src)->w[1])) +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +/* Prototypes */ + +#if defined __cplusplus +extern "C" { +#endif /* defined __cplusplus */ + +BOOL memIsMapped(ADDR adr); +BOOL memLPF(ADDR adr, Accesstype atype); +int memRd1(ADDR adr, Accesstype atype, BYTE *pval); +int memRd2(ADDR adr, Accesstype atype, HWORD *pval); +int memRd4(ADDR adr, Accesstype atype, WORD *pval); +int memRd8(ADDR adr, Accesstype atype, DWORD *pval); +int memRd16(ADDR adr, Accesstype atype, QWORD *pval); +int specRd1(ADDR adr, Accesstype atype, BYTE *pval); +int specRd2(ADDR adr, Accesstype atype, HWORD *pval); +int specRd4(ADDR adr, Accesstype atype, WORD *pval); +int specRd8(ADDR adr, Accesstype atype, DWORD *pval); +int specRd16(ADDR adr, Accesstype atype, QWORD *pval); +BOOL rseRd(ADDR adr, DWORD *pval); +BOOL vhptRd(ADDR adr, DWORD *ptpa, DWORD *ptar, DWORD *ptag); + +BOOL memWrt1(ADDR adr, BYTE val); +BOOL memWrt2(ADDR adr, HWORD val); +BOOL memWrt4(ADDR adr, WORD val); +BOOL memWrt8(ADDR adr, DWORD val); +BOOL memWrt10(ADDR adr, DWORD val1, DWORD val2); +BOOL memWrt16(ADDR adr, DWORD val1, DWORD val2); +BOOL rseWrt(ADDR adr, DWORD val); + +BOOL memXchg(ADDR adr, unsigned size, REG val, REG *pval); +BOOL memXchgAdd(ADDR adr, unsigned size, int inc, REG *pval); +BOOL memXchgCond(ADDR adr, unsigned size, REG val, REG *pval); +BOOL memXchg16Cond(ADDR adr, REG val1, REG val2, REG *pval); + +BOOL memMRd(ADDR adr, unsigned size, DWORD *pval); +BOOL vhptMRd(ADDR adr, DWORD *ptpa, DWORD *ptar, DWORD *ptag); + + +BOOL memMWrt(ADDR adr, unsigned size, DWORD val); + +BOOL memMIRd(ADDR adr, DWORD *pval); +void memMPRd(ADDR adr, DWORD *pval); +BOOL memBBRd(ADDR adr, BYTE *buf, unsigned nbytes); +BOOL memBBRdP(ADDR adr, BYTE *buf, unsigned nbytes); +void memBBWrt(ADDR adr, const BYTE *buf, unsigned nbytes); +void memBBWrtP(ADDR adr, const BYTE *buf, unsigned nbytes); +void memMPMap(ADDR start, char *hostadr, size_t len); +void memBBWrt_opt(ADDR adr, const BYTE *buf, unsigned nbytes); +void memBBWrt_alloc(ADDR adr, const BYTE *buf, unsigned nbytes); + +DWORD *pmemLookup(ADDR adr); +DWORD *pmemLookup_p(ADDR adr); +BOOL pmemMap(ADDR adr, void *hostadr); + +BOOL memIAIRd(WORD eip, BYTE *pval, unsigned nbytes); +Status memIAadrRd(ADDR adr, BYTE size, Accesstype acc, + ADDR *padr, ADDR *padr2, IADWORD *pval); +Status memIARd(BYTE seg, WORD ofs, BYTE size, Accesstype acc, ADDR *padr, + ADDR *padr2, IADWORD *pval); +void memIAWrt(BYTE size, ADDR adr, ADDR adr2, WORD val); + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +# error "Endianness is unknown!" +#endif + +#if BYTE_ORDER == BIG_ENDIAN +# define FIX_BYTEORDER_H(be,x) (!(be) ? swaph(x) : (x)) +# define FIX_BYTEORDER_W(be,x) (!(be) ? swapw(x) : (x)) +# define FIX_BYTEORDER_D(be,x) (!(be) ? swapd(x) : (x)) +# define FIX_BYTEORDER_Q(be,msb,lsb,lo,hi) \ + do { \ + DWORD _lo = (lo), _hi = (hi); \ + \ + if (be) { \ + (msb) = _lo; \ + (lsb) = _hi; \ + } else { \ + (lsb) = swapd(_lo); \ + (msb) = swapd(_hi); \ + } \ + } while (0) +#else +# define FIX_BYTEORDER_H(be,x) ((be) ? swaph(x) : (x)) +# define FIX_BYTEORDER_W(be,x) ((be) ? swapw(x) : (x)) +# define FIX_BYTEORDER_D(be,x) ((be) ? swapd(x) : (x)) +# define FIX_BYTEORDER_Q(be,msb,lsb,lo,hi) \ + do { \ + DWORD _lo = (lo), _hi = (hi); \ + \ + if (be) { \ + (msb) = swapd(_lo); \ + (lsb) = swapd(_hi); \ + } else { \ + (lsb) = _lo; \ + (msb) = _hi; \ + } \ + } while (0) +#endif + +#if defined __cplusplus +} +#endif /* defined __cplusplus */ + +#endif /* _SKI_MEMORY_H_ */ diff --git a/src/memui.c b/src/memui.c new file mode 100644 index 0000000..9387421 --- /dev/null +++ b/src/memui.c @@ -0,0 +1,50 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Memory UI Code + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include "std.h" +#include "bits.h" +#include "types.h" +#include "fields.h" +#include "state.h" +BOOL dtlbMLookup(ADDR va, int at, unsigned pl, BOOL virtual, ADDR *pa); +BOOL itlbMLookup(ADDR va, BOOL virtual, ADDR *pa); + +BOOL dataTranslate(ADDR va, BOOL rd, ADDR *pa) +{ + int at = rd ? 0 : 2; + + if (abi) { + *pa = va; + return YES; + } + return dtlbMLookup(va, at, PSR_CPL, PSR_DT, pa); +} + +BOOL instTranslate(ADDR va, ADDR *pa) +{ + if (abi) { + *pa = va; + return YES; + } + return itlbMLookup(va, PSR_IT, pa); +} diff --git a/src/memui.h b/src/memui.h new file mode 100644 index 0000000..bb75857 --- /dev/null +++ b/src/memui.h @@ -0,0 +1,28 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Memory UI Header + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef _SKI_MEMUI_H +#define _SKI_MEMUI_H + +BOOL memMRd(int cproc, ADDR adr, unsigned size, DWORD *pval); +BOOL memMIAIRd(WORD eip, BYTE *pval, unsigned nbytes); + +#endif /* _SKI_MEMUI_H */ diff --git a/src/menu.c b/src/menu.c new file mode 100644 index 0000000..0db82d9 --- /dev/null +++ b/src/menu.c @@ -0,0 +1,765 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- + * + * Simulator Menu Routines + * + * Copyright (C) 1995-2007, Hewlett-Packard Development Company, L.P. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/*##################### Header and Constant Definitions ####################*/ + +#include +#include "std.h" +#include "types.h" +#include "ssDCmd.h" +#include "exportui.h" +#include "coreui.h" +#include "libsym.h" +#include "libsrs.h" +#include "libcore.h" /* for setDerivedState, and get*TlbInfo */ + +#define MENUTBLSIZ 200 + +/*##################### Local Variables ####################################*/ + +static unsigned topmenu; + +static BOOL cmdHelp(unsigned argc, char *argv[]); +#if 0 +static BOOL dummyCmd(unsigned argc, char *argv[]); +#endif +static BOOL cmdSLst(unsigned argc, char *argv[]); +static BOOL showInstTlb(unsigned argc, char *argv[]); +static BOOL showDataTlb(unsigned argc, char *argv[]); +static BOOL showPageTable(unsigned argc, char *argv[]); +static BOOL showGrMap(unsigned argc, char *argv[]); +static BOOL stateSave(unsigned argc, char *argv[]); +static BOOL cmdEscape(unsigned argc, char *argv[]); + +/*##################### Globals - Imports ##################################*/ + +extern int scrn_lines; + +#if 0 +/* io.c */ +BOOL cmdJnl(unsigned argc, char *argv[]); +#endif + +#if 0 +/* ssCch.c */ +BOOL dcchShow(unsigned argc, char *argv[]); +BOOL icchShow(unsigned argc, char *argv[]); +#endif + +/* ssDBT.c */ +BOOL bptDisplay(unsigned argc, char *argv[]); +BOOL bptSet(unsigned argc, char *argv[]); +BOOL bptDelete(unsigned argc, char *argv[]); +BOOL bptDAll(unsigned argc, char *argv[]); +BOOL iAbptSet(unsigned argc, char *argv[]); +BOOL dbptDisplay(unsigned argc, char *argv[]); +BOOL dbptSet(unsigned argc, char *argv[]); +BOOL dbptDelete(unsigned argc, char *argv[]); +BOOL dbptDAll(unsigned argc, char *argv[]); +BOOL tbDisplay(unsigned argc, char *argv[]); + +#if 0 +/* ssDBrk.c */ +BOOL ainfAssign(unsigned argc, char *argv[]); +BOOL aoutfAssign(unsigned argc, char *argv[]); +BOOL aerrfAssign(unsigned argc, char *argv[]); + +/* ssDCMP.c */ +BOOL cmdMacDef(unsigned argc, char *argv[]); +BOOL cmdMDel(unsigned argc, char *argv[]); +BOOL cmdMLst(unsigned argc, char *argv[]); +#endif + +/* ssDCmd.c */ +BOOL cmdSysEsc(unsigned argc, char *argv[]); +BOOL cmdComment(unsigned argc, char *argv[]); +BOOL cmdEval(unsigned argc, char *argv[]); + +BOOL cmdExit(unsigned argc, char *argv[]); +BOOL cmdSource(unsigned argc, char *argv[]); +BOOL cmdGoto(unsigned argc, char *argv[]); + +#if 0 +BOOL cmdRedirect(unsigned argc, char *argv[]); +#endif +BOOL cmdLoad(unsigned argc, char *argv[]); +BOOL cmdIALoad(unsigned argc, char *argv[]); +BOOL cmdROMLoad(unsigned argc, char *argv[]); +BOOL cmdFWLoad(unsigned argc, char *argv[]); +#if 0 +BOOL cmdDirSet(unsigned argc, char *argv[]); +BOOL cmdAdopt(unsigned argc, char *argv[]); +#endif +BOOL cmdIf(unsigned argc, char *argv[]); + +/* ssDDM.c */ +BOOL valAssign(unsigned argc, char *argv[]); +BOOL byteAssign(unsigned argc, char *argv[]); +BOOL hwAssign(unsigned argc, char *argv[]); +BOOL wordAssign(unsigned argc, char *argv[]); +BOOL dwordAssign(unsigned argc, char *argv[]); +BOOL stringAssign(unsigned argc, char *argv[]); +BOOL instrAssign(unsigned argc, char *argv[]); +BOOL templAssign(unsigned argc, char *argv[]); +BOOL dasmDump(unsigned argc, char *argv[]); +BOOL dataDump(unsigned argc, char *argv[]); + +#if 0 +BOOL grClear(unsigned argc, char *argv[]); +BOOL memDump(unsigned argc, char *argv[]); +BOOL spcGBds(unsigned argc, char *argv[]); +BOOL pagGProt(unsigned argc, char *argv[]); + +/* ssDPE.c */ +BOOL cmdInit(unsigned argc, char *argv[]); +BOOL runProg(unsigned argc, char *argv[]); +BOOL runallProg(unsigned argc, char *argv[]); +BOOL contProg(unsigned argc, char *argv[]); +BOOL contallProg(unsigned argc, char *argv[]); +BOOL stopProg(unsigned argc, char *argv[]); +BOOL stepallProg(unsigned argc, char *argv[]); +BOOL pstDump(unsigned argc, char *argv[]); +#endif + +/* ssDSM.c */ +BOOL prgwFwd(unsigned argc, char *argv[]); +BOOL prgwBkwd(unsigned argc, char *argv[]); +BOOL prgwJump(unsigned argc, char *argv[]); +BOOL prgwAsm(unsigned argc, char *argv[]); +BOOL prgwMixed(unsigned argc, char *argv[]); +BOOL prgwSrc(unsigned argc, char *argv[]); +BOOL datwExpr(unsigned argc, char *argv[]); +BOOL datwFwd(unsigned argc, char *argv[]); +BOOL datwBkwd(unsigned argc, char *argv[]); +BOOL datwJump(unsigned argc, char *argv[]); +BOOL datwHex(unsigned argc, char *argv[]); +BOOL datwBndl(unsigned argc, char *argv[]); +BOOL datwST(unsigned argc, char *argv[]); +BOOL datwAT(unsigned argc, char *argv[]); + +/* ui.c */ +BOOL regwFwd(unsigned argc, char *argv[]); +BOOL regwBkwd(unsigned argc, char *argv[]); +BOOL regwDump(unsigned argc, char *argv[]); +BOOL showUrs(unsigned argc, char *argv[]); +BOOL showSrs(unsigned argc, char *argv[]); +BOOL showGrs(unsigned argc, char *argv[]); +BOOL showFrs(unsigned argc, char *argv[]); +BOOL showIArs(unsigned argc, char *argv[]); + +/* ssDSym.c */ +BOOL cmdISymLst(unsigned argc, char *argv[]); +#if 0 +BOOL cmdSymDef(unsigned argc, char *argv[]); +#endif +static BOOL cmdSDel(unsigned argc, char *argv[]); + +/* trace.c */ +BOOL traceFile(unsigned argc, char *argv[]); +BOOL traceGen(unsigned argc, char *argv[]); + +#if 0 +/* ssIO.c */ +BOOL cmdIOLoadSom(unsigned argc, char *argv[]); +BOOL cmdIOLoadBinary(unsigned argc, char *argv[]); + +/* ssReg.c */ +BOOL cmdRegLst(unsigned argc, char *argv[]); + +/* ssVAT.c */ +BOOL dtlbShow(unsigned argc, char *argv[]); +BOOL itlbShow(unsigned argc, char *argv[]); + +/* ssXDSD.c */ +BOOL cmdUpdate(unsigned argc, char *argv[]); +BOOL cmdRedraw(unsigned argc, char *argv[]); + +/* stack.c */ +BOOL cmdStkTrc(unsigned argc, char *argv[]); +#endif + +/* ski.c */ +BOOL runProg(unsigned argc, char *argv[]); +BOOL stepProg(unsigned argc, char *argv[]); + +BOOL cstkDisplay(unsigned argc, char *argv[]); +BOOL showLoadModules(unsigned argc, char *argv[]); + +void uiDtrInsert(unsigned slot, ADDR tva, ADDR tpa, ADDR tar); +void uiItrInsert(unsigned slot, ADDR tva, ADDR tpa, ADDR tar); +static BOOL cmdItr_d(unsigned argc, char *argv[]); +static BOOL cmdItr_i(unsigned argc, char *argv[]); + +/*##################### Globals - Exports ##################################*/ + +MENU cmdmenu[MENUTBLSIZ] = { +#if 1 +/* comment out commands not yet implemented */ + {".", 1, 1, "source a file of simulator commands", cmdSource, + "\t. "}, + {"!", 1, MAXARGS, "execute external command", cmdEscape, + "\t! "}, + {"=", 2, 2, "assign value to register/internal symbol", valAssign, + "\t= "}, + {"=1", 2, MAXARGS, "assign byte(s) to memory location(s)", byteAssign, + "\t=1
{}+"}, + {"=2", 2, MAXARGS, "assign halfword(s) to memory location(s)", + hwAssign, "\t=2
{}+"}, + {"=4", 2, MAXARGS, "assign word(s) to memory location(s)", wordAssign, + "\t=4
{}+"}, + {"=8", 2, MAXARGS, "assign dbl-word(s) to memory location(s)", + dwordAssign, "\t=8
{}+"}, + {"=i", 2, MAXARGS, "assign instruction(s) to slot location(s)", + instrAssign, "\t=i
{}+"}, + {"=s", 2, MAXARGS, "assign a character string to memory location(s)", + stringAssign, "\t=s
"}, + {"=t", 2, MAXARGS, "assign template(s) to bundle location(s)", + templAssign, "\t=t
{